]> git.decadent.org.uk Git - dak.git/blobdiff - dak/dak.py
Merge branch 'master' into content_generation, make changes based on Joerg's review
[dak.git] / dak / dak.py
index 0f2280101858fd672b9c6649952a82201a1cf6ef..14cddd562545f9449d86c62c5a107f3c8db8afe2 100755 (executable)
@@ -1,6 +1,11 @@
 #!/usr/bin/env python
 
-"""Wrapper to launch dak functionality"""
+"""
+Wrapper to launch dak functionality
+
+G{importgraph}
+
+"""
 # Copyright (C) 2005, 2006 Anthony Towns <ajt@debian.org>
 # Copyright (C) 2006 James Troup <james@nocrew.org>
 
 
 ################################################################################
 
-import sys, imp
-import daklib.utils, daklib.extensions
+import sys
+import imp
+import daklib.utils
+import daklib.extensions
 
 ################################################################################
 
 class UserExtension:
     def __init__(self, user_extension = None):
         if user_extension:
-           m = imp.load_source("dak_userext", user_extension)
-           d = m.__dict__
+            m = imp.load_source("dak_userext", user_extension)
+            d = m.__dict__
         else:
             m, d = None, {}
-       self.__dict__["_module"] = m
-       self.__dict__["_d"] = d
+        self.__dict__["_module"] = m
+        self.__dict__["_d"] = d
 
     def __getattr__(self, a):
         if a in self.__dict__: return self.__dict__[a]
@@ -49,19 +56,19 @@ class UserExtension:
         return self._d.get(a, None)
 
     def __setattr__(self, a, v):
-       self._d[a] = v
+        self._d[a] = v
 
 ################################################################################
 
 class UserExtension:
     def __init__(self, user_extension = None):
         if user_extension:
-           m = imp.load_source("dak_userext", user_extension)
-           d = m.__dict__
+            m = imp.load_source("dak_userext", user_extension)
+            d = m.__dict__
         else:
             m, d = None, {}
-       self.__dict__["_module"] = m
-       self.__dict__["_d"] = d
+        self.__dict__["_module"] = m
+        self.__dict__["_d"] = d
 
     def __getattr__(self, a):
         if a in self.__dict__: return self.__dict__[a]
@@ -69,7 +76,7 @@ class UserExtension:
         return self._d.get(a, None)
 
     def __setattr__(self, a, v):
-       self._d[a] = v
+        self._d[a] = v
 
 ################################################################################
 
@@ -88,21 +95,27 @@ def init():
          "Produce a report on NEW and BYHAND packages"),
         ("show-new",
          "Output html for packages in NEW"),
-        
+        ("show-deferred",
+         "Output html and symlinks for packages in DEFERRED"),
+
         ("rm",
          "Remove packages from suites"),
-        
+
         ("process-new",
          "Process NEW and BYHAND packages"),
         ("process-unchecked",
          "Process packages in queue/unchecked"),
         ("process-accepted",
          "Install packages into the pool"),
-        
+
         ("make-suite-file-list",
          "Generate lists of packages per suite for apt-ftparchive"),
+        ("make-pkg-file-mapping",
+         "Generate package <-> file mapping"),
         ("generate-releases",
          "Generate Release files"),
+        ("contents",
+         "Generate content files"),
         ("generate-index-diffs",
          "Generate .diff/Index files"),
         ("clean-suites",
@@ -142,31 +155,33 @@ def init():
          "Sync PostgreSQL users with passwd file"),
         ("init-db",
          "Update the database to match the conf file"),
+        ("update-db",
+         "Updates databae schema to latest revision"),
         ("init-dirs",
          "Initial setup of the archive"),
         ("make-maintainers",
          "Generates Maintainers file for BTS etc"),
         ("make-overrides",
          "Generates override files"),
-        ("mirror-split",
-         "Split the pool/ by architecture groups"),
         ("poolize",
          "Move packages from dists/ to pool/"),
         ("reject-proposed-updates",
          "Manually reject from proposed-updates"),
-        ("security-install",
-         "Install a security upload into the archive"),
         ("new-security-install",
          "New way to install a security upload into the archive"),
         ("split-done",
          "Split queue/done into a date-based hierarchy"),
         ("stats",
          "Generate statistics"),
-        ("symlink-dists",
-         "Generate compatability symlinks from dists/ into pool/"),
+        ("calculate-shasums",
+         "Calculate missing sha1sums and sha256sums"),
+        ("bts-categorize",
+         "Categorize uncategorized bugs filed against ftp.debian.org"),
+        ("add-user",
+         "Add a user to the archive"),
         ]
     return functionality
-    
+
 ################################################################################
 
 def usage(functionality, exit_code=0):
@@ -175,7 +190,7 @@ def usage(functionality, exit_code=0):
     print """Usage: dak COMMAND [...]
 Run DAK commands.  (Will also work if invoked as COMMAND.)
 
-Availble commands:"""
+Available commands:"""
     for (command, description) in functionality:
         print "  %-23s %s" % (command, description)
     sys.exit(exit_code)
@@ -194,7 +209,7 @@ def main():
 
     functionality = init()
     modules = [ command for (command, _) in functionality ]
-    
+
     if len(sys.argv) == 0:
         daklib.utils.fubar("err, argc == 0? how is that possible?")
     elif (len(sys.argv) == 1