From 5dd5b8adc225d5c703d85fc0187ae65ff6067b58 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 6 Sep 2015 15:08:15 +0000 Subject: rootfs: Conditionally uninstall update-rc.d 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 --- meta/lib/oe/rootfs.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'meta/lib/oe') diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index 2372226e78..3b53fce4ae 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 @@ -243,7 +251,7 @@ class Rootfs(object): if pkg in ["update-rc.d", "base-passwd", "shadow", - "update-alternatives", + "update-alternatives", pkg_to_remove, self.d.getVar("ROOTFS_BOOTSTRAP_INSTALL", True) ]: pkgs_to_remove.append(pkg) -- cgit 1.2.3-korg