def check_pkg(upload, upload_copy, session): missing = [] save_stdout = sys.stdout changes = os.path.join(upload_copy.directory, upload.changes.changesname) 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 = less_process.stdin print examine_package.display_changes(suite_name, changes) source = upload.source if source is not None: source_file = os.path.join( upload_copy.directory, os.path.basename(source.poolfile.filename)) print examine_package.check_dsc(suite_name, source_file) for binary in upload.binaries: binary_file = os.path.join( upload_copy.directory, os.path.basename(binary.poolfile.filename)) examined = examine_package.check_deb(suite_name, binary_file) # We always need to call check_deb to display package relations for every binary, # but we print its output only if new overrides are being added. if ("deb", binary.package) in missing: 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.") else: raise except KeyboardInterrupt: utils.warn("[examine_package] Caught C-c; skipping.") finally: less_process.wait() sys.stdout = save_stdout
def check_pkg (upload, upload_copy, session): missing = [] save_stdout = sys.stdout changes = os.path.join(upload_copy.directory, upload.changes.changesname) 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 = less_process.stdin print examine_package.display_changes(suite_name, changes) source = upload.source if source is not None: source_file = os.path.join(upload_copy.directory, os.path.basename(source.poolfile.filename)) print examine_package.check_dsc(suite_name, source_file) for binary in upload.binaries: binary_file = os.path.join(upload_copy.directory, os.path.basename(binary.poolfile.filename)) examined = examine_package.check_deb(suite_name, binary_file) # We always need to call check_deb to display package relations for every binary, # but we print its output only if new overrides are being added. if ("deb", binary.package) in missing: 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.") else: raise except KeyboardInterrupt: utils.warn("[examine_package] Caught C-c; skipping.") finally: less_process.wait() sys.stdout = save_stdout
def check_pkg (upload): save_stdout = sys.stdout try: 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.") else: sys.stdout = save_stdout raise except KeyboardInterrupt: utils.warn("[examine_package] Caught C-c; skipping.") sys.stdout = save_stdout