summaryrefslogtreecommitdiff
path: root/meta/lib/oe
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2015-09-06 15:08:15 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-09-10 16:52:04 +0100
commit5dd5b8adc225d5c703d85fc0187ae65ff6067b58 (patch)
tree77f9d5773934021858b68715544c9bbf87e301e6 /meta/lib/oe
parent5827dd38d75da91d58d28a9f3daa8890f600d196 (diff)
downloadopenembedded-core-5dd5b8adc225d5c703d85fc0187ae65ff6067b58.tar.gz
openembedded-core-5dd5b8adc225d5c703d85fc0187ae65ff6067b58.tar.bz2
openembedded-core-5dd5b8adc225d5c703d85fc0187ae65ff6067b58.zip
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 <raj.khem@gmail.com>
Diffstat (limited to 'meta/lib/oe')
-rw-r--r--meta/lib/oe/rootfs.py10
1 files changed, 9 insertions, 1 deletions
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)