summaryrefslogtreecommitdiff
path: root/meta/classes/update-rc.d.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'meta/classes/update-rc.d.bbclass')
-rw-r--r--meta/classes/update-rc.d.bbclass9
1 files 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)