X-Git-Url: https://git.decadent.org.uk/gitweb/?p=dak.git;a=blobdiff_plain;f=dak%2Finit_dirs.py;h=347945a3e8c037ac6a0d428b5a798592e8e69a7b;hp=fc5efd3206948cdca6ece9c2b03b7fe394633429;hb=17c5cab4eb8d5181ec7a81267a4e2e6b43c0fc65;hpb=e2c4fd7f21c3b33cd7192bded5d6373e0ee90374 diff --git a/dak/init_dirs.py b/dak/init_dirs.py index fc5efd32..347945a3 100755 --- a/dak/init_dirs.py +++ b/dak/init_dirs.py @@ -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: