>>> Building on exopi-4 under sysutils/mdprint BDEPENDS = [converters/rpm2cpio;lang/python/3.10] DIST = [sysutils/mdprint:ldomsmanager-3.5.0.0-30.2411.1.el6.src.rpm] FULLPKGNAME = mdprint-1.3p5 RDEPENDS = [lang/python/3.10] (Junk lock obtained for exopi-4 at 1713951809.72) >>> Running depends in sysutils/mdprint at 1713951809.76 last junk was in audio/py-last,python3 /usr/sbin/pkg_add -aI -Drepair python-3.10.14p0 rpm2cpio-1.4p1 was: /usr/sbin/pkg_add -aI -Drepair python-3.10.14p0 rpm2cpio-1.4p1 /usr/sbin/pkg_add -aI -Drepair python-3.10.14p0 rpm2cpio-1.4p1 >>> Running show-prepare-results in sysutils/mdprint at 1713951812.58 ===> sysutils/mdprint ===> Building from scratch mdprint-1.3p5 ===> mdprint-1.3p5 depends on: python->=3.10,<3.11 -> python-3.10.14p0 ===> mdprint-1.3p5 depends on: rpm2cpio-* -> rpm2cpio-1.4p1 python-3.10.14p0 rpm2cpio-1.4p1 (Junk lock released for exopi-4 at 1713951813.19) distfiles size=3161782 >>> Running build in sysutils/mdprint at 1713951813.23 ===> sysutils/mdprint ===> Checking files for mdprint-1.3p5 `/exopi-cvs/ports/distfiles/ldomsmanager-3.5.0.0-30.2411.1.el6.src.rpm' is up to date. >> (SHA256) ldomsmanager-3.5.0.0-30.2411.1.el6.src.rpm: OK ===> Extracting for mdprint-1.3p5 cd /exopi-obj/pobj/mdprint-1.3 && /bin/tar -xfldomsmanager-3.5.0.0-30.2411.1.tar ldomsmanager-3.5.0.0-30.2411.1/tools/mdprint/mdprint.py ===> Patching for mdprint-1.3p5 ===> Applying OpenBSD patch patch-tools_mdprint_mdprint_py Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |Use equality tests instead of identity checks with literals to fix Python 3.8+ |SyntaxWarning messages. | |Ensure integer typed results from integer division with the floordiv operator |when using Python 3. `type(int(1)/int(1))' yields "" and |"" in Python 2 and 3 respectively. | |Decode ARC node names and string property values as UTF-8 to preserve the output |format and fix --grep when using Python 3, e.g. print/use "value" instead of |"b'value'". Python 3 uses type "" and does not decode |automatically, Python 2 uses "" already for everything. | |Adapt sloppy conversion of tuples into hex encoded strings likewise. | |Index: tools/mdprint/mdprint.py |--- tools/mdprint/mdprint.py.orig |+++ tools/mdprint/mdprint.py -------------------------- Patching file tools/mdprint/mdprint.py using Plan A... Hunk #1 succeeded at 106. Hunk #2 succeeded at 165. Hunk #3 succeeded at 186. Hunk #4 succeeded at 266. Hunk #5 succeeded at 292. Hunk #6 succeeded at 495. Hunk #7 succeeded at 511. Hunk #8 succeeded at 553. Hunk #9 succeeded at 573. Hunk #10 succeeded at 624. Hunk #11 succeeded at 643. Hunk #12 succeeded at 754. Hunk #13 succeeded at 774. Hunk #14 succeeded at 786. Hunk #15 succeeded at 795. Hunk #16 succeeded at 804. Hunk #17 succeeded at 820. done ===> Compiler link: clang -> /usr/bin/clang ===> Compiler link: clang++ -> /usr/bin/clang++ ===> Compiler link: cc -> /usr/bin/cc ===> Compiler link: c++ -> /usr/bin/c++ ===> Generating configure for mdprint-1.3p5 ===> Configuring for mdprint-1.3p5 ===> Building for mdprint-1.3p5 2to3-3.10 -j1 -Wno/exopi-obj/pobj/mdprint-1.3/build-amd64 /exopi-obj/pobj/mdprint-1.3/ldomsmanager-3.5.0.0-30.2411.1/tools/mdprint/mdprint.py WARNING: --write-unchanged-files/-W implies -w. lib2to3.main: Output in '/exopi-obj/pobj/mdprint-1.3/build-amd64' will mirror the input directory '/exopi-obj/pobj/mdprint-1.3/ldomsmanager-3.5.0.0-30.2411.1/tools/mdprint' layout. RefactoringTool: Skipping optional fixer: buffer RefactoringTool: Skipping optional fixer: idioms RefactoringTool: Skipping optional fixer: set_literal RefactoringTool: Skipping optional fixer: ws_comma RefactoringTool: Refactored /exopi-obj/pobj/mdprint-1.3/ldomsmanager-3.5.0.0-30.2411.1/tools/mdprint/mdprint.py --- /exopi-obj/pobj/mdprint-1.3/ldomsmanager-3.5.0.0-30.2411.1/tools/mdprint/mdprint.py (original) +++ /exopi-obj/pobj/mdprint-1.3/ldomsmanager-3.5.0.0-30.2411.1/tools/mdprint/mdprint.py (refactored) @@ -88,7 +88,7 @@ for node_string in node_strings: tokens = node_string.split('.') node_name = tokens.pop(0) - prop_names = filter(lambda (s): s, tokens) # remove empty strings + prop_names = [s for s in tokens if s] # remove empty strings if node_name not in nodes: nodes[node_name] = prop_names else: @@ -155,7 +155,7 @@ self.data_blk_off = None def node_ids(self): - return self.keys() + return list(self.keys()) def parse_header(self): (self.major, self.minor, self.node_blk_sz, self.name_blk_sz, @@ -379,18 +379,18 @@ # Print arcs, ordered by target node type. # Use this lambda function to sort by node type. - f = lambda (node_id, node): node.type - arc_name_f = lambda (t):t[0] + f = lambda node_id_node: node_id_node[1].type + arc_name_f = lambda t:t[0] if self.settings.backlinks: - for _, target_node in sorted(node.backs.iteritems(), key=f): + for _, target_node in sorted(iter(node.backs.items()), key=f): if (not subgraph) or target_node.in_subgraph: self.print_back_arc(md, node, target_node, self.settings) - for _, target_node in sorted(node.fwds.iteritems(), key=f): + for _, target_node in sorted(iter(node.fwds.items()), key=f): self.print_fwd_arc(md, node, target_node, self.settings) - for (arc_name, _), target_node in sorted(node.named_arcs.iteritems(), + for (arc_name, _), target_node in sorted(iter(node.named_arcs.items()), key=arc_name_f): self.print_named_arc(md, node, arc_name, target_node, self.settings) @@ -549,22 +549,22 @@ def node_start(self, md, node, settings): if settings.nodeids: - print("%s (node 0x%x) {" % (node.type, node.node_id)) - else: - print("%s {" % node.type) + print(("%s (node 0x%x) {" % (node.type, node.node_id))) + else: + print(("%s {" % node.type)) def print_str_prop(self, md, node, prop_name, prop_val): - print("\t%s = \"%s\"" % (prop_name, prop_val.decode('utf-8'))) + print(("\t%s = \"%s\"" % (prop_name, prop_val.decode('utf-8')))) def print_val_prop(self, md, node, prop_name, prop_val): - print("\t%s = 0x%x /* %d */" % (prop_name, prop_val, prop_val)) + print(("\t%s = 0x%x /* %d */" % (prop_name, prop_val, prop_val))) def print_data_prop(self, md, node, prop_name, prop_val): - print "\t%s = {" % prop_name + print("\t%s = {" % prop_name) strings = Parser.get_string_list(prop_val) if strings: for s in strings[:-1]: - print "\t\t\"%s\"," % s - print "\t\t\"%s\"" % strings[-1] + print("\t\t\"%s\"," % s) + print("\t\t\"%s\"" % strings[-1]) else: print_byte = lambda b:"0x%02x" % b @@ -576,30 +576,30 @@ for i in range(0, (len(prop_val)+bpl-1)//bpl): raw = "%s" % ' '.join(map(print_byte, prop_val[i * bpl:(i+1) * bpl])) - print "\t\t%s" % raw - - print "\t}" + print("\t\t%s" % raw) + + print("\t}") def print_named_arc(self, md, node, arc_name, target_node, settings): if settings.nodeids: - print("\t%s --> %s (node 0x%x)" % - (arc_name, target_node.type, target_node.node_id)) - else: - print("\t%s --> %s" % (arc_name, target_node.type)) + print(("\t%s --> %s (node 0x%x)" % + (arc_name, target_node.type, target_node.node_id))) + else: + print(("\t%s --> %s" % (arc_name, target_node.type))) def print_fwd_arc(self, md, node, target_node, settings): if settings.nodeids: - print("\tfwd --> %s (node 0x%x)" % - (target_node.type, target_node.node_id)) - else: - print("\tfwd --> %s" % target_node.type) + print(("\tfwd --> %s (node 0x%x)" % + (target_node.type, target_node.node_id))) + else: + print(("\tfwd --> %s" % target_node.type)) def print_back_arc(self, md, node, target_node, settings): if settings.nodeids: - print("\tbak <-- %s (node 0x%x)" % - (target_node.type, target_node.node_id)) - else: - print("\tbak <-- %s" % target_node.type) + print(("\tbak <-- %s (node 0x%x)" % + (target_node.type, target_node.node_id))) + else: + print(("\tbak <-- %s" % target_node.type)) def node_end(self, md, node): print("}") @@ -613,29 +613,29 @@ self.header_string = header def md_start(self, md): - print "MD" + print("MD") if self.header_string: - print "
" + header + "
" + print("
" + header + "
") def node_start(self, md, node, settings): - print ("

%s " + print(("

%s " "node 0x%x (%d %s nodes)" % (node.node_id, node.node_id, node.type, node.node_id, - md.counts[node.type], node.type)) + md.counts[node.type], node.type))) def print_str_prop(self, md, node, prop_name, prop_val): - print("
%s = \"%s\"" % (prop_name, prop_val.decode('utf-8'))) + print(("
%s = \"%s\"" % (prop_name, prop_val.decode('utf-8')))) def print_val_prop(self, md, node, prop_name, prop_val): - print("
%s = 0x%x /* %d */" % (prop_name, prop_val, prop_val)) + print(("
%s = 0x%x /* %d */" % (prop_name, prop_val, prop_val))) def print_data_prop(self, md, node, prop_name, prop_val): - print("
%s = {" % prop_name) + print(("
%s = {" % prop_name)) strings = Parser.get_string_list(prop_val) if strings: for s in strings: - print "
 \"%s\"" % s + print("
 \"%s\"" % s) else: print_byte = lambda b:"0x%02x" % b bpl = 8 # bytes per line @@ -644,31 +644,31 @@ # chunk of 8 bytes in the byte array, get an array # slice 8-long and join it with a space. for i in range(0, (len(prop_val)+bpl-1)//bpl): - print "
 ", ', '.join(map(print_byte, - prop_val[i * bpl:(i+1) * bpl])) + print("
 ", ', '.join(map(print_byte, + prop_val[i * bpl:(i+1) * bpl]))) print("
}") def print_fwd_arc(self, md, node, target_node, settings): - print ("
%s node_0x%x" % - (target_node.node_id, target_node.type, target_node.node_id)) + print(("
%s node_0x%x" % + (target_node.node_id, target_node.type, target_node.node_id))) def print_back_arc(self, md, node, target_node, settings): - print ("
%s node_0x%x" % - (target_node.node_id, target_node.type, target_node.node_id)) + print(("
%s node_0x%x" % + (target_node.node_id, target_node.type, target_node.node_id))) def print_named_arc(self, md, node, arc_name, target_node, settings): - print ("
%s → %s node_0x%x" % + print(("
%s → %s node_0x%x" % (arc_name, target_node.node_id, target_node.type, - target_node.node_id)) + target_node.node_id))) def node_end(self, md, node): - print "

" - print "
" - print "
" + print("

") + print("
") + print("
") def md_end(self, md): - print '' + print('') class PrintSettings: def __init__(self, parsable, backlinks, node_ids): @@ -917,7 +917,7 @@ (md[flags.root].type, flags.root) if node_filter.grep: header += "Limiting output to\n" - for node in node_filter.grep.keys(): + for node in list(node_filter.grep.keys()): if len(node_filter.grep[node]) == 0: props = '*' else: @@ -945,7 +945,7 @@ printer.print_subgraph(md, flags.root) else: printer.print_md(md) - except IOError, e: + except IOError as e: if e.errno != errno.EPIPE: raise RefactoringTool: Writing converted /exopi-obj/pobj/mdprint-1.3/ldomsmanager-3.5.0.0-30.2411.1/tools/mdprint/mdprint.py to /exopi-obj/pobj/mdprint-1.3/build-amd64/mdprint.py. RefactoringTool: Files that were modified: RefactoringTool: /exopi-obj/pobj/mdprint-1.3/ldomsmanager-3.5.0.0-30.2411.1/tools/mdprint/mdprint.py >>> Running package in sysutils/mdprint at 1713951814.84 ===> sysutils/mdprint ===> Faking installation for mdprint-1.3p5 /exopi-obj/pobj/mdprint-1.3/bin/install -c -m 755 /exopi-obj/pobj/mdprint-1.3/build-amd64/mdprint.py /exopi-obj/pobj/mdprint-1.3/fake-amd64/usr/local/bin/mdprint ===> Building package for mdprint-1.3p5 Create /exopi-cvs/ports/packages/amd64/all/mdprint-1.3p5.tgz Creating package mdprint-1.3p5 reading plist| checking dependencies| checking dependencies|lang/python/3.10,-main checksumming| checksumming| | 0% checksumming|******* | 11% checksumming|************** | 22% checksumming|******************** | 33% checksumming|*************************** | 44% checksumming|********************************** | 56% checksumming|***************************************** | 67% checksumming|*********************************************** | 78% checksumming|****************************************************** | 89% checksumming|*************************************************************|100% archiving| archiving| | 0% archiving|* | 2% archiving|****************************************************************|100% Link to /exopi-cvs/ports/packages/amd64/ftp/mdprint-1.3p5.tgz >>> Running clean in sysutils/mdprint at 1713951815.95 ===> sysutils/mdprint ===> Cleaning for mdprint-1.3p5 >>> Ended at 1713951816.15 max_stuck=2.70/depends=2.83/show-prepare-results=0.64/build=1.58/package=1.15/clean=0.22