#!/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
-
-################################################################################
-
-class UserExtension:
- def __init__(self, user_extension = None):
- if user_extension:
- m = imp.load_source("dak_userext", user_extension)
- d = m.__dict__
- else:
- m, d = None, {}
- self.__dict__["_module"] = m
- self.__dict__["_d"] = d
-
- def __getattr__(self, a):
- if a in self.__dict__: return self.__dict__[a]
- if a[0] == "_": raise AttributeError, a
- return self._d.get(a, None)
-
- def __setattr__(self, 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__
- else:
- m, d = None, {}
- self.__dict__["_module"] = m
- self.__dict__["_d"] = d
-
- def __getattr__(self, a):
- if a in self.__dict__: return self.__dict__[a]
- if a[0] == "_": raise AttributeError, a
- return self._d.get(a, None)
-
- def __setattr__(self, a, v):
- self._d[a] = v
+import sys
+import imp
+import daklib.utils
################################################################################
"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"),
("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",
"Override cruft checks"),
("check-proposed-updates",
"Dependency checking for proposed-updates"),
- ("compare-suites",
- "Show fixable discrepencies between suites"),
("control-overrides",
"Manipulate/list override entries in bulk"),
("control-suite",
"Show information useful for NEW processing"),
("find-null-maintainers",
"Check for users with no packages in the archive"),
- ("import-archive",
- "Populate SQL database based from an archive tree"),
("import-keyring",
"Populate fingerprint/uid table based on a new/updated keyring"),
("import-ldap-fingerprints",
"Syncs fingerprint and uid tables with Debian LDAP db"),
("import-users-from-passwd",
"Sync PostgreSQL users with passwd file"),
+ ("admin",
+ "Perform administration on the dak database"),
("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/"),
+ ("bts-categorize",
+ "Categorize uncategorized bugs filed against ftp.debian.org"),
+ ("add-user",
+ "Add a user to the archive"),
]
return functionality
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)
def main():
"""Launch dak functionality."""
- Cnf = daklib.utils.get_conf()
-
- if Cnf.has_key("Dinstall::UserExtensions"):
- userext = UserExtension(Cnf["Dinstall::UserExtensions"])
- else:
- userext = UserExtension()
-
functionality = init()
modules = [ command for (command, _) in functionality ]
# Invoke the module
module = __import__(cmdname.replace("-","_"))
- module.dak_userext = userext
- userext.dak_module = module
-
- daklib.extensions.init(cmdname, module, userext)
- if userext.init is not None: userext.init(cmdname)
-
module.main()
################################################################################