X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fprocess_new.py;h=3dd93ada1a68ba480c2dcf6c6a9d186e09ef7da4;hb=f8996e240d9d0278bce098e23be63db0bcc6fbee;hp=bd0653e0525d021da9e86b3855ac73bd092330ab;hpb=86de24686031e6971970bf609e1a48f2e77f1142;p=dak.git diff --git a/dak/process_new.py b/dak/process_new.py index bd0653e0..3dd93ada 100755 --- a/dak/process_new.py +++ b/dak/process_new.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +# vim:set et ts=4 sw=4: # Handles NEW and BYHAND packages # Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 James Troup @@ -819,9 +820,9 @@ def is_source_in_queue_dir(qdir): for entry in entries: # read the .dak u = queue.Upload(Cnf) - u.pkg.changes_file = entry + u.pkg.changes_file = os.path.join(qdir, entry) u.update_vars() - if not Upload.pkg.changes["architecture"].has_key("source"): + if not u.pkg.changes["architecture"].has_key("source"): # another binary upload, ignore continue if Upload.pkg.changes["version"] != u.pkg.changes["version"]: @@ -840,8 +841,14 @@ def move_to_holding(suite, queue_dir): move_to_dir(queue_dir) os.unlink(Upload.pkg.changes_file[:-8]+".dak") -def do_accept_stableupdate(suite, q): +def _accept(): + if Options["No-Action"]: + return (summary, short_summary) = Upload.build_summaries() + Upload.accept(summary, short_summary) + os.unlink(Upload.pkg.changes_file[:-8]+".dak") + +def do_accept_stableupdate(suite, q): queue_dir = Cnf["Dir::Queue::%s" % (q,)] if not Upload.pkg.changes["architecture"].has_key("source"): # It is not a sourceful upload. So its source may be either in p-u @@ -850,31 +857,34 @@ def do_accept_stableupdate(suite, q): # It's in p-u holding, so move it there. print "Binary-only upload, source in %s." % (q,) move_to_holding(suite, queue_dir) - elif is_source_in_queue_dir(Cnf["Dir::Queue::New"]): - # It's in NEW. We expect the source to land in p-u holding - # pretty soon. - print "Binary-only upload, source in new." - move_to_holding(suite, queue_dir) - elif is_source_in_queue_dir(Cnf["Dir::Queue::Accepted"]): - # The source is in accepted, the binary cleared NEW: accept it. - print "Binary-only upload, source in accepted." - Upload.accept(summary, short_summary) - os.unlink(Upload.pkg.changes_file[:-8]+".dak") elif Upload.source_exists(Upload.pkg.changes["source"], Upload.pkg.changes["version"]): # dak tells us that there is source available. At time of # writing this means that it is installed, so put it into # accepted. print "Binary-only upload, source installed." - Upload.accept(summary, short_summary) - os.unlink(Upload.pkg.changes_file[:-8]+".dak") + _accept() + elif is_source_in_queue_dir(Cnf["Dir::Queue::Accepted"]): + # The source is in accepted, the binary cleared NEW: accept it. + print "Binary-only upload, source in accepted." + _accept() + elif is_source_in_queue_dir(Cnf["Dir::Queue::New"]): + # It's in NEW. We expect the source to land in p-u holding + # pretty soon. + print "Binary-only upload, source in new." + move_to_holding(suite, queue_dir) + else: + # No case applicable. Bail out. Return will cause the upload + # to be skipped. + print "ERROR" + print "Stable update failed. Source not found." + return else: # We are handling a sourceful upload. Move to accepted if currently # in p-u holding and to p-u holding otherwise. if is_source_in_queue_dir(queue_dir): print "Sourceful upload in %s, accepting." % (q,) - Upload.accept(summary, short_summary) - os.unlink(Upload.pkg.changes_file[:-8]+".dak") + _accept() else: move_to_holding(suite, queue_dir) @@ -901,8 +911,7 @@ def do_accept(): continue return do_accept_stableupdate(suite, q) # Just a normal upload, accept it... - Upload.accept(summary, short_summary) - os.unlink(Upload.pkg.changes_file[:-8]+".dak") + _accept() finally: if not Options["No-Action"]: os.unlink(Cnf["Process-New::AcceptedLockFile"])