[oe-commits] Ross Burton : update-rc.d: don't do anything if systemd. bbclass is inherited

git at git.openembedded.org git at git.openembedded.org
Tue Feb 12 16:37:59 UTC 2013


Module: openembedded-core.git
Branch: master-next
Commit: 0273a22fec3c9360df2510b759c5bf9af610551f
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=0273a22fec3c9360df2510b759c5bf9af610551f

Author: Ross Burton <ross.burton at intel.com>
Date:   Fri Feb  8 22:43:16 2013 +0000

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 at intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 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 f9d55fb..51ad8b1 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)
 }





More information about the Openembedded-commits mailing list