X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fdak.py;h=2a3c230893db82d7d3617dcdd7e964a93a2679e5;hb=3f76f67b9d9bf590e2b3d0aac5d015b8d52a6149;hp=19facc5592ef853fe36769720f7c8749d9d48d24;hpb=f1ee050ceee00693a9bea2673431291ac480b8b6;p=dak.git diff --git a/dak/dak.py b/dak/dak.py index 19facc55..2a3c2308 100755 --- a/dak/dak.py +++ b/dak/dak.py @@ -33,12 +33,14 @@ G{importgraph} ################################################################################ +import os import sys import traceback import daklib.utils from daklib.daklog import Logger from daklib.config import Config +from daklib.dak_exceptions import CantOpenError ################################################################################ @@ -59,29 +61,41 @@ def init(): "Output html for packages in NEW"), ("show-deferred", "Output html and symlinks for packages in DEFERRED"), + ("graph", + "Output graphs of number of packages in various queues"), ("rm", "Remove packages from suites"), ("process-new", "Process NEW and BYHAND packages"), - ("process-unchecked", + ("process-upload", "Process packages in queue/unchecked"), - ("process-accepted", - "Install packages into the pool"), + ("process-policy", + "Process packages in policy queues from COMMENTS files"), - ("make-suite-file-list", - "Generate lists of packages per suite for apt-ftparchive"), + ("dominate", + "Remove obsolete source and binary associations from suites"), ("make-pkg-file-mapping", "Generate package <-> file mapping"), + ("generate-filelist", + "Generate file lists for apt-ftparchive"), ("generate-releases", "Generate Release files"), + ("generate-packages-sources", + "Generate Packages/Sources files"), + ("generate-packages-sources2", + "Generate Packages/Sources files [directly from database]"), ("contents", "Generate content files"), + ("metadata", + "Load data for packages/sources files"), ("generate-index-diffs", "Generate .diff/Index files"), ("clean-suites", "Clean unused/superseded packages from the archive"), + ("manage-build-queues", + "Clean and update metadata for build queues"), ("clean-queues", "Clean cruft from incoming"), ("clean-proposed-updates", @@ -99,8 +113,6 @@ def init(): "Manipulate suites in bulk"), ("cruft-report", "Check for obsolete or duplicated packages"), - ("decode-dot-dak", - "Display contents of a .dak file"), ("examine-package", "Show information useful for NEW processing"), ("find-null-maintainers", @@ -113,8 +125,6 @@ def init(): "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", @@ -133,8 +143,18 @@ def init(): "Generate statistics"), ("bts-categorize", "Categorize uncategorized bugs filed against ftp.debian.org"), + ("import-known-changes", + "import old changes files into known_changes table"), ("add-user", "Add a user to the archive"), + ("make-changelog", + "Generate changelog between two suites"), + ("copy-installer", + "Copies the installer from one suite to another"), + ("override-disparity", + "Generate a list of override disparities"), + ("external-overrides", + "Modify external overrides"), ] return functionality @@ -156,7 +176,11 @@ Available commands:""" def main(): """Launch dak functionality.""" - logger = Logger(Config(), 'dak top-level', print_starting=False) + + try: + logger = Logger('dak top-level', print_starting=False) + except CantOpenError: + logger = None functionality = init() modules = [ command for (command, _) in functionality ] @@ -200,16 +224,20 @@ def main(): except KeyboardInterrupt: msg = 'KeyboardInterrupt caught; exiting' print msg - logger.log([msg]) + if logger: + logger.log([msg]) sys.exit(1) except SystemExit: pass except: - for line in traceback.format_exc().split('\n')[:-1]: - logger.log(['exception', line]) + if logger: + for line in traceback.format_exc().split('\n')[:-1]: + logger.log(['exception', line]) raise ################################################################################ if __name__ == "__main__": + os.environ['LANG'] = 'C' + os.environ['LC_ALL'] = 'C' main()