X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fmake_maintainers.py;h=0733f3bc3d46de3020701019dd42164cfa919ee0;hb=c9dc404548a6001e8bbf7908a31a2992b3d4d78c;hp=4a6f0196755987b0c8435a7796a554a7596b3964;hpb=c8dddd950800e46332cd82ed8ad8706a88597886;p=dak.git diff --git a/dak/make_maintainers.py b/dak/make_maintainers.py index 4a6f0196..0733f3bc 100755 --- a/dak/make_maintainers.py +++ b/dak/make_maintainers.py @@ -31,6 +31,17 @@ Generate Maintainers file used by e.g. the Debian Bug Tracking System ################################################################################ +from daklib import daklog +from daklib import utils +from daklib.config import Config +from daklib.dbconn import * +from daklib.regexes import re_comments + +import apt_pkg +import sys + +################################################################################ + def usage (exit_code=0): print """Usage: dak make-maintainers [OPTION] EXTRA_FILE[...] Generate an index of packages <=> Maintainers / Uploaders. @@ -66,6 +77,7 @@ def main(): if Options["Help"]: usage() + Logger = daklog.Logger(cnf.Cnf, 'make-maintainers') session = DBConn().session() # dictionary packages to maintainer names @@ -81,15 +93,30 @@ def main(): select distinct on (package) * from binaries order by package, version desc''') + Logger.log(['sources']) for source in source_query: maintainers[source.source] = source.maintainer.name uploaders[source.source] = uploader_list(source) + Logger.log(['binaries']) for binary in binary_query: if binary.package not in maintainers: maintainers[binary.package] = binary.maintainer.name uploaders[binary.package] = uploader_list(binary.source) + Logger.log(['files']) + # Process any additional Maintainer files (e.g. from pseudo + # packages) + for filename in extra_files: + extrafile = utils.open_file(filename) + for line in extrafile.readlines(): + line = re_comments.sub('', line).strip() + if line == "": + continue + (package, maintainer) = line.split(None, 1) + maintainers[package] = maintainer + uploaders[package] = [maintainer] + maintainer_file = open('Maintainers', 'w') uploader_file = open('Uploaders', 'w') for package in sorted(uploaders): @@ -98,6 +125,7 @@ def main(): uploader_file.write(format(package, uploader)) uploader_file.close() maintainer_file.close() + Logger.close() ################################################################################