X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fprocess_new.py;h=3a8dbc7bb13bdd81000e5974802ba063525dc4cb;hb=7506647c33bcd5302a95c4505ad3eb290b3168e3;hp=a07470faaaa1f34a1457b5c35c930f61cdbb428b;hpb=01ee51191df7ebb38160b7942530a09ec14ad538;p=dak.git diff --git a/dak/process_new.py b/dak/process_new.py index a07470fa..3a8dbc7b 100755 --- a/dak/process_new.py +++ b/dak/process_new.py @@ -54,12 +54,14 @@ import contextlib import pwd import apt_pkg, apt_inst import examine_package + from daklib import database -from daklib import logging +from daklib import daklog from daklib import queue from daklib import utils from daklib.regexes import re_no_epoch, re_default_answer, re_isanum from daklib.dak_exceptions import CantOpenError, AlreadyLockedError, CantGetLockError +from daklib.summarystats import SummaryStats # Globals Cnf = None #: Configuration, apt_pkg.Configuration @@ -552,6 +554,7 @@ def do_bxa_notification(): def add_overrides (new): changes = Upload.pkg.changes files = Upload.pkg.files + srcpkg = changes.get("source") projectB.query("BEGIN WORK") for suite in changes["suite"].keys(): @@ -561,6 +564,7 @@ def add_overrides (new): type_id = database.get_override_type_id(new[pkg]["type"]) priority_id = new[pkg]["priority id"] section_id = new[pkg]["section id"] + Logger.log(["%s overrides" % (srcpkg), suite, new[pkg]["component"], new[pkg]["type"], new[pkg]["priority"], new[pkg]["section"]]) projectB.query("INSERT INTO override (suite, component, type, package, priority, section, maintainer) VALUES (%s, %s, %s, '%s', %s, %s, '')" % (suite_id, component_id, type_id, pkg, priority_id, section_id)) for f in new[pkg]["files"]: if files[f].has_key("new"): @@ -687,10 +691,15 @@ def do_new(): answer = m.group(1) answer = answer[:1].upper() + if answer in ( 'A', 'E', 'M', 'O', 'R' ) and Options["Trainee"]: + utils.warn("Trainees can't do that") + continue + if answer == 'A' and not Options["Trainee"]: try: check_daily_lock() done = add_overrides (new) + Logger.log([utils.getusername(), "NEW ACCEPT: %s" % (Upload.pkg.changes_file)]) except CantGetLockError: print "Hello? Operator! Give me the number for 911!" print "Dinstall in the locked area, cant process packages, come back later" @@ -703,12 +712,14 @@ def do_new(): reject_message=Options["Manual-Reject"], note=database.get_new_comments(changes.get("source", ""))) if not aborted: + Logger.log([utils.getusername(), "NEW REJECT: %s" % (Upload.pkg.changes_file)]) os.unlink(Upload.pkg.changes_file[:-8]+".dak") done = 1 elif answer == 'N': edit_note(database.get_new_comments(changes.get("source", ""))) elif answer == 'P' and not Options["Trainee"]: prod_maintainer(database.get_new_comments(changes.get("source", ""))) + Logger.log([utils.getusername(), "NEW PROD: %s" % (Upload.pkg.changes_file)]) elif answer == 'R' and not Options["Trainee"]: confirm = utils.our_raw_input("Really clear note (y/N)? ").lower() if confirm == "y": @@ -769,7 +780,7 @@ def init(): if not Options["No-Action"]: try: - Logger = Upload.Logger = logging.Logger(Cnf, "process-new") + Logger = Upload.Logger = daklog.Logger(Cnf, "process-new") except CantOpenError, e: Options["Trainee"] = "True" @@ -821,10 +832,12 @@ def do_byhand(): done = 1 for f in byhand: del files[f] + Logger.log([utils.getusername(), "BYHAND ACCEPT: %s" % (Upload.pkg.changes_file)]) except CantGetLockError: print "Hello? Operator! Give me the number for 911!" print "Dinstall in the locked area, cant process packages, come back later" elif answer == 'M': + Logger.log([utils.getusername(), "BYHAND REJECT: %s" % (Upload.pkg.changes_file)]) Upload.do_reject(1, Options["Manual-Reject"]) os.unlink(Upload.pkg.changes_file[:-8]+".dak") done = 1 @@ -927,10 +940,12 @@ def do_accept_stableupdate(suite, q): # writing this means that it is installed, so put it into # accepted. print "Binary-only upload, source installed." + Logger.log([utils.getusername(), "PUNEW ACCEPT: %s" % (Upload.pkg.changes_file)]) _accept() elif is_source_in_queue_dir(Cnf["Dir::Queue::Accepted"]): # The source is in accepted, the binary cleared NEW: accept it. print "Binary-only upload, source in accepted." + Logger.log([utils.getusername(), "PUNEW ACCEPT: %s" % (Upload.pkg.changes_file)]) _accept() elif is_source_in_queue_dir(Cnf["Dir::Queue::New"]): # It's in NEW. We expect the source to land in p-u holding @@ -940,6 +955,7 @@ def do_accept_stableupdate(suite, q): elif is_source_in_queue_dir(Cnf["Dir::Queue::Newstage"]): # It's in newstage. Accept into the holding area print "Binary-only upload, source in newstage." + Logger.log([utils.getusername(), "PUNEW ACCEPT: %s" % (Upload.pkg.changes_file)]) _accept() else: # No case applicable. Bail out. Return will cause the upload @@ -1021,15 +1037,15 @@ def do_pkg(changes_file): ################################################################################ def end(): - accept_count = Upload.accept_count - accept_bytes = Upload.accept_bytes + accept_count = SummaryStats().accept_count + accept_bytes = SummaryStats().accept_bytes if accept_count: sets = "set" if accept_count > 1: sets = "sets" sys.stderr.write("Accepted %d package %s, %s.\n" % (accept_count, sets, utils.size_type(int(accept_bytes)))) - Logger.log(["total",accept_count,accept_bytes]) + Logger.log([utils.getusername(), "total",accept_count,accept_bytes]) if not Options["No-Action"] and not Options["Trainee"]: Logger.close()