image.bbclass: remove unneeded files from the image

This patch creates a new function, rootfs_remove_unneeded(), that will
be called after rootfs_*_do_rootfs is called and which will handle
delayed postinstalls in a generic fashion, for all backends in the same
way.

(From OE-Core rev: d3d810faf8e93ce2d3faaa70da6deeb25b1cec26)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Laurentiu Palcu 2013-05-21 14:27:49 +03:00 committed by Richard Purdie
parent b11f818307
commit 1ce182e79e
1 changed files with 33 additions and 0 deletions

View File

@ -303,6 +303,9 @@ fakeroot do_rootfs () {
rootfs_${IMAGE_PKGTYPE}_do_rootfs
# remove unneeded packages/files from the final image
rootfs_remove_unneeded
insert_feed_uris
if [ "x${LDCONFIGDEPEND}" != "x" ]; then
@ -463,6 +466,36 @@ rootfs_install_complementary() {
fi
}
rootfs_remove_unneeded () {
if ${@base_contains("IMAGE_FEATURES", "package-management", "false", "true", d)}; then
if [ -z "$(delayed_postinsts)" ]; then
# All packages were successfully configured.
# update-rc.d, base-passwd, run-postinsts are no further use, remove them now
remove_run_postinsts=false
if [ -e ${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts ]; then
remove_run_postinsts=true
fi
rootfs_remove_packages update-rc.d base-passwd ${ROOTFS_BOOTSTRAP_INSTALL}
# Need to remove rc.d files for run-postinsts by hand since opkg won't
# call postrm scripts in offline root mode.
if $remove_run_postinsts; then
update-rc.d -f -r ${IMAGE_ROOTFS} run-postinsts remove
fi
else
# Some packages were not successfully configured, save them only
# if we have run-postinsts script present. Otherwise, they're
# useless
if [ -e ${IMAGE_ROOTFS}${sysconfdir}/init.d/run-postinsts ]; then
save_postinsts
fi
fi
# Since no package manager is present in the image the metadata is not needed
remove_packaging_data_files
fi
}
# set '*' as the root password so the images
# can decide if they want it or not
zap_root_password () {