X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=dak%2Fprocess_new.py;h=92dde2d3637d4c3675fbc88682fbc40d6465a923;hb=27e00376e81d1c37ff327ee0d39670b266418869;hp=dfdb2e97104da628b10617a286c08e64bac90e94;hpb=15a944c0f60ff8464b57b9532be660214a3a6bbc;p=dak.git diff --git a/dak/process_new.py b/dak/process_new.py index dfdb2e97..92dde2d3 100755 --- a/dak/process_new.py +++ b/dak/process_new.py @@ -337,33 +337,29 @@ def edit_overrides (new, upload, session): ################################################################################ def check_pkg (upload): + save_stdout = sys.stdout try: - less_fd = os.popen("less -R -", 'w', 0) - stdout_fd = sys.stdout - try: - sys.stdout = less_fd - changes = utils.parse_changes (upload.pkg.changes_file) - print examine_package.display_changes(changes['distribution'], upload.pkg.changes_file) - files = upload.pkg.files - for f in files.keys(): - if files[f].has_key("new"): - ftype = files[f]["type"] - if ftype == "deb": - print examine_package.check_deb(changes['distribution'], f) - elif ftype == "dsc": - print examine_package.check_dsc(changes['distribution'], f) - finally: - print examine_package.output_package_relations() - sys.stdout = stdout_fd - except IOError, e: + sys.stdout = os.popen("less -R -", 'w', 0) + changes = utils.parse_changes (upload.pkg.changes_file) + print examine_package.display_changes(changes['distribution'], upload.pkg.changes_file) + files = upload.pkg.files + for f in files.keys(): + if files[f].has_key("new"): + ftype = files[f]["type"] + if ftype == "deb": + print examine_package.check_deb(changes['distribution'], f) + elif ftype == "dsc": + print examine_package.check_dsc(changes['distribution'], f) + print examine_package.output_package_relations() + except IOError as e: if e.errno == errno.EPIPE: utils.warn("[examine_package] Caught EPIPE; skipping.") - pass else: + sys.stdout = save_stdout raise except KeyboardInterrupt: utils.warn("[examine_package] Caught C-c; skipping.") - pass + sys.stdout = save_stdout ################################################################################ @@ -396,7 +392,7 @@ def add_overrides (new, upload, session): type_id = get_override_type(new[pkg]["type"]).overridetype_id 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"]]) + Logger.log(["%s (%s) overrides" % (pkg, srcpkg), suite, new[pkg]["component"], new[pkg]["type"], new[pkg]["priority"], new[pkg]["section"]]) session.execute("INSERT INTO override (suite, component, type, package, priority, section, maintainer) VALUES (:sid, :cid, :tid, :pkg, :pid, :sectid, '')", { 'sid': suite_id, 'cid': component_id, 'tid':type_id, 'pkg': pkg, 'pid': priority_id, 'sectid': section_id}) for f in new[pkg]["files"]: @@ -615,13 +611,16 @@ def check_daily_lock(): cnf = Config() try: - os.open(cnf["Process-New::DinstallLockFile"], + lockfile = cnf.get("Process-New::DinstallLockFile", + os.path.join(cnf['Dir::Lock'], 'processnew.lock')) + + os.open(lockfile, os.O_RDONLY | os.O_CREAT | os.O_EXCL) - except OSError, e: + except OSError as e: if e.errno == errno.EEXIST or e.errno == errno.EACCES: raise CantGetLockError - os.unlink(cnf["Process-New::DinstallLockFile"]) + os.unlink(lockfile) @contextlib.contextmanager @@ -633,10 +632,13 @@ def lock_package(package): @param package: source package name to lock """ - path = os.path.join(Config()["Process-New::LockDir"], package) + cnf = Config() + + path = os.path.join(cnf.get("Process-New::LockDir", cnf['Dir::Lock']), package) + try: fd = os.open(path, os.O_CREAT | os.O_EXCL | os.O_RDONLY) - except OSError, e: + except OSError as e: if e.errno == errno.EEXIST or e.errno == errno.EACCES: user = pwd.getpwuid(os.stat(path)[stat.ST_UID])[4].split(',')[0].replace('.', '') raise AlreadyLockedError, user @@ -688,6 +690,7 @@ def do_pkg(changes_full_path, session): u.Subst["__BCC__"] = bcc files = u.pkg.files + u.check_distributions() for deb_filename, f in files.items(): if deb_filename.endswith(".udeb") or deb_filename.endswith(".deb"): u.binary_file_checks(deb_filename, session) @@ -717,7 +720,7 @@ def do_pkg(changes_full_path, session): print "Hello? Operator! Give me the number for 911!" print "Dinstall in the locked area, cant process packages, come back later" - except AlreadyLockedError, e: + except AlreadyLockedError as e: print "Seems to be locked by %s already, skipping..." % (e) def show_new_comments(changes_files, session): @@ -787,8 +790,8 @@ def main(): if not Options["No-Action"]: try: - Logger = daklog.Logger(cnf, "process-new") - except CantOpenError, e: + Logger = daklog.Logger("process-new") + except CantOpenError as e: Options["Trainee"] = "True" Sections = Section_Completer(session)