]> git.decadent.org.uk Git - dak.git/blobdiff - dak/init_dirs.py
Remove files that are (no longer) generated
[dak.git] / dak / init_dirs.py
index fc5efd3206948cdca6ece9c2b03b7fe394633429..347945a3e8c037ac6a0d428b5a798592e8e69a7b 100755 (executable)
@@ -63,7 +63,7 @@ def process_file(config, config_name):
 def process_tree(config, tree):
     """Create directories for a config tree."""
 
-    for entry in config.SubTree(tree).List():
+    for entry in config.subtree(tree).list():
         entry = entry.lower()
         config_name = "%s::%s" % (tree, entry)
         target = config[config_name]
@@ -103,16 +103,23 @@ def process_keyring(fullpath, secret=False):
 ######################################################################
 
 def create_directories():
-    """Create directories referenced in dak.conf and apt.conf."""
+    """Create directories referenced in dak.conf."""
 
     session = DBConn().session()
 
     # Process directories from dak.conf
     process_tree(Cnf, "Dir")
 
+    # Hardcode creation of the unchecked directory
+    if Cnf.has_key("Dir::Base"):
+        do_dir(os.path.join(Cnf["Dir::Base"], "queue", "unchecked"), 'unchecked directory')
+
     # Process queue directories
     for queue in session.query(PolicyQueue):
         do_dir(queue.path, '%s queue' % queue.queue_name)
+        # If we're doing the NEW queue, make sure it has a COMMENTS directory
+        if queue.queue_name == 'new':
+            do_dir(os.path.join(queue.path, "COMMENTS"), '%s queue comments' % queue.queue_name)
 
     for config_name in [ "Rm::LogFile",
                          "Import-Archive::ExportDir" ]:
@@ -121,7 +128,7 @@ def create_directories():
     for subdir in [ "Clean-Queues", "Clean-Suites" ]:
         process_morguesubdir(subdir)
 
-    suite_suffix = "%s" % (Cnf.Find("Dinstall::SuiteSuffix"))
+    suite_suffix = "%s" % (Cnf.find("Dinstall::SuiteSuffix"))
 
     # Process secret keyrings
     if Cnf.has_key('Dinstall::SigningKeyring'):
@@ -131,20 +138,13 @@ def create_directories():
         process_keyring(Cnf['Dinstall::SigningPubKeyring'], secret=True)
 
     # Process public keyrings
-    for keyring in session.query(Keyring).all():
+    for keyring in session.query(Keyring).filter_by(active=True):
         process_keyring(keyring.keyring_name)
 
-    # Process pool directories
-    for component in session.query(Component):
-        directory = os.path.join( Cnf['Dir::Pool'], component.component_name )
-
-        do_dir(directory, '%s pool' % component.component_name)
-
-
     # Process dists directories
     # TODO: Store location of each suite in database
     for suite in session.query(Suite):
-        suite_dir = os.path.join( Cnf['Dir::Root'], 'dists', "%s/%s" % (suite.suite_name, suite_suffix) )
+        suite_dir = os.path.join(suite.archive.path, 'dists', suite.suite_name, suite_suffix)
 
         # TODO: Store valid suite/component mappings in database
         for component in session.query(Component):
@@ -179,9 +179,9 @@ def main ():
 
     d = DBConn()
 
-    arguments = apt_pkg.ParseCommandLine(Cnf, arguments, sys.argv)
+    arguments = apt_pkg.parse_commandline(Cnf, arguments, sys.argv)
 
-    options = Cnf.SubTree("Init-Dirs::Options")
+    options = Cnf.subtree("Init-Dirs::Options")
     if options["Help"]:
         usage()
     elif arguments: