]> code.ossystems Code Review - openembedded-core.git/commitdiff
lib/oe/package_manager: remove package feed lists
authorStefan Agner <stefan.agner@toradex.com>
Wed, 27 Jan 2016 23:14:26 +0000 (15:14 -0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 31 Jan 2016 13:29:37 +0000 (13:29 +0000)
Remove opkg package feed lists after generating the rootfs. The
lists have been generated by the local feed but are no longer
necessary after image generation. This still leaves the package
management fully usable (and hence is different from omitting
package-management from IMAGE_FEATURES).

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oe/package_manager.py
meta/lib/oe/rootfs.py

index 3f9e4e3b60d4c2d6a354b287d6cf0e629e93c0ef..5776952523101030673226aaf2d9f403f015fd3a 100644 (file)
@@ -1432,10 +1432,11 @@ class OpkgPM(PackageManager):
         if not os.path.exists(self.d.expand('${T}/saved')):
             bb.utils.mkdirhier(self.d.expand('${T}/saved'))
 
-        if (self.d.getVar('BUILD_IMAGES_FROM_FEEDS', True) or "") != "1":
-            self._create_config()
-        else:
+        self.from_feeds = (self.d.getVar('BUILD_IMAGES_FROM_FEEDS', True) or "") == "1"
+        if self.from_feeds:
             self._create_custom_config()
+        else:
+            self._create_config()
 
         self.indexer = OpkgIndexer(self.d, self.deploy_dir)
 
@@ -1638,6 +1639,10 @@ class OpkgPM(PackageManager):
         # create the directory back, it's needed by PM lock
         bb.utils.mkdirhier(self.opkg_dir)
 
+    def remove_lists(self):
+        if not self.from_feeds:
+            bb.utils.remove(os.path.join(self.opkg_dir, "lists"), True)
+
     def list_installed(self):
         return OpkgPkgsList(self.d, self.target_rootfs, self.config_file).list_pkgs()
 
index 0e901c24052a79214e0d772baf03a4929c0a9638..0f835d311b9a635ad6bc6ad4ef0d1ac13db05509 100644 (file)
@@ -949,7 +949,7 @@ class OpkgRootfs(DpkgOpkgRootfs):
         self._log_check_error()
 
     def _cleanup(self):
-        pass
+        self.pm.remove_lists()
 
 def get_class_for_type(imgtype):
     return {"rpm": RpmRootfs,