]> git.decadent.org.uk Git - dak.git/blobdiff - dak/override.py
Merge remote-tracking branch 'nthykier/auto-decruft'
[dak.git] / dak / override.py
index a9f28322f1edfd7f74d323e9c1ee8a3ea63fe273..1d43a62579fe08012426cb5dcd1fc2d435c50883 100755 (executable)
@@ -56,7 +56,7 @@ Make microchanges or microqueries of the binary overrides
 """
     sys.exit(exit_code)
 
-def check_override_compliance(package, priority, suite_name, cnf, session):
+def check_override_compliance(package, priority, archive_path, suite_name, cnf, session):
     print "Checking compliance with related overrides..."
 
     depends = set()
@@ -66,17 +66,17 @@ def check_override_compliance(package, priority, suite_name, cnf, session):
     arches -= set(["source", "all"])
     for arch in arches:
         for component in components:
-            Packages = utils.get_packages_from_ftp(cnf['Dir::Root'], suite_name, component, arch)
-            while Packages.Step():
-                package_name = Packages.Section.Find("Package")
-                dep_list = Packages.Section.Find("Depends")
+            Packages = utils.get_packages_from_ftp(archive_path, suite_name, component, arch)
+            while Packages.step():
+                package_name = Packages.section.find("Package")
+                dep_list = Packages.section.find("Depends")
                 if dep_list:
                     if package_name == package:
-                        for d in apt_pkg.ParseDepends(dep_list):
+                        for d in apt_pkg.parse_depends(dep_list):
                             for i in d:
                                 depends.add(i[0])
                     else:
-                        for d in apt_pkg.ParseDepends(dep_list):
+                        for d in apt_pkg.parse_depends(dep_list):
                             for i in d:
                                 if i[0] == package:
                                     rdepends.add(package_name)
@@ -140,6 +140,10 @@ def main ():
     if arguments and len(arguments) > 2:
         utils.fubar("Too many arguments")
 
+    suite = get_suite(suite_name, session)
+    if suite is None:
+        utils.fubar("Unknown suite '{0}'".format(suite_name))
+
     if arguments and len(arguments) == 1:
         # Determine if the argument is a priority or a section...
         arg = arguments.pop()
@@ -227,7 +231,7 @@ def main ():
         utils.fubar("Trying to change priority of a source-only package")
 
     if Options["Check"] and newpriority != oldpriority:
-        check_override_compliance(package, p, suite_name, cnf, session)
+        check_override_compliance(package, p, suite.archive.path, suite_name, cnf, session)
 
     # If we're in no-action mode
     if Options["No-Action"]: