]> git.decadent.org.uk Git - dak.git/blobdiff - dak/process_unchecked.py
drop unused imports
[dak.git] / dak / process_unchecked.py
index fab21cbf4492a7d3bf4447e0dbf28be6c793e911..856c1dfa190283488ae138209c20421f71079317 100755 (executable)
@@ -34,23 +34,14 @@ Checks Debian packages from Incoming
 
 ################################################################################
 
-import commands
 import errno
 import fcntl
 import os
-import re
-import shutil
-import stat
 import sys
-import time
 import traceback
-import tarfile
-import apt_inst
 import apt_pkg
-from debian_bundle import deb822
 
 from daklib.dbconn import *
-from daklib.binary import Binary
 from daklib import daklog
 from daklib.queue import *
 from daklib import utils
@@ -124,6 +115,7 @@ def usage (exit_code=0):
 
 def action(u):
     cnf = Config()
+
     # changes["distribution"] may not exist in corner cases
     # (e.g. unreadable changes files)
     if not u.pkg.changes.has_key("distribution") or not isinstance(u.pkg.changes["distribution"], DictType):
@@ -214,6 +206,8 @@ def package_to_suite(u, suite):
     if not u.pkg.changes["distribution"].has_key(suite):
         return False
 
+    ret = True
+
     if not u.pkg.changes["architecture"].has_key("source"):
         s = DBConn().session()
         q = s.query(SrcAssociation.sa_id)
@@ -221,10 +215,15 @@ def package_to_suite(u, suite):
         q = q.join(DBSource).filter_by(source=u.pkg.changes['source'])
         q = q.filter_by(version=u.pkg.changes['version']).limit(1)
 
-        if q.count() < 1:
-            return False
+        # NB: Careful, this logic isn't what you would think it is
+        # Source is already in {old-,}proposed-updates so no need to hold
+        # Instead, we don't move to the holding area, we just do an ACCEPT
+        if q.count() > 0:
+            ret = False
 
-    return True
+        s.close()
+
+    return ret
 
 def package_to_queue(u, summary, short_summary, queue, perms=0660, build=True, announce=None):
     cnf = Config()
@@ -258,6 +257,7 @@ def is_unembargo(u):
 
     q = session.execute("SELECT package FROM disembargo WHERE package = :source AND version = :version", u.pkg.changes)
     if q.rowcount > 0:
+        session.close()
         return True
 
     oldcwd = os.getcwd()
@@ -265,15 +265,19 @@ def is_unembargo(u):
     disdir = os.getcwd()
     os.chdir(oldcwd)
 
+    ret = False
+
     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()
 
-            return True
+            ret = True
 
-    return False
+    session.close()
+
+    return ret
 
 def queue_unembargo(u, summary, short_summary):
     return package_to_queue(u, summary, short_summary, "Unembargoed",
@@ -417,6 +421,7 @@ def acknowledge_new(u, summary, short_summary):
     if not 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)
@@ -443,6 +448,7 @@ def process_it(changes_file):
     u.pkg.changes_file = changes_file
     u.pkg.directory = os.getcwd()
     u.logger = Logger
+    origchanges = os.path.join(u.pkg.directory, u.pkg.changes_file)
 
     # Some defaults in case we can't fully process the .changes file
     u.pkg.changes["maintainer2047"] = cnf["Dinstall::MyEmailAddress"]
@@ -472,7 +478,7 @@ def process_it(changes_file):
 
             # Absolutize the filename to avoid the requirement of being in the
             # same directory as the .changes file.
-            holding.copy_to_holding(os.path.abspath(changes_file))
+            holding.copy_to_holding(origchanges)
 
             # Relativize the filename so we use the copy in holding
             # rather than the original...
@@ -484,7 +490,7 @@ def process_it(changes_file):
             valid_changes_p = u.load_changes(changespath)
         else:
             valid_changes_p = False
-           u.rejects.extend(rejects)
+            u.rejects.extend(rejects)
 
         if valid_changes_p:
             while u.reprocess: