If IMAGE_FEATURES does not contain 'package-management' but the user
manually installs a package manager (opkg/dpkg/rpm) using
CORE_IMAGE_EXTRA_INSTALL (for example), then do not remove update-rc.d,
base-passwd and package metadata because these will be needed by the
package manager to function correcly.

[YOCTO #4484]

Signed-off-by: Laurentiu Palcu <laurentiu.pa...@intel.com>
---
 meta/classes/image.bbclass |    7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass
index 84f638c..e1a7367 100644
--- a/meta/classes/image.bbclass
+++ b/meta/classes/image.bbclass
@@ -498,7 +498,12 @@ rootfs_install_complementary() {
 }
 
 rootfs_uninstall_unneeded () {
-       if ${@base_contains("IMAGE_FEATURES", "package-management", "false", 
"true", d)}; then
+       rpm_installed=${@base_contains("PACKAGE_INSTALL", "rpm",  "true", 
"false", d)}
+       opkg_installed=${@base_contains("PACKAGE_INSTALL", "opkg", "true", 
"false", d)}
+       dpkg_installed=${@base_contains("PACKAGE_INSTALL", "dpkg", "true", 
"false", d)}
+
+       if ${@base_contains("IMAGE_FEATURES", "package-management", "false", 
"true", d)} &&\
+          ! $rpm_installed && ! $opkg_installed && ! $dpkg_installed; 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
-- 
1.7.9.5

_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to