diff options
author | Ross Burton <ross.burton@intel.com> | 2013-02-08 22:43:16 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-02-11 14:44:31 +0000 |
commit | 0273a22fec3c9360df2510b759c5bf9af610551f (patch) | |
tree | 544536e3d5d1a2cfa477312b11977ba83d30ec0e /meta/classes | |
parent | 6d89c6744a98dce1fee6a21f1dad1305f6bf6fb5 (diff) | |
download | openembedded-core-0273a22fec3c9360df2510b759c5bf9af610551f.tar.gz openembedded-core-0273a22fec3c9360df2510b759c5bf9af610551f.tar.bz2 openembedded-core-0273a22fec3c9360df2510b759c5bf9af610551f.zip |
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 <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/update-rc.d.bbclass | 19 |
1 files changed, 11 insertions, 8 deletions
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) } |