Rename SYSTEMD_BBCLASS_ENABLED to INHIBIT_UPDATERCD_BBCLASS to reflect it's side-effect for clarity.
Signed-off-by: Ross Burton <[email protected]> --- meta/classes/systemd.bbclass | 10 ++++++---- meta/classes/update-rc.d.bbclass | 8 +++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass index f622f9c..e1129c6 100644 --- a/meta/classes/systemd.bbclass +++ b/meta/classes/systemd.bbclass @@ -10,11 +10,13 @@ SYSTEMD_AUTO_ENABLE ??= "enable" # even if the systemd DISTRO_FEATURE isn't enabled. As such don't make any # changes directly but check the DISTRO_FEATURES first. python __anonymous() { - if "systemd" in d.getVar("DISTRO_FEATURES", True).split(): + features = d.getVar("DISTRO_FEATURES", True).split() + # If the distro features have systemd but not sysvinit, inhibit update-rcd + # from doing any work so that pure-systemd images don't have redundant init + # files. + if "systemd" in features and "sysvinit" not in features: d.appendVar("DEPENDS", " systemd-systemctl-native") - # Set a variable so that update-rcd.bbclass knows we're active and can - # disable itself. - d.setVar("SYSTEMD_BBCLASS_ENABLED", "1") + d.setVar("INHIBIT_UPDATERCD_BBCLASS", "1") } systemd_postinst() { diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass index 06b91c1..e527fcc 100644 --- a/meta/classes/update-rc.d.bbclass +++ b/meta/classes/update-rc.d.bbclass @@ -75,12 +75,10 @@ python populate_packages_updatercd () { postrm += d.getVar('updatercd_postrm', True) d.setVar('pkg_postrm_%s' % pkg, postrm) - # Run if the sysvinit feature is present, or if the systemd feature is present - # but the systemd class hasn't been inherited. We want to run in the latter case - # as systemd has sysvinit compatibility, but we don't want to always so that - # pure systemd images don't have redundent sysvinit files. + # Check that this class isn't being inhibited (generally, by + # systemd.bbclass) before doing any work. if "sysvinit" in d.getVar("DISTRO_FEATURES").split() or \ - ("systemd" in d.getVar("DISTRO_FEATURES").split() and not d.getVar("SYSTEMD_BBCLASS_ENABLED", True)): + not d.getVar("INHIBIT_UPDATERCD_BBCLASS", True): pkgs = d.getVar('INITSCRIPT_PACKAGES', True) if pkgs == None: pkgs = d.getVar('UPDATERCPN', True) -- 1.7.10.4 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
