From: Laurentiu Palcu Date: Tue, 21 May 2013 11:27:49 +0000 (+0300) Subject: image.bbclass: remove unneeded files from the image X-Git-Tag: rev_ivi_2015_02_04~12230 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=edfe28bd3e8b33811d989ea3991226693b5d05a1;p=scm%2Fbb%2Ftizen-distro.git 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 Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 04db533..380ed8e 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -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 () {