From 0273a22fec3c9360df2510b759c5bf9af610551f Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Fri, 8 Feb 2013 22:43:16 +0000 Subject: update-rc.d: don't do anything if systemd.bbclass is inherited We need the update-rc.d class to work when systemd is being used so that packages that only have SysV init scripts still work. However if a recipe supports both we don't want to install SysV and systemd files under systemd. To solve this, before doing real work in update-rc.d check if the systemd class has been inherited and don't do anything if it has. Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/classes/update-rc.d.bbclass | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) (limited to 'meta/classes/update-rc.d.bbclass') diff --git a/meta/classes/update-rc.d.bbclass b/meta/classes/update-rc.d.bbclass index f9d55fbec8..51ad8b1ae9 100644 --- a/meta/classes/update-rc.d.bbclass +++ b/meta/classes/update-rc.d.bbclass @@ -75,12 +75,15 @@ python populate_packages_updatercd () { postrm += d.getVar('updatercd_postrm', True) d.setVar('pkg_postrm_%s' % pkg, postrm) - pkgs = d.getVar('INITSCRIPT_PACKAGES', True) - if pkgs == None: - pkgs = d.getVar('UPDATERCPN', True) - packages = (d.getVar('PACKAGES', True) or "").split() - if not pkgs in packages and packages != []: - pkgs = packages[0] - for pkg in pkgs.split(): - update_rcd_package(pkg) + # 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): + pkgs = d.getVar('INITSCRIPT_PACKAGES', True) + if pkgs == None: + pkgs = d.getVar('UPDATERCPN', True) + packages = (d.getVar('PACKAGES', True) or "").split() + if not pkgs in packages and packages != []: + pkgs = packages[0] + for pkg in pkgs.split(): + update_rcd_package(pkg) } -- cgit 1.2.3-korg