X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Farchive.py;h=9bb0106967e2e803ae844cce06f937cd7f34e82f;hb=7fde9ba21a43d92c369dc85562aa3dc5c73461d3;hp=2aaf86fd436d3cc6bb6ce9da2f4491d2c84be8ff;hpb=09a1a20566dcf84ca229b4339bd8f8080eb59afd;p=dak.git diff --git a/daklib/archive.py b/daklib/archive.py index 2aaf86fd..9bb01069 100644 --- a/daklib/archive.py +++ b/daklib/archive.py @@ -125,11 +125,10 @@ class ArchiveTransaction(object): @type fingerprint: L{daklib.dbconn.Fingerprint} @param fingerprint: optional fingerprint - @type source_suites: list of L{daklib.dbconn.Suite} or C{True} + @type source_suites: SQLAlchemy subquery for C{daklib.dbconn.Suite} or C{True} @param source_suites: suites to copy the source from if they are not in C{suite} or C{True} to allow copying from any suite. - This can also be a SQLAlchemy (sub)query object. @type extra_source_archives: list of L{daklib.dbconn.Archive} @param extra_source_archives: extra archives to copy Built-Using sources from @@ -913,7 +912,7 @@ class ArchiveUpload(object): changed_by = get_or_set_maintainer(control.get('Changed-By', control['Maintainer']), self.session) if source_suites is None: - source_suites = self.session.query(Suite).join((VersionCheck, VersionCheck.reference_id == Suite.suite_id)).filter(VersionCheck.suite == suite).subquery() + source_suites = self.session.query(Suite).join((VersionCheck, VersionCheck.reference_id == Suite.suite_id)).filter(VersionCheck.check == 'Enhances').filter(VersionCheck.suite == suite).subquery() source = self.changes.source if source is not None: @@ -1129,8 +1128,9 @@ class ArchiveUpload(object): # copy to build queues if policy_queue is None or policy_queue.send_to_build_queues: + source_suites = session.query(Suite).filter_by(suite_id=suite.suite_id).subquery() for build_queue in suite.copy_queues: - self._install_to_suite(build_queue.suite, source_component_func, binary_component_func, extra_source_archives=[suite.archive]) + self._install_to_suite(build_queue.suite, source_component_func, binary_component_func, source_suites=source_suites, extra_source_archives=[suite.archive]) self._do_bts_versiontracking()