[Piuparts-commits] [piuparts] 16/20: p-s: only keep Packages information for reserved packages

Holger Levsen holger at moszumanska.debian.org
Sat Nov 23 20:23:35 UTC 2013


This is an automated email from the git hooks/post-receive script.

holger pushed a commit to branch develop
in repository piuparts.

commit 1bf690346474ba09195afd38fa72048d3f9cfc2a
Author: Andreas Beckmann <anbe at debian.org>
Date:   Sun Nov 17 12:16:58 2013 +0100

    p-s: only keep Packages information for reserved packages
    
    to reduce memory footprint
    
    Signed-off-by: Andreas Beckmann <anbe at debian.org>
---
 debian/changelog  | 1 +
 piuparts-slave.py | 5 ++++-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 780f2c5..89c19dc 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -19,6 +19,7 @@ piuparts (0.56) UNRELEASED; urgency=low
     - Use locking to prevent concurrent basetgz creation.  (Closes: #708287)
     - Use the "components" setting to restrict the archive areas being used
       in the generated sources.list.
+    - Reduce memory footprint by discarding unneeded Packages file parts.
   * piuparts-report.py:
     - Report URLs of all Packages files used for a section.
     - Avoid reporting duplicate dependencies after stripping versioning.
diff --git a/piuparts-slave.py b/piuparts-slave.py
index 59b0d33..87dc810 100644
--- a/piuparts-slave.py
+++ b/piuparts-slave.py
@@ -593,6 +593,7 @@ class Section:
     def _process(self):
         self._slave.close()
 
+        packagenames = set([x[0] for x in self._slave.get_reserved()])
         packages_files = {}
         for distro in [self._config.get_distro()] + self._config.get_distros():
             if distro not in packages_files:
@@ -602,12 +603,14 @@ class Section:
                             self._distro_config.get_packages_urls(
                                 distro,
                                 self._config.get_area(),
-                                self._config.get_arch()))
+                                self._config.get_arch()),
+                            packagenames)
                     packages_files[distro] = pf
                 except IOError:
                     logging.error("failed to fetch packages file for %s" % distro)
                     self._error_wait_until = time.time() + 900
                     return 0
+        del packagenames
 
         test_count = 0
         self._check_tarball()

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/piuparts/piuparts.git



More information about the Piuparts-commits mailing list