From: Ansgar Burchardt Date: Thu, 31 Jul 2014 22:03:02 +0000 (+0200) Subject: Use Package-List to look for NEW binaries. X-Git-Url: https://git.donarmstrong.com/?p=dak.git;a=commitdiff_plain;h=55513d80673e99884067b8820ca1a0b3e9aeeeef Use Package-List to look for NEW binaries. --- diff --git a/daklib/archive.py b/daklib/archive.py index 372ab8a9..34350fec 100644 --- a/daklib/archive.py +++ b/daklib/archive.py @@ -739,6 +739,23 @@ class ArchiveUpload(object): suites = session.query(Suite).filter(Suite.suite_name.in_(suite_names)) return suites + def _check_new_binary_overrides(self, suite): + new = False + + binaries = self.changes.binaries + source = self.changes.source + if source is not None and not source.package_list.fallback: + packages = source.package_list.packages_for_suite(suite) + binaries = [ entry for entry in packages ] + + for b in binaries: + override = self._binary_override(suite, b) + if override is None: + self.warnings.append('binary:{0} is NEW.'.format(b.name)) + new = True + + return new + def _check_new(self, suite): """Check if upload is NEW @@ -753,12 +770,8 @@ class ArchiveUpload(object): new = False # Check for missing overrides - for b in self.changes.binaries: - override = self._binary_override(suite, b) - if override is None: - self.warnings.append('binary:{0} is NEW.'.format(b.control['Package'])) - new = True - + if self._check_new_binary_overrides(suite): + new = True if self.changes.source is not None: override = self._source_override(suite, self.changes.source) if override is None: @@ -804,7 +817,7 @@ class ArchiveUpload(object): @type suite: L{daklib.dbconn.Suite} @param suite: suite to get override for - @type binary: L{daklib.upload.Binary} + @type binary: L{daklib.upload.Binary} or L{daklib.packagelist.PackageListEntry} @param binary: binary to get override for @rtype: L{daklib.dbconn.Override} or C{None} @@ -817,7 +830,7 @@ class ArchiveUpload(object): if mapped_component is None: return None - query = self.session.query(Override).filter_by(suite=suite, package=binary.control['Package']) \ + query = self.session.query(Override).filter_by(suite=suite, package=binary.name) \ .join(Component).filter(Component.component_name == mapped_component.component_name) \ .join(OverrideType).filter(OverrideType.overridetype == binary.type)