[OE-core] [PATCH] rootfs.py: allow removal of support packages
Stephano Cetola
stephano.cetola at linux.intel.com
Wed Jul 6 22:56:44 UTC 2016
For images not containing a package manager, this allows the removal of support
packages based on the REMOVE_PKG_SUPPORT variable. Packages that will be
uninstalled include: update-rc.d, base-passwd, shadow and update-alternatives.
[ YOCTO #9491 ]
Signed-off-by: Stephano Cetola <stephano.cetola at linux.intel.com>
---
meta/lib/oe/rootfs.py | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index 1fc35bd..6f2b6ad 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -239,6 +239,22 @@ class Rootfs(object, metaclass=ABCMeta):
image_rorfs = bb.utils.contains("IMAGE_FEATURES", "read-only-rootfs",
True, False, self.d)
+ runtime_pkgmanage = bb.utils.contains("IMAGE_FEATURES", "package-management",
+ True, False, self.d)
+
+ if (not runtime_pkgmanage and self.d.getVar('REMOVE_PKG_SUPPORT', True) == "1"
+ and delayed_postinsts is None):
+ # Remove components that we don't need if we're not going to install
+ # additional packages at runtime
+ pkgs_installed = image_list_installed_packages(self.d)
+ unneeded_pkgs = ["update-rc.d", "base-passwd", "shadow",
+ "update-alternatives",
+ self.d.getVar("ROOTFS_BOOTSTRAP_INSTALL", True)]
+ pkgs_to_remove = [pkg for pkg in pkgs_installed if pkg in unneeded_pkgs]
+
+ if len(pkgs_to_remove) > 0:
+ self.pm.remove(pkgs_to_remove, False)
+
if image_rorfs:
# Remove components that we don't need if it's a read-only rootfs
unneeded_pkgs = self.d.getVar("ROOTFS_RO_UNNEEDED", True).split()
@@ -257,8 +273,6 @@ class Rootfs(object, metaclass=ABCMeta):
post_uninstall_cmds = self.d.getVar("ROOTFS_POSTUNINSTALL_COMMAND", True)
execute_pre_post_process(self.d, post_uninstall_cmds)
- runtime_pkgmanage = bb.utils.contains("IMAGE_FEATURES", "package-management",
- True, False, self.d)
if not runtime_pkgmanage:
# Remove the package manager data files
self.pm.remove_packaging_data()
--
2.9.0
More information about the Openembedded-core
mailing list