X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fprocess_new.py;h=ce1f1805049c3e06fbad787dcd18ec525aac5858;hb=95d841e17ada7cbadbf2a28420d8d64e9ff6ae60;hp=e3dc5de13e735a35b479335a60841cf18256db97;hpb=1dd3d2fb2df2af57cf3966e257a94e000235407a;p=dak.git diff --git a/dak/process_new.py b/dak/process_new.py index e3dc5de1..ce1f1805 100755 --- a/dak/process_new.py +++ b/dak/process_new.py @@ -118,6 +118,25 @@ class Priority_Completer: ################################################################################ +def takenover_binaries(upload, missing, session): + binaries = set([x.package for x in upload.binaries]) + suites = ('unstable','experimental') + for m in missing: + if m['type'] != 'dsc': + binaries.remove(m['package']) + if binaries: + return session.query(DBBinary.package, DBSource.source).distinct(). \ + filter(DBBinary.package.in_(binaries)). \ + join(DBBinary.source). \ + filter(DBSource.source != upload.source.source). \ + join(DBBinary.suites). \ + filter(Suite.suite_name.in_(suites)). \ + order_by(DBSource.source, DBBinary.package) + else: + return None + +################################################################################ + def print_new (upload, missing, indexed, session, file=sys.stdout): check_valid(missing, session) index = 0 @@ -137,6 +156,11 @@ def print_new (upload, missing, indexed, session, file=sys.stdout): if not m['valid']: line = line + ' [!]' print >>file, line + takenover = takenover_binaries(upload, missing, session) + if takenover and takenover.count(): + print '\nBINARIES TAKEN OVER' + for t in takenover: + print '%s: %s' % (t.source, t.package) notes = get_new_comments(upload.policy_queue, upload.changes.source) for note in notes: print "\nAuthor: %s\nVersion: %s\nTimestamp: %s\n\n%s" \