X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=dak%2Fprocess_new.py;h=9f9a39cf2154e4465dddb688798778721c7f235e;hb=47cd096281f1cc36dfe9818ef1fbae8d02f6ada6;hp=c25027dc5f807281c26d7f4d694da927c7c5c127;hpb=7b274dc7e257ca19d101b2529fd898a446964d1f;p=dak.git diff --git a/dak/process_new.py b/dak/process_new.py index c25027dc..9f9a39cf 100755 --- a/dak/process_new.py +++ b/dak/process_new.py @@ -53,6 +53,7 @@ import contextlib import pwd import apt_pkg, apt_inst import examine_package +import subprocess import daklib.daksubprocess from sqlalchemy import or_ @@ -346,8 +347,11 @@ def check_pkg (upload, upload_copy, session): suite_name = upload.target_suite.suite_name handler = PolicyQueueUploadHandler(upload, session) missing = [(m['type'], m["package"]) for m in handler.missing_overrides(hints=missing)] + + less_cmd = ("less", "-R", "-") + less_process = daklib.daksubprocess.Popen(less_cmd, bufsize=0, stdin=subprocess.PIPE) try: - sys.stdout = os.popen("less -R -", 'w', 0) + sys.stdout = less_process.stdin print examine_package.display_changes(suite_name, changes) source = upload.source @@ -364,6 +368,7 @@ def check_pkg (upload, upload_copy, session): print examined print examine_package.output_package_relations() + less_process.stdin.close() except IOError as e: if e.errno == errno.EPIPE: utils.warn("[examine_package] Caught EPIPE; skipping.") @@ -372,6 +377,7 @@ def check_pkg (upload, upload_copy, session): except KeyboardInterrupt: utils.warn("[examine_package] Caught C-c; skipping.") finally: + less_process.wait() sys.stdout = save_stdout ################################################################################