[OE-core] [PATCH 1/1] image.bbclass: uninstall package only if it's already installed
Qi.Chen at windriver.com
Qi.Chen at windriver.com
Sun Sep 22 09:34:18 UTC 2013
From: Chen Qi <Qi.Chen at windriver.com>
Remove a package from rootfs only if it's already installed. Also,
if a package is uninstalled, remove it from installed_pkgs.txt.
[YOCTO #5169]
Signed-off-by: Chen Qi <Qi.Chen at windriver.com>
---
meta/classes/image.bbclass | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 889547a..b4be509 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -510,7 +510,17 @@ rootfs_uninstall_unneeded () {
if [ -e ${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts ]; then
remove_run_postinsts=true
fi
- rootfs_uninstall_packages update-rc.d base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}
+
+ # Remove package only if it's installed
+ pkgs_to_remove="update-rc.d base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}"
+ for pkg in $pkgs_to_remove; do
+ # regexp for pkg, to be used in grep and sed
+ pkg_regexp="^`echo $pkg | sed 's/\./\\\./'` "
+ if grep -q "$pkg_regexp" ${WORKDIR}/installed_pkgs.txt; then
+ rootfs_uninstall_packages $pkg
+ sed -i "/$pkg_regexp/d" ${WORKDIR}/installed_pkgs.txt
+ fi
+ done
# Need to remove rc.d files for run-postinsts by hand since opkg won't
# call postrm scripts in offline root mode.
--
1.7.9.5
More information about the Openembedded-core
mailing list