]> git.decadent.org.uk Git - dak.git/blobdiff - dak/override.py
Only use PackagesServer if it exists
[dak.git] / dak / override.py
index 6d5b82e890852c52e62e3c3b808cc66109711f80..410a3d3dee2ff6be4d81330664b7f4afce2bd460 100755 (executable)
@@ -28,7 +28,6 @@
 import os
 import sys
 import apt_pkg
-import commands
 
 from daklib.config import Config
 from daklib.dbconn import *
@@ -50,7 +49,7 @@ def usage (exit_code=0):
 Make microchanges or microqueries of the binary overrides
 
   -h, --help                 show this help and exit
-  -c, --check                chech override compliance
+  -c, --check                check override compliance
   -d, --done=BUG#            send priority/section change as closure to bug#
   -n, --no-action            don't do anything
   -s, --suite                specify the suite to use
@@ -67,18 +66,7 @@ def check_override_compliance(package, priority, suite, cnf, session):
     arches -= set(["source", "all"])
     for arch in arches:
         for component in components:
-            filename = "%s/dists/%s/%s/binary-%s/Packages.gz" % (cnf["Dir::Root"], suite, component, arch)
-            (fd, temp_filename) = utils.temp_filename()
-            (result, output) = commands.getstatusoutput("gunzip -c %s > %s" % (filename, temp_filename))
-            if (result != 0):
-                utils.fubar("Gunzip invocation failed!\n%s\n" % (output), result)
-            filename = "%s/dists/%s/%s/debian-installer/binary-%s/Packages.gz" % (cnf["Dir::Root"], suite, component, arch)
-            if os.path.exists(filename):
-                (result, output) = commands.getstatusoutput("gunzip -c %s >> %s" % (filename, temp_filename))
-                if (result != 0):
-                    utils.fubar("Gunzip invocation failed!\n%s\n" % (output), result)
-            packages = utils.open_file(temp_filename)
-            Packages = apt_pkg.ParseTagFile(packages)
+            Packages = utils.get_packages_from_ftp(cnf['Dir::Root'], suite, component, arch)
             while Packages.Step():
                 package_name = Packages.Section.Find("Package")
                 dep_list = Packages.Section.Find("Depends")
@@ -92,7 +80,6 @@ def check_override_compliance(package, priority, suite, cnf, session):
                             for i in d:
                                 if i[0] == package:
                                     rdepends.add(package_name)
-            os.unlink(temp_filename)
 
     query = """SELECT o.package, p.level, p.priority
                FROM override o
@@ -267,7 +254,7 @@ def main ():
 
     game_over()
 
-    Logger = daklog.Logger(cnf.Cnf, "override")
+    Logger = daklog.Logger("override")
 
     dsc_otype_id = get_override_type('dsc').overridetype_id
 
@@ -309,7 +296,10 @@ def main ():
             Subst["__BCC__"] = "Bcc: " + ", ".join(bcc)
         else:
             Subst["__BCC__"] = "X-Filler: 42"
-        Subst["__CC__"] = "Cc: " + package + "@" + cnf["Dinstall::PackagesServer"] + "\nX-DAK: dak override"
+        if cnf.has_key("Dinstall::PackagesServer"):
+            Subst["__CC__"] = "Cc: " + package + "@" + cnf["Dinstall::PackagesServer"] + "\nX-DAK: dak override"
+        else:
+            Subst["__CC__"] = "X-DAK: dak override"
         Subst["__ADMIN_ADDRESS__"] = cnf["Dinstall::MyAdminAddress"]
         Subst["__DISTRO__"] = cnf["Dinstall::MyDistribution"]
         Subst["__WHOAMI__"] = utils.whoami()