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)