[OE-core] [PATCH V2 1/3] rootfs: Conditionally uninstall update-rc.d

Khem Raj raj.khem at gmail.com
Fri Sep 11 00:06:36 UTC 2015


update-rc.d is now needed by systemd to interact with sysv
scripts, so if we have a mixed system, then we can not uninstall
update-rc.d as it is going to break systemd functionality, we check for
sysvinit and sytemd in distro and also ensure that its not building an
image with readonly rootfs

Signed-off-by: Khem Raj <raj.khem at gmail.com>
---
 meta/lib/oe/rootfs.py | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index ba62273..6cc96e6 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -230,6 +230,14 @@ class Rootfs(object):
 
         runtime_pkgmanage = bb.utils.contains("IMAGE_FEATURES", "package-management",
                          True, False, self.d)
+        sysvcompat_in_distro = bb.utils.contains("DISTRO_FEATURES", [ "systemd", "sysvinit" ],
+                         True, False, self.d)
+        image_rorfs = bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs",
+                         True, False, self.d)
+        if sysvcompat_in_distro and not image_rorfs:
+            pkg_to_remove = ""
+        else:
+            pkg_to_remove = "update-rc.d"
         if not runtime_pkgmanage:
             # Remove components that we don't need if we're not going to install
             # additional packages at runtime
@@ -242,7 +250,7 @@ class Rootfs(object):
                         pkg = pkg_installed.split()[0]
                         if pkg in ["base-passwd",
                                 "shadow",
-                                "update-alternatives",
+                                "update-alternatives", pkg_to_remove,
                                 self.d.getVar("ROOTFS_BOOTSTRAP_INSTALL", True)
                                 ]:
                             pkgs_to_remove.append(pkg)
-- 
2.5.1




More information about the Openembedded-core mailing list