[OE-core] [PATCH 1/2] systemd: set INHIBIT_UPDATERCD_BBCLASS without sysvinit in features

Martin Jansa martin.jansa at gmail.com
Mon Apr 8 19:03:28 UTC 2013


On Thu, Apr 04, 2013 at 11:38:41PM +0100, Richard Purdie wrote:
> On Thu, 2013-04-04 at 18:55 +0200, Martin Jansa wrote:
> > On Thu, Apr 04, 2013 at 05:46:48PM +0100, Richard Purdie wrote:
> > > On Thu, 2013-04-04 at 18:42 +0200, Martin Jansa wrote:
> > > > * fixes udev configure in run-postinsts failing with:
> > > >   update-rc.d: /etc/init.d/systemd-udev: file does not exist
> > > >   because systemd-udev is installed only with sysvinit in features
> > > >   but update-rc.d was always called from PN postinst
> > > > 
> > > > Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> > > > ---
> > > >  meta/recipes-core/systemd/systemd_199.bb | 6 ++++++
> > > >  1 file changed, 6 insertions(+)
> > > > 
> > > > diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
> > > > index ba1d133..e574548 100644
> > > > --- a/meta/recipes-core/systemd/systemd_199.bb
> > > > +++ b/meta/recipes-core/systemd/systemd_199.bb
> > > > @@ -239,6 +239,12 @@ INITSCRIPT_PACKAGES = "udev"
> > > >  INITSCRIPT_NAME_udev = "systemd-udevd"
> > > >  INITSCRIPT_PARAMS_udev = "start 03 S ."
> > > >  
> > > > +python __anonymous() {
> > > > +    features = d.getVar("DISTRO_FEATURES", True).split()
> > > > +    if "sysvinit" not in features:
> > > > +        d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1")
> > > > +}
> > > > +
> > > >  # TODO:
> > > >  # u-a for runlevel and telinit
> > > 
> > > Would this make sense to be in systemd.bbclass?
> > 
> > Similar logic is in systemd.bbclass already, but systemd is not inherited from
> > systemd and dbus recipes.
> 
> Ok, fair enough. I hadn't realised that.
> 
> > Also the version from systemd.bbclass does check also for systemd in
> > DISTRO_FEATURES, but that's not wanted here, because decision to install init.d
> > script is based only on sysvinit in DISTRO_FEATURES.
> > 
> > Lot's of fun with all init systems sharing the same PN :/.

There is also error from prerm :/

//var/lib/opkg/info/dbus-1.prerm: line 3: /etc/init.d/dbus-1: No such file or directory

updatercd_prerm() {
if test "x$D" = "x"; then
        ${INIT_D_DIR}/${INITSCRIPT_NAME} stop
fi
}

not sure if testing update-rc.d existence like in postinst/postrm 
if type update-rc.d >/dev/null 2>/dev/null; then
is right way, checking ${INIT_D_DIR}/${INITSCRIPT_NAME}
existence will possibly hide some real issues...

sigh
-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20130408/a9015249/attachment-0002.sig>


More information about the Openembedded-core mailing list