From: Luca Falavigna Date: Sun, 12 Dec 2010 01:46:10 +0000 (+0000) Subject: Move common code to the new get_packages_from_ftp() X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=26fd1f178ce88c250744d85d6bc15765d9ccf203;p=dak Move common code to the new get_packages_from_ftp() Signed-off-by: Luca Falavigna --- diff --git a/dak/override.py b/dak/override.py index 6d5b82e8..ddb829b6 100755 --- a/dak/override.py +++ b/dak/override.py @@ -28,7 +28,6 @@ import os import sys import apt_pkg -import commands from daklib.config import Config from daklib.dbconn import * @@ -67,16 +66,7 @@ def check_override_compliance(package, priority, suite, cnf, session): arches -= set(["source", "all"]) for arch in arches: for component in components: - filename = "%s/dists/%s/%s/binary-%s/Packages.gz" % (cnf["Dir::Root"], suite, component, arch) - (fd, temp_filename) = utils.temp_filename() - (result, output) = commands.getstatusoutput("gunzip -c %s > %s" % (filename, temp_filename)) - if (result != 0): - utils.fubar("Gunzip invocation failed!\n%s\n" % (output), result) - filename = "%s/dists/%s/%s/debian-installer/binary-%s/Packages.gz" % (cnf["Dir::Root"], suite, component, arch) - if os.path.exists(filename): - (result, output) = commands.getstatusoutput("gunzip -c %s >> %s" % (filename, temp_filename)) - if (result != 0): - utils.fubar("Gunzip invocation failed!\n%s\n" % (output), result) + temp_filename = utils.get_packages_from_ftp(cnf['Dir::Root'], suite, component, arch) packages = utils.open_file(temp_filename) Packages = apt_pkg.ParseTagFile(packages) while Packages.Step(): diff --git a/dak/override_disparity.py b/dak/override_disparity.py index 7a3b2906..94e1e9e8 100755 --- a/dak/override_disparity.py +++ b/dak/override_disparity.py @@ -37,7 +37,6 @@ Generate a list of override disparities import os import sys import apt_pkg -import commands from daklib.config import Config from daklib.dbconn import * @@ -85,16 +84,7 @@ def main(): arches -= set(['source', 'all']) for arch in arches: for component in components: - filename = '%s/dists/%s/%s/binary-%s/Packages.gz' % (cnf['Dir::Root'], suite, component, arch) - (fd, temp_filename) = utils.temp_filename() - (result, output) = commands.getstatusoutput('gunzip -c %s > %s' % (filename, temp_filename)) - if (result != 0): - utils.fubar('Gunzip invocation failed!\n%s\n' % (output), result) - filename = '%s/dists/%s/%s/debian-installer/binary-%s/Packages.gz' % (cnf['Dir::Root'], suite, component, arch) - if os.path.exists(filename): - (result, output) = commands.getstatusoutput('gunzip -c %s >> %s' % (filename, temp_filename)) - if (result != 0): - utils.fubar('Gunzip invocation failed!\n%s\n' % (output), result) + temp_filename = utils.get_packages_from_ftp(cnf['Dir::Root'], suite, component, arch) packages_file = utils.open_file(temp_filename) Packages = apt_pkg.ParseTagFile(packages_file) while Packages.Step(): diff --git a/daklib/utils.py b/daklib/utils.py index 1756f58f..dffad274 100755 --- a/daklib/utils.py +++ b/daklib/utils.py @@ -1571,3 +1571,24 @@ def parse_wnpp_bug_file(file = "/srv/ftp-master.debian.org/scripts/masterfiles/w bugs.append(bug_no) wnpp[source] = bugs return wnpp + +################################################################################ + +def get_packages_from_ftp(root, suite, component, architecture): + """ + Returns a filename containing data collected by aggregating Packages.gz files + gathered for each architecture. + + Returned file has to be manually deleted afterwards. + """ + filename = "%s/dists/%s/%s/binary-%s/Packages.gz" % (root, suite, component, architecture) + (fd, temp_file) = temp_filename() + (result, output) = commands.getstatusoutput("gunzip -c %s > %s" % (filename, temp_file)) + if (result != 0): + fubar("Gunzip invocation failed!\n%s\n" % (output), result) + filename = "%s/dists/%s/%s/debian-installer/binary-%s/Packages.gz" % (root, suite, component, architecture) + if os.path.exists(filename): + (result, output) = commands.getstatusoutput("gunzip -c %s >> %s" % (filename, temp_file)) + if (result != 0): + fubar("Gunzip invocation failed!\n%s\n" % (output), result) + return temp_file