]> git.decadent.org.uk Git - dak.git/commitdiff
Merge branch 'checksums'
authorPhilipp Kern <pkern@debian.org>
Tue, 2 Sep 2008 19:01:44 +0000 (21:01 +0200)
committerPhilipp Kern <pkern@debian.org>
Tue, 2 Sep 2008 19:01:44 +0000 (21:01 +0200)
Conflicts:

ChangeLog
daklib/utils.py

ChangeLog
config/debian/cron.dinstall
dak/process_new.py

index 87a427325758cb6593de36bf1b61f031700839d0..cc6c1c8e8d721924b629c4537b398e2d56d2b56a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
        in a manifest and insert the values found into the files dict,
        checking the file sizes on the way
 
+2008-08-31  Philipp Kern  <pkern@debian.org>
+
+       * 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  <pkern@debian.org>
+
+       * 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  <pkern@debian.org>
+
+       * dak/process_new.py (do_accept_stableupdate): state what we intend
+       to do
+
+2008-08-26  Philipp Kern  <pkern@debian.org>
+
+       * 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  <pkern@debian.org>
+
+       * dak/process_new.py (do_accept): do not try to free the unchecked
+       lockfile in no-action mode
+
+2008-08-16  Joerg Jaspert  <joerg@debian.org>
+
+       * config/debian/cron.dinstall: We dont want i18n to ever fail
+       dinstall, add a || true
+
 2008-08-15  Mark Hymers  <mhy@debian.org>
 
        * daklib/utils.py: Actually import a module before using it.
index 731bc825893dab99122abeb9a4676ce2c8d1e981..6df0bc69a77c56575cf646fa2f18ec0a3bb06514 100755 (executable)
@@ -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?
index 9ed65cc568cf90d5bdb34e39251f1f0ae4e8b307..f79c87ee8f4e91ef42387597af6b15e036a3b4c1 100755 (executable)
@@ -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 <james@nocrew.org>
@@ -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