[OE-core] [PATCH 2/3] rootfs.py: Stop using installed_pkgs.txt

mariano.lopez at linux.intel.com mariano.lopez at linux.intel.com
Wed Nov 4 07:50:47 UTC 2015


From: Mariano Lopez <mariano.lopez at linux.intel.com>

The method _uninstall_unneeded uses the file installed_pkgs.txt,
this file is left after the build and can cause confusion. This
changes allow to get the installed packages using functions of
rootfs instead of the installed_pkgs.txt file. With this change
now is possible to remove the file without breaking anything.

[YOCTO #8444]

Signed-off-by: Mariano Lopez <mariano.lopez at linux.intel.com>
---
 meta/lib/oe/rootfs.py | 24 +++++++++---------------
 1 file changed, 9 insertions(+), 15 deletions(-)

diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py
index 18df22d..c004a5b 100644
--- a/meta/lib/oe/rootfs.py
+++ b/meta/lib/oe/rootfs.py
@@ -243,25 +243,19 @@ class Rootfs(object):
             # Remove components that we don't need if we're not going to install
             # additional packages at runtime
             if delayed_postinsts is None:
-                installed_pkgs_dir = self.d.expand('${WORKDIR}/installed_pkgs.txt')
+                pkgs_installed = image_list_installed_packages(self.d)
                 pkgs_to_remove = list()
-                with open(installed_pkgs_dir, "r+") as installed_pkgs:
-                    pkgs_installed = installed_pkgs.read().splitlines()
-                    for pkg_installed in pkgs_installed[:]:
-                        pkg = pkg_installed.split()[0]
-                        if pkg in ["update-rc.d",
-                                "base-passwd",
-                                "shadow",
-                                "update-alternatives", pkg_to_remove,
-                                self.d.getVar("ROOTFS_BOOTSTRAP_INSTALL", True)
-                                ]:
-                            pkgs_to_remove.append(pkg)
-                            pkgs_installed.remove(pkg_installed)
+                for pkg in pkgs_installed.split():
+                    if pkg in ["update-rc.d",
+                            "base-passwd",
+                            "shadow",
+                            "update-alternatives", pkg_to_remove,
+                            self.d.getVar("ROOTFS_BOOTSTRAP_INSTALL", True)
+                            ]:
+                        pkgs_to_remove.append(pkg)
 
                 if len(pkgs_to_remove) > 0:
                     self.pm.remove(pkgs_to_remove, False)
-                    # Update installed_pkgs.txt
-                    open(installed_pkgs_dir, "w+").write('\n'.join(pkgs_installed))
 
             else:
                 self._save_postinsts()
-- 
1.8.4.5




More information about the Openembedded-core mailing list