]> git.decadent.org.uk Git - dak.git/blobdiff - daklib/queue_install.py
changes: fix known_changes handling of parsed changes files
[dak.git] / daklib / queue_install.py
index 40f0304e8228c72e5cbc49399324e294caddaad4..9b78b264cdb14d4c3de0b04e971d890605dc53df 100644 (file)
@@ -25,22 +25,14 @@ Utility functions for process-upload
 # along with this program; if not, write to the Free Software
 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 
+import os
+
+from daklib import utils
+from daklib.dbconn import *
 from daklib.config import Config
 
 ###############################################################################
 
-# q-unapproved hax0ring
-QueueInfo = {
-    "New": { "is": is_new, "process": acknowledge_new },
-    "Autobyhand" : { "is" : is_autobyhand, "process": do_autobyhand },
-    "Byhand" : { "is": is_byhand, "process": do_byhand },
-    "OldStableUpdate" : { "is": is_oldstableupdate,
-                          "process": do_oldstableupdate },
-    "StableUpdate" : { "is": is_stableupdate, "process": do_stableupdate },
-    "Unembargo" : { "is": is_unembargo, "process": queue_unembargo },
-    "Embargo" : { "is": is_embargo, "process": queue_embargo },
-}
-
 def determine_target(u):
     cnf = Config()
     
@@ -88,9 +80,8 @@ def package_to_queue(u, summary, short_summary, queue, perms=0660, build=True, a
     dir = cnf["Dir::Queue::%s" % queue]
 
     print "Moving to %s holding area" % queue.upper()
-    Logger.log(["Moving to %s" % queue, u.pkg.changes_file])
+    u.logger.log(["Moving to %s" % queue, u.pkg.changes_file])
 
-    u.pkg.write_dot_dak(dir)
     u.move_to_dir(dir, perms=perms)
     if build:
         get_or_set_queue(queue.lower()).autobuild_upload(u.pkg, dir)
@@ -127,9 +118,8 @@ def is_unembargo(u):
 
     if u.pkg.directory == disdir:
         if u.pkg.changes["architecture"].has_key("source"):
-            if not Options["No-Action"]:
-                session.execute("INSERT INTO disembargo (package, version) VALUES (:package, :version)", u.pkg.changes)
-                session.commit()
+            session.execute("INSERT INTO disembargo (package, version) VALUES (:package, :version)", u.pkg.changes)
+            session.commit()
 
             ret = True
 
@@ -137,7 +127,7 @@ def is_unembargo(u):
 
     return ret
 
-def queue_unembargo(u, summary, short_summary):
+def queue_unembargo(u, summary, short_summary, session=None):
     return package_to_queue(u, summary, short_summary, "Unembargoed",
                             perms=0660, build=True, announce='process-unchecked.accepted')
 
@@ -147,7 +137,7 @@ def is_embargo(u):
     # if embargoed queues are enabled always embargo
     return True
 
-def queue_embargo(u, summary, short_summary):
+def queue_embargo(u, summary, short_summary, session=None):
     return package_to_queue(u, summary, short_summary, "Unembargoed",
                             perms=0660, build=True, announce='process-unchecked.accepted')
 
@@ -156,7 +146,7 @@ def queue_embargo(u, summary, short_summary):
 def is_stableupdate(u):
     return package_to_suite(u, 'proposed-updates')
 
-def do_stableupdate(u, summary, short_summary):
+def do_stableupdate(u, summary, short_summary, session=None):
     return package_to_queue(u, summary, short_summary, "ProposedUpdates",
                             perms=0664, build=False, announce=None)
 
@@ -165,7 +155,7 @@ def do_stableupdate(u, summary, short_summary):
 def is_oldstableupdate(u):
     return package_to_suite(u, 'oldstable-proposed-updates')
 
-def do_oldstableupdate(u, summary, short_summary):
+def do_oldstableupdate(u, summary, short_summary, session=None):
     return package_to_queue(u, summary, short_summary, "OldProposedUpdates",
                             perms=0664, build=False, announce=None)
 
@@ -210,7 +200,7 @@ def is_autobyhand(u):
 
     return any_auto and all_auto
 
-def do_autobyhand(u, summary, short_summary):
+def do_autobyhand(u, summary, short_summary, session=None):
     print "Attempting AUTOBYHAND."
     byhandleft = True
     for f, entry in u.pkg.files.items():
@@ -240,12 +230,10 @@ def do_autobyhand(u, summary, short_summary):
             byhandleft = True
 
     if byhandleft:
-        do_byhand(u, summary, short_summary)
+        do_byhand(u, summary, short_summary, session)
     else:
-        u.accept(summary, short_summary)
+        u.accept(summary, short_summary, session)
         u.check_override()
-        # XXX: We seem to be missing a u.remove() here
-        #      This might explain why we get byhand leftovers in unchecked - mhy
 
 ################################################################################
 
@@ -255,7 +243,7 @@ def is_byhand(u):
             return True
     return False
 
-def do_byhand(u, summary, short_summary):
+def do_byhand(u, summary, short_summary, session=None):
     return package_to_queue(u, summary, short_summary, "Byhand",
                             perms=0660, build=False, announce=None)
 
@@ -267,19 +255,32 @@ def is_new(u):
             return True
     return False
 
-def acknowledge_new(u, summary, short_summary):
+def acknowledge_new(u, summary, short_summary, session=None):
     cnf = Config()
 
-    print "Moving to NEW holding area."
-    Logger.log(["Moving to new", u.pkg.changes_file])
+    print "Moving to NEW queue."
+    u.logger.log(["Moving to new", u.pkg.changes_file])
 
-    u.pkg.write_dot_dak(cnf["Dir::Queue::New"])
     u.move_to_dir(cnf["Dir::Queue::New"], perms=0640, changesperms=0644)
 
-    if not Options["No-Mail"]:
+    if not cnf["Dinstall::Options::No-Mail"]:
         print "Sending new ack."
         template = os.path.join(cnf["Dir::Templates"], 'process-unchecked.new')
         u.update_subst()
         u.Subst["__SUMMARY__"] = summary
         new_ack_message = utils.TemplateSubst(u.Subst, template)
         utils.send_mail(new_ack_message)
+
+################################################################################
+
+# q-unapproved hax0ring
+QueueInfo = {
+    "New": { "is": is_new, "process": acknowledge_new },
+    "Autobyhand" : { "is" : is_autobyhand, "process": do_autobyhand },
+    "Byhand" : { "is": is_byhand, "process": do_byhand },
+    "OldStableUpdate" : { "is": is_oldstableupdate,
+                          "process": do_oldstableupdate },
+    "StableUpdate" : { "is": is_stableupdate, "process": do_stableupdate },
+    "Unembargo" : { "is": is_unembargo, "process": queue_unembargo },
+    "Embargo" : { "is": is_embargo, "process": queue_embargo },
+}