On Wed, Mar 12, 2014 at 01:08:43PM -0400, Rich Freeman wrote: > On Wed, Mar 12, 2014 at 12:52 PM, William Hubbs <willi...@gentoo.org> wrote: > > On Wed, Mar 12, 2014 at 09:14:58AM -0400, Ian Stakenvicius wrote: > >> ...why not? As you've said yourself, nothing related to openrc uses > >> /etc/init.d/functions.sh; if everything else in the tree is going to > >> use the new gentoo-functions "lib", why wouldn't custom end-user > >> scripts too? > >> > >> (again, scanned the bug, didn't see anything relevant to this) > > > > The relevance is that /etc/init.d/functions.sh is currently part of > > OpenRc's public API, and semantic versioning has a very specific > > description of how to deprecate functionality. > > > > If Gentoo needs the symlink after it is removed from OpenRc, I think > > that is the time we can talk about putting it in gentoo-functions. > > > > If the goal is to be able to remove openrc from systems, how does it > help that we might fix any breakage after openrc no longer provides > it?
I don't follow this question. > If the goal is to be able to remove openrc from systems, then > something else needs to provide the symlink. I guess in the meantime > users could just remove openrc and just manually install the symlink, > but that isn't really a clean solution. > > Otherwise openrc can't be removed until anything that sources this is > fixed. If it all does get fixed, then the symlink isn't even needed > (though I suppose openrc can still provide it for any other distros > that use it). Here is what I'm going to do inside openrc: /etc/init.d/functions.sh, which is a symlink now, will become an actual script that does the following: source "@LIBEXECDIR@"/sh/functions.sh ewarn "$0: sourcing /etc/init.d/functions.sh is deprecated." ewarn "This file will be removed in a future version of OpenRc, so please" ewarn "source \"@LIBEXECDIR@\"/sh/functions.sh if you need this functionality." Where @LIBEXECDIR@ is replaced at build time with OpenRc's libexecdir setting. From the gentoo side, when bugs are filed, the maintainers will have to make a decision about whether to source /lib/gentoo/functions.sh or @LIBEXECDIR@/sh/functions.sh based on whether their package really needs OpenRc specific functionality or not. Gentoo end users who are sourcing /etc/init.d/functions.sh will have to make the same decision. Non-gentoo end users will know what they have to do -- fix their scripts to source @LIBEXECDIR@/sh/functions.sh. So, I am having trouble seeing why the symlink will be needed at all after OpenRc removes this script in OpenRc 1.0. William
signature.asc
Description: Digital signature