image.bbclass: uninstall package only if it's already installed
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] (From OE-Core rev: b86dc63bc87763119fce8286f37f44361da824d0) Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
8c5f345497
commit
80203494aa
|
@ -513,7 +513,17 @@ rootfs_uninstall_unneeded () {
|
||||||
if [ -e ${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts ]; then
|
if [ -e ${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts ]; then
|
||||||
remove_run_postinsts=true
|
remove_run_postinsts=true
|
||||||
fi
|
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
|
# Need to remove rc.d files for run-postinsts by hand since opkg won't
|
||||||
# call postrm scripts in offline root mode.
|
# call postrm scripts in offline root mode.
|
||||||
|
|
Loading…
Reference in New Issue