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, run-postinsts, and update-alternatives.
Signed-off-by: Stephano Cetola <stephano.cet...@linux.intel.com> --- meta/lib/oe/rootfs.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index ed0bab1..6939dce 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py @@ -253,6 +253,24 @@ 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", "run-postinsts"] + unneeded_pkgs.extend(self.d.getVar("ROOTFS_BOOTSTRAP_INSTALL", + True).split(",")) + pkgs_to_remove = [pkg for pkg in pkgs_installed if pkg in unneeded_pkgs] + + if len(pkgs_to_remove) > 0: + bb.warn("removing packages") + 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() @@ -271,8 +289,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 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core