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]
os.makedirs(keydir)
if secret:
# Make sure secret keyring directories are 0700
- os.chmod(keydir, 0700)
+ os.chmod(keydir, 0o700)
# Touch the file
print "Creating %s ..." % (fullpath)
file(fullpath, 'w')
if secret:
- os.chmod(fullpath, 0600)
+ os.chmod(fullpath, 0o600)
else:
- os.chmod(fullpath, 0644)
+ os.chmod(fullpath, 0o644)
######################################################################
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" ]:
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'):
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):
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: