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

Attachment: signature.asc
Description: Digital signature

Reply via email to