diff options
author | Mariano Lopez <mariano.lopez@linux.intel.com> | 2015-11-26 09:34:59 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-12-12 23:31:40 +0000 |
commit | 5aae19959a443c6ac4b0feef10715c8acf3c6376 (patch) | |
tree | d1f9b58d287386707db8162948a24cccd8d1929a | |
parent | 59c6c13a8fa1bfc8e0615463e00ccdef04a87a47 (diff) | |
download | openembedded-core-5aae19959a443c6ac4b0feef10715c8acf3c6376.tar.gz openembedded-core-5aae19959a443c6ac4b0feef10715c8acf3c6376.tar.bz2 openembedded-core-5aae19959a443c6ac4b0feef10715c8acf3c6376.zip |
rootfs.py: Change logic to unistall packages
In the current state some of the base utils (update-rc.d,
base-passwd, shadow, and update-alternatives) are unistalled
when there is no package manager in the image. Checking for
previous commits, the unistall of these utils were to be
done in a read-only filesystem.
It is a valid option to have these utils without a package
manager, and also make sense to remove them when building a
read-only filesystem.
This changes the check logic from having a package mananger
to if is a read-only filesystem to remove the utils.
Another change implemented with this patch is that delayed
post installs now doesn't depend if there is a package manager.
Also it is a valid option to have post install scripts without
package manger.
[YOCTO #8235]
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r-- | meta/lib/oe/rootfs.py | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index c004a5b5dd..a2af3325ee 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py @@ -239,26 +239,27 @@ class Rootfs(object): 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 - if delayed_postinsts is None: - pkgs_installed = image_list_installed_packages(self.d) - pkgs_to_remove = list() - for pkg in pkgs_installed.split(): - if pkg in ["update-rc.d", - "base-passwd", - "shadow", - "update-alternatives", pkg_to_remove, - self.d.getVar("ROOTFS_BOOTSTRAP_INSTALL", True) - ]: - pkgs_to_remove.append(pkg) - - if len(pkgs_to_remove) > 0: - self.pm.remove(pkgs_to_remove, False) - - else: - self._save_postinsts() + if image_rorfs: + # Remove components that we don't need if it's a read-only rootfs + pkgs_installed = image_list_installed_packages(self.d) + pkgs_to_remove = list() + for pkg in pkgs_installed.split(): + if pkg in ["update-rc.d", + "base-passwd", + "shadow", + "update-alternatives", pkg_to_remove, + self.d.getVar("ROOTFS_BOOTSTRAP_INSTALL", True) + ]: + pkgs_to_remove.append(pkg) + + if len(pkgs_to_remove) > 0: + self.pm.remove(pkgs_to_remove, False) + + if delayed_postinsts: + self._save_postinsts() + if image_rorfs: + bb.warn("There are post install scripts " + "in a read-only rootfs") post_uninstall_cmds = self.d.getVar("ROOTFS_POSTUNINSTALL_COMMAND", True) execute_pre_post_process(self.d, post_uninstall_cmds) |