pu.changed_by = upload.changes.changedby
pu.fingerprint = upload.changes.fingerprint
- pu.suites = []
+ pu.suites = [ upload.target_suite ]
pu.from_policy_suites = [ upload.target_suite ]
changes_path = os.path.join(upload.policy_queue.path, upload.changes.changesname)
cnf = Config()
subst = _subst_for_upload(upload)
- accepted_to_real_suite = any(suite.policy_queue is None for suite in upload.suites)
+ accepted_to_real_suite = any(suite.policy_queue is None or suite in upload.from_policy_suites for suite in upload.suites)
suite_names = []
for suite in upload.suites:
# senf mail to announce lists and tracking server
announce = set()
for suite in upload.suites:
- if suite.policy_queue is None:
- continue
- announce.update(suite.announce or [])
+ if suite.policy_queue is None or suite in upload.from_policy_suites:
+ announce.update(suite.announce or [])
announce_list_address = ", ".join(announce)
if policy_queue is not None:
redirected_suite = policy_queue.suite
+ source_suites = self.session.query(Suite).filter(Suite.suite_id.in_([suite.suite_id, redirected_suite.suite_id])).subquery()
+
source_component_func = lambda source: self._source_override(overridesuite, source).component
binary_component_func = lambda binary: self._binary_component(overridesuite, binary)
- (db_source, db_binaries) = self._install_to_suite(redirected_suite, source_component_func, binary_component_func, extra_source_archives=[suite.archive])
+ (db_source, db_binaries) = self._install_to_suite(redirected_suite, source_component_func, binary_component_func, source_suites=source_suites, extra_source_archives=[suite.archive])
if policy_queue is not None:
self._install_policy(policy_queue, suite, db_changes, db_source, db_binaries)
# copy to build queues
if policy_queue is None or policy_queue.send_to_build_queues:
- source_suites = self.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, source_suites=source_suites, extra_source_archives=[suite.archive])