]> code.ossystems Code Review - openembedded-core.git/commitdiff
rootfs.py: Stop using installed_pkgs.txt
authorMariano Lopez <mariano.lopez@linux.intel.com>
Wed, 4 Nov 2015 07:50:47 +0000 (07:50 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 24 Nov 2015 15:55:29 +0000 (15:55 +0000)
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@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/lib/oe/rootfs.py

index 18df22d9a7e3f586716608cf081a40aaecde478f..c004a5b5dddd1ee7dd0f307690807a6e74f0ca6e 100644 (file)
@@ -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()