]> git.decadent.org.uk Git - dak.git/blobdiff - dak/make_suite_file_list.py
let's use pythonesque imports, shall we?
[dak.git] / dak / make_suite_file_list.py
index 92081f69524e99e7105cd79bc594dff50430f509..7d10d42ba2942b91c9d15d67de58b4da7e01a21f 100755 (executable)
 
 ################################################################################
 
-import copy, os, pg, string, sys
+import copy, os, pg, sys
 import apt_pkg
 import symlink_dists
-import dak.lib.database as database
-import dak.lib.logging as logging
-import dak.lib.utils as utils
+from daklib import database
+from daklib import logging
+from daklib import utils
 
 ################################################################################
 
@@ -59,6 +59,7 @@ Write out file lists suitable for use with apt-ftparchive.
 
   -a, --architecture=ARCH   only write file lists for this architecture
   -c, --component=COMPONENT only write file lists for this component
+  -f, --force               ignore Untouchable suite directives in dak.conf
   -h, --help                show this help and exit
   -n, --no-delete           don't delete older versions
   -s, --suite=SUITE         only write file lists for this suite
@@ -84,7 +85,7 @@ def delete_packages(delete_versions, pkg, dominant_arch, suite,
         delete_version = version[0]
         delete_id = packages[delete_unique_id]["id"]
         delete_arch = packages[delete_unique_id]["arch"]
-        if not Cnf.Find("Suite::%s::Untouchable" % (suite)):
+        if not Cnf.Find("Suite::%s::Untouchable" % (suite)) or Options["Force"]:
             if Options["No-Delete"]:
                 print "Would delete %s_%s_%s in %s in favour of %s_%s" % (pkg, delete_arch, delete_version, suite, dominant_version, dominant_arch)
             else:
@@ -275,7 +276,7 @@ def write_filelists(packages, dislocated_files):
         suites = Cnf.SubTree("Suite").List()
     else:
         suites = utils.split_args(Options["Suite"])
-    for suite in map(string.lower, suites):
+    for suite in [ i.lower() for i in suites ]:
         d.setdefault(suite, {})
         if not Options["Component"]:
             components = Cnf.ValueList("Suite::%s::Components" % (suite))
@@ -293,7 +294,7 @@ def write_filelists(packages, dislocated_files):
                 architectures = Cnf.ValueList("Suite::%s::Architectures" % (suite))
             else:
                 architectures = utils.split_args(Options["Architectures"])
-            for arch in map(string.lower, architectures):
+            for arch in [ i.lower() for i in architectures ]:
                 d[suite][component].setdefault(arch, {})
                 if arch == "source":
                     types = [ "dsc" ]
@@ -362,7 +363,7 @@ def do_da_do_da():
                 utils.warn("Adding %s as %s maps Arch: all from it." % (archall_suite, suite))
                 suites.append(archall_suite)
         Options["Suite"] = ",".join(suites)
-    
+
     (con_suites, con_architectures, con_components, check_source) = \
                  utils.parse_args(Options)
 
@@ -413,10 +414,11 @@ def main():
                  ('c', "component", "Make-Suite-File-List::Options::Component", "HasArg"),
                  ('h', "help", "Make-Suite-File-List::Options::Help"),
                  ('n', "no-delete", "Make-Suite-File-List::Options::No-Delete"),
+                 ('f', "force", "Make-Suite-File-List::Options::Force"),
                  ('s', "suite", "Make-Suite-File-List::Options::Suite", "HasArg")]
-    for i in ["architecture", "component", "help", "no-delete", "suite" ]:
-       if not Cnf.has_key("Make-Suite-File-List::Options::%s" % (i)):
-           Cnf["Make-Suite-File-List::Options::%s" % (i)] = ""
+    for i in ["architecture", "component", "help", "no-delete", "suite", "force-touch" ]:
+        if not Cnf.has_key("Make-Suite-File-List::Options::%s" % (i)):
+            Cnf["Make-Suite-File-List::Options::%s" % (i)] = ""
     apt_pkg.ParseCommandLine(Cnf,Arguments,sys.argv)
     Options = Cnf.SubTree("Make-Suite-File-List::Options")
     if Options["Help"]: