X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fpolicy.py;h=3c986c8071d678d2e74187785e8d584dcd936958;hb=3cab1066a3d166b418a4c85ade4b41937e3a850c;hp=943d5686659182e29de49b1e327b2bdbedc7270f;hpb=3f30db148883ec2970543f0e2a3aba74f1c3d754;p=dak.git diff --git a/daklib/policy.py b/daklib/policy.py index 943d5686..3c986c80 100644 --- a/daklib/policy.py +++ b/daklib/policy.py @@ -17,7 +17,7 @@ """module to process policy queue uploads""" from .config import Config -from .dbconn import BinaryMetadata, Component, MetadataKey, Override, OverrideType, Suite, get_mapped_component +from .dbconn import BinaryMetadata, Component, MetadataKey, Override, OverrideType, Suite, get_mapped_component, get_mapped_component_name from .fstransactions import FilesystemTransaction from .regexes import re_file_changes, re_file_safe from .packagelist import PackageList @@ -284,18 +284,14 @@ class PolicyQueueUploadHandler(object): for p in packages: check_override(p.name, p.type, p.priority, p.section, included=False) - source_component = '(unknown)' - for component, in self.session.query(Component.component_name).order_by(Component.ordering): - if component in components: - source_component = component - break - else: - if source is not None: - if self._source_override(component) is not None: - source_component = component - break + # see daklib.archive.source_component_from_package_list + # which we cannot use here as we might not have a Package-List + # field for old packages + mapped_components = [ get_mapped_component_name(c) for c in components ] + query = self.session.query(Component).order_by(Component.ordering) \ + .filter(Component.component_name.in_(mapped_components)) + source_component = query.first().component_name - if source is not None: override = self._source_override(source_component) if override is None: hint = hints_map.get(('dsc', source.source)) @@ -303,8 +299,8 @@ class PolicyQueueUploadHandler(object): missing.append(hint) else: section = 'misc' - if component != 'main': - section = "{0}/{1}".format(component, section) + if source_component != 'main': + section = "{0}/{1}".format(source_component, section) missing.append(dict( package = source.source, priority = 'extra',