From 55ba8ea8636bd4401aaad3d3e3441872cc974596 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 28 Feb 2013 16:28:28 +0000 Subject: [PATCH] update-rcd.bbclass: handle both sysvinit and systemd features being present Run the helper 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 run so that pure systemd images don't have redundant sysvinit files. (From OE-Core rev: a3856ab19f1d4ae312f559521785ad4384700729) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/update-rc.d.bbclass | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass index 65bf022e49..06b91c10ed 100644 --- a/meta/classes/update-rc.d.bbclass +++ b/meta/classes/update-rc.d.bbclass @@ -75,9 +75,12 @@ python populate_packages_updatercd () { postrm += d.getVar('updatercd_postrm', True) d.setVar('pkg_postrm_%s' % pkg, postrm) - # If the systemd class has also been inherited, then don't do anything as - # the systemd units will override anything created by update-rc.d. - if not d.getVar("SYSTEMD_BBCLASS_ENABLED", True): + # 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. + if "sysvinit" in d.getVar("DISTRO_FEATURES").split() or \ + ("systemd" in d.getVar("DISTRO_FEATURES").split() and not d.getVar("SYSTEMD_BBCLASS_ENABLED", True)): pkgs = d.getVar('INITSCRIPT_PACKAGES', True) if pkgs == None: pkgs = d.getVar('UPDATERCPN', True)