From: Philipp Kern Date: Tue, 2 Sep 2008 19:01:44 +0000 (+0200) Subject: Merge branch 'checksums' X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=95f05e8aac2673dadfef6aed999551d60cb6d322;hp=aaa9ef21b62dad7f83af44f0b457e9ccc8a938ec;p=dak.git Merge branch 'checksums' Conflicts: ChangeLog daklib/utils.py --- diff --git a/ChangeLog b/ChangeLog index 87a42732..cc6c1c8e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -31,6 +31,44 @@ in a manifest and insert the values found into the files dict, checking the file sizes on the way +2008-08-31 Philipp Kern + + * dak/process_new.py (_accept): new helper function to accept + an upload regularly, obeying no-action if set + * dak/process_new.py (do_accept): use _accept + * dak/process_new.py (do_accept_stableupdate): bail out in else + on binary uploads, in case we missed something; use the _accept + helper + +2008-08-30 Philipp Kern + + * dak/process_new.py (is_source_in_queue_dir): join the queue path + because os.listdir entries come with their path stripped + +2008-08-30 Philipp Kern + + * dak/process_new.py (do_accept_stableupdate): state what we intend + to do + +2008-08-26 Philipp Kern + + * dak/process_new.py (is_source_in_queue_dir): fix variable usage + * dak/process_new.py (move_to_holding): just state what we intend + to do in no-action mode + * dak/process_new.py (do_accept_stableupdate): fetch summaries, + fix invokation of is_source_in_queue_dir, actually accept sourceful + uploads in p-u holding + +2008-08-26 Philipp Kern + + * dak/process_new.py (do_accept): do not try to free the unchecked + lockfile in no-action mode + +2008-08-16 Joerg Jaspert + + * config/debian/cron.dinstall: We dont want i18n to ever fail + dinstall, add a || true + 2008-08-15 Mark Hymers * daklib/utils.py: Actually import a module before using it. diff --git a/config/debian/cron.dinstall b/config/debian/cron.dinstall index 731bc825..6df0bc69 100755 --- a/config/debian/cron.dinstall +++ b/config/debian/cron.dinstall @@ -94,7 +94,7 @@ ts echo "Synchronizing i18n package descriptions" # First sync their newest data cd ${scriptdir}/i18nsync -rsync -aq --delete --delete-after ddtp-sync:/does/not/matter . +rsync -aq --delete --delete-after ddtp-sync:/does/not/matter . || true # Now check if we still know about the packages for which they created the files # is the timestamp signed by us? diff --git a/dak/process_new.py b/dak/process_new.py index 9ed65cc5..f79c87ee 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 changes["architecture"].has_key("source"): + if not Upload.pkg.changes["architecture"].has_key("source"): # another binary upload, ignore continue if Upload.pkg.changes["version"] != u.pkg.changes["version"]: @@ -833,36 +834,59 @@ def is_source_in_queue_dir(qdir): def move_to_holding(suite, queue_dir): print "Moving to %s holding area." % (suite.upper(),) + if Options["No-Action"]: + return Logger.log(["Moving to %s" % (suite,), Upload.pkg.changes_file]) Upload.dump_vars(queue_dir) move_to_dir(queue_dir) os.unlink(Upload.pkg.changes_file[:-8]+".dak") +def _accept(): + if Options["No-Action"]: + return + Upload.accept(summary, short_summary) + os.unlink(Upload.pkg.changes_file[:-8]+".dak") + def do_accept_stableupdate(suite, q): + (summary, short_summary) = Upload.build_summaries() 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 # holding, in new, in accepted or already installed. - if is_source_in_qdir(queue_dir): + if is_source_in_queue_dir(queue_dir): # 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_qdir(Cnf["Dir::Queue::New"]): - # It's in NEW. We expect the source to land in p-u holding - # pretty soon. - move_to_holding(suite, queue_dir) - elif is_source_in_qdir(Cnf["Dir::Queue::Accepted"]): - # The source is in accepted, the binary cleared NEW: accept it. - 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. - Upload.accept(summary, short_summary) - os.unlink(Upload.pkg.changes_file[:-8]+".dak") - return - move_to_holding(suite, queue_dir) + print "Binary-only upload, source installed." + _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,) + _accept() + else: + move_to_holding(suite, queue_dir) def do_accept(): print "ACCEPT" @@ -887,10 +911,10 @@ 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: - os.unlink(Cnf["Process-New::AcceptedLockFile"]) + if not Options["No-Action"]: + os.unlink(Cnf["Process-New::AcceptedLockFile"]) def check_status(files): new = byhand = 0