X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fqueue.py;h=cde85301cf43126ddafc09182fd087fac3b85271;hb=77dc932880d95b604f1e4c7527403804fb7a833c;hp=b652f844370f3409c8badd37df2ce86caa3d4998;hpb=886522194878afe478e4dd61397493f35b5b0e5d;p=dak.git diff --git a/daklib/queue.py b/daklib/queue.py index b652f844..cde85301 100755 --- a/daklib/queue.py +++ b/daklib/queue.py @@ -56,16 +56,6 @@ from textutils import fix_maintainer from lintian import parse_lintian_output, generate_reject_messages from contents import UnpackedSource -# suppress some deprecation warnings in squeeze related to apt_pkg -# module -import warnings -warnings.filterwarnings('ignore', \ - "apt_pkg.ParseSection\(\) is deprecated. Please see apt_pkg\.TagSection\(\) for the replacement\.", \ - DeprecationWarning) -warnings.filterwarnings('ignore', \ - "Attribute 'Find' of the 'apt_pkg\.TagSection' object is deprecated, use 'find' instead\.", \ - DeprecationWarning) - ############################################################################### def get_type(f, session): @@ -298,10 +288,10 @@ class TarTime(object): self.future_files = {} self.ancient_files = {} - def callback(self, Kind, Name, Link, Mode, UID, GID, Size, MTime, Major, Minor): - if MTime > self.future_cutoff: + def callback(self, member, data): + if member.mtime > self.future_cutoff: self.future_files[Name] = MTime - if MTime < self.past_cutoff: + if member.mtime < self.past_cutoff: self.ancient_files[Name] = MTime ############################################################################### @@ -1274,7 +1264,7 @@ class Upload(object): session.close() - return True + return (len(self.rejects) == 0) ########################################################################### @@ -1630,19 +1620,8 @@ class Upload(object): if entry["type"] == "deb": tar.reset() try: - deb_file = utils.open_file(filename) - apt_inst.debExtract(deb_file, tar.callback, "control.tar.gz") - deb_file.seek(0) - try: - apt_inst.debExtract(deb_file, tar.callback, "data.tar.gz") - except SystemError, e: - # If we can't find a data.tar.gz, look for data.tar.bz2 instead. - if not re.search(r"Cannot f[ui]nd chunk data.tar.gz$", str(e)): - raise - deb_file.seek(0) - apt_inst.debExtract(deb_file,tar.callback,"data.tar.bz2") - - deb_file.close() + deb = apt_inst.DebFile(filename) + deb.control.go(tar.callback) future_files = tar.future_files.keys() if future_files: @@ -2461,6 +2440,8 @@ distribution.""" if self.logger: self.logger.log(["rejected", self.pkg.changes_file]) + stats = SummaryStats() + stats.reject_count += 1 return 0 ################################################################################ @@ -2557,6 +2538,12 @@ distribution.""" # Check versions for each target suite for target_suite in self.pkg.changes["distribution"].keys(): + # Check we can find the target suite + ts = get_suite(target_suite) + if ts is None: + self.rejects.append("Cannot find target suite %s to perform version checks" % target_suite) + continue + must_be_newer_than = [ vc.reference.suite_name for vc in get_version_checks(target_suite, "MustBeNewerThan") ] must_be_older_than = [ vc.reference.suite_name for vc in get_version_checks(target_suite, "MustBeOlderThan") ]