From nobody Tue Oct 31 12:33:46 2023 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4SKV1Q4gSDz4yKSr; Tue, 31 Oct 2023 12:33:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4SKV1Q4WB4z4cWQ; Tue, 31 Oct 2023 12:33:46 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1698755626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mfbJptwwP96GM5ngQYrMbGli39jYPAwyMuw4Uhgo0ZI=; b=R0UbI/R44dcGbbc6Pdm6BnFODxI8UWUt8Lgjenb9tRu6EQIoEzozGnkAbEHis3k2vfGLgK 9XUajchI/1+mPc4FcK5C1VTitVgHOGE4PaXSgZ40M3p4Dzko9ykrwNEqsF82t1cttJiDnV fqcUtZiIa62yW7yLhe07LGS4cJ8p+NAHq7dqTLagDIX805uS9FD57SYs+rVcUV04I4VPN8 oPgV4erNj1DlRUKa2AjwCz8Wqo7zJkfXkSyXe509c8UynYbpR9Vc3AI7uitz9bTNIwR+vK XCuk4R/K1majPU/ehSFNAm2nn5Siwa4z//R2uDFughYwAOw1f5VGQ433cDqWEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1698755626; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mfbJptwwP96GM5ngQYrMbGli39jYPAwyMuw4Uhgo0ZI=; b=dBMlDQTJlDWXK0MKicY20fQINH4A+nX9ZdPFcmEjTrUOOVToxi9a5ASerb0U0s7B64aOno 1Uc23SsXRnsTuQF+5SS8Pl2IgI2aSLK6FlyF42H1GWE8fciI8HXuH25w+tkEepoFu4bX9e rIYp+Z0MhRaZGvc+ZjmL+NYrVV9RibXQqGE85QsYdVNQDO/kd5i8zyOjf7SE8WJenGqHWR wt+QY5t0w3CWNuDd1kWC1TBZFXMookgRCfghDLhJTjal8fq5axK5ve7FymiT3Vppn6CELe sIWQioHT1y7tfA1qqXmFvMrKneRWJzfuvS7p7Ry1K/5UiwjArOapNJyQbPp2AQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1698755626; a=rsa-sha256; cv=none; b=mYtamrynpVgkulnxF+DRkb8iNZnyDutxrVmJ0zaYC62QvQPluz/HdIL6nL17HVABL8WLSX b1oKivcX4++okyDsCF6XeMt/XAnv6rmIvv2lXaoioUnqvS5muKwb8Er3auhL/z3I3A/3cl A9N7/fB5sZFeKbJYub2ykICdiBj5EJLq5lB7DkuSUMYwPqz1yqeTvqbUz1KBG7qIKSTwjO FG0M/tMpuI6z6FylShwjitC/x6xcvedZlF4oQVIKfUjufkRCa3MzErHuu9kGJXDCJXLRwS 4WOGCmFIynFZCgdnxGXog42NNYkVZNmcy5/zlTxeDyQa2KEBrm19qu+oG/axbA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4SKV1Q3bgQz13cm; Tue, 31 Oct 2023 12:33:46 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 39VCXkTq096632; Tue, 31 Oct 2023 12:33:46 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 39VCXkIZ096629; Tue, 31 Oct 2023 12:33:46 GMT (envelope-from git) Date: Tue, 31 Oct 2023 12:33:46 GMT Message-Id: <202310311233.39VCXkIZ096629@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Kai Knoblich Subject: git: 0f718a20324a - main - net-mgmt/py-ciscoconfparse: Update to 1.9.16 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kai X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 0f718a20324a9ba6e3d3ebacacf360b1b0394d84 Auto-Submitted: auto-generated The branch main has been updated by kai: URL: https://cgit.FreeBSD.org/ports/commit/?id=0f718a20324a9ba6e3d3ebacacf360b1b0394d84 commit 0f718a20324a9ba6e3d3ebacacf360b1b0394d84 Author: Kai Knoblich AuthorDate: 2023-10-31 12:28:38 +0000 Commit: Kai Knoblich CommitDate: 2023-10-31 12:33:15 +0000 net-mgmt/py-ciscoconfparse: Update to 1.9.16 * Switch to PEP517 build framework. * Convert to USE_PYTHON=pytest to simplify Makefile. * Remove no longer required patch for newer releases of setuptools. Changelog since 1.5.51: https://github.com/mpenning/ciscoconfparse/compare/v1.5.51...1.9.16 --- net-mgmt/py-ciscoconfparse/Makefile | 23 +- net-mgmt/py-ciscoconfparse/distinfo | 6 +- net-mgmt/py-ciscoconfparse/files/patch-2to3 | 461 --------------------- .../py-ciscoconfparse/files/patch-pyproject.toml | 25 ++ 4 files changed, 40 insertions(+), 475 deletions(-) diff --git a/net-mgmt/py-ciscoconfparse/Makefile b/net-mgmt/py-ciscoconfparse/Makefile index 3c90e14ed0b3..4142ac1082d8 100644 --- a/net-mgmt/py-ciscoconfparse/Makefile +++ b/net-mgmt/py-ciscoconfparse/Makefile @@ -1,5 +1,5 @@ PORTNAME= ciscoconfparse -DISTVERSION= 1.5.51 +DISTVERSION= 1.9.16 CATEGORIES= net-mgmt python MASTER_SITES= PYPI PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} @@ -11,19 +11,20 @@ WWW= http://www.pennington.net/py/ciscoconfparse/ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/LICENSE -BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}loguru>0:devel/py-loguru@${PY_FLAVOR} -RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}colorama>0:devel/py-colorama@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}dnspython>0:dns/py-dnspython@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}loguru>0:devel/py-loguru@${PY_FLAVOR} \ - ${PYTHON_PKGNAMEPREFIX}passlib>0:security/py-passlib@${PY_FLAVOR} -TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.6.1:devel/py-poetry-core@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}packaging>=23.0:devel/py-packaging@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}wheel>=0.38.4:devel/py-wheel@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}deprecated>=1.2.14:devel/py-deprecated@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dnspython>=2.4.2:dns/py-dnspython@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}loguru>=0.7.2:devel/py-loguru@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}passlib>=1.7.4:security/py-passlib@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}toml>=0.10.2:textproc/py-toml@${PY_FLAVOR} USES= python -USE_PYTHON= distutils autoplist +USE_PYTHON= autoplist pep517 pytest -NO_ARCH= yes +TEST_ENV= PYTHONPATH=${STAGEDIR}${PYTHONPREFIX_SITELIBDIR} -do-test: - @cd ${WRKSRC} && ${SETENV} ${TEST_ENV} ${PYTHON_CMD} -m pytest -v -rs +NO_ARCH= yes .include diff --git a/net-mgmt/py-ciscoconfparse/distinfo b/net-mgmt/py-ciscoconfparse/distinfo index 5a013a2c7c0a..a64c5baa1e36 100644 --- a/net-mgmt/py-ciscoconfparse/distinfo +++ b/net-mgmt/py-ciscoconfparse/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1635877655 -SHA256 (ciscoconfparse-1.5.51.tar.gz) = 392688d883727cc85b09d294bcc13c15e5d8f9c7b3b571ad8570028514ae1364 -SIZE (ciscoconfparse-1.5.51.tar.gz) = 145675 +TIMESTAMP = 1698590690 +SHA256 (ciscoconfparse-1.9.16.tar.gz) = 35dca4b79d24bf18e7e85ed045e99785f2b4914fe11de0ca4ffa389c064d3045 +SIZE (ciscoconfparse-1.9.16.tar.gz) = 463762 diff --git a/net-mgmt/py-ciscoconfparse/files/patch-2to3 b/net-mgmt/py-ciscoconfparse/files/patch-2to3 deleted file mode 100644 index 9061000f81fb..000000000000 --- a/net-mgmt/py-ciscoconfparse/files/patch-2to3 +++ /dev/null @@ -1,461 +0,0 @@ ---- ciscoconfparse/__init__.py.orig 2021-11-02 03:51:35 UTC -+++ ciscoconfparse/__init__.py -@@ -1,4 +1,4 @@ --from __future__ import absolute_import -+ - from ciscoconfparse.ciscoconfparse import __author_email__ - from ciscoconfparse.ciscoconfparse import __author__ - from ciscoconfparse.ciscoconfparse import __license__ ---- ciscoconfparse/__main__.py.orig 2021-11-02 03:51:35 UTC -+++ ciscoconfparse/__main__.py -@@ -1,4 +1,4 @@ --from __future__ import absolute_import -+ - - """ __main__.py - Parse, Query, Build, and Modify IOS-style configurations - ---- ciscoconfparse/ccp_abc.py.orig 2021-11-02 03:51:35 UTC -+++ ciscoconfparse/ccp_abc.py -@@ -1,4 +1,4 @@ --from __future__ import absolute_import -+ - from operator import methodcaller, attrgetter - from abc import ABCMeta, abstractmethod - from copy import deepcopy -@@ -37,9 +37,7 @@ r""" ccp_abc.py - Parse, Query, Build, and Modify IOS- - ## - - --class BaseCfgLine(object): -- __metaclass__ = ABCMeta -- -+class BaseCfgLine(object, metaclass=ABCMeta): - def __init__(self, text="", comment_delimiter="!"): - """Accept an IOS line number and initialize family relationship - attributes""" -@@ -313,14 +311,14 @@ class BaseCfgLine(object): - ! - >>> - """ -- cobjs = filter(methodcaller("re_search", linespec), self.children) -- retval = map(attrgetter("text"), cobjs) -+ cobjs = list(filter(methodcaller("re_search", linespec), self.children)) -+ retval = list(map(attrgetter("text"), cobjs)) - # Delete the children -- map(methodcaller("delete"), cobjs) -+ list(map(methodcaller("delete"), cobjs)) - return retval - - def has_child_with(self, linespec): -- return bool(filter(methodcaller("re_search", linespec), self.children)) -+ return bool(list(filter(methodcaller("re_search", linespec), self.children))) - - @junos_unsupported - def insert_before(self, insertstr): -@@ -876,7 +874,7 @@ class BaseCfgLine(object): - a list of all ancestors in the direct line as well as this obj. - Cousins or aunts / uncles are *not* returned. Note: children of this - object are *not* returned.""" -- retval = map(lambda x: x.text, sorted(self.all_parents)) -+ retval = [x.text for x in sorted(self.all_parents)] - retval.append(self.text) - return retval - ---- ciscoconfparse/ccp_util.py.orig 2021-11-02 03:51:35 UTC -+++ ciscoconfparse/ccp_util.py -@@ -1,4 +1,4 @@ --from __future__ import absolute_import -+ - from operator import attrgetter - from colorama import Fore - import itertools -@@ -542,7 +542,7 @@ class IPv4Obj(object): - ## For Python3 iteration... - return self.network_object.__next__() - -- def next(self): -+ def __next__(self): - ## For Python2 iteration... - return self.network_object.__next__() - -@@ -998,7 +998,7 @@ class IPv6Obj(object): - ## For Python3 iteration... - return self.network_object.__next__() - -- def next(self): -+ def __next__(self): - ## For Python2 iteration... - return self.network_object.__next__() - -@@ -1399,7 +1399,7 @@ def dns_query(input_str="", query_type="", server="", - elif query_type == "AXFR": - """This is a hack: return text of zone transfer, instead of axfr objs""" - _zone = zone.from_xfr(query.xfr(server, input_str, lifetime=timeout)) -- return [_zone[node].to_text(node) for node in _zone.nodes.keys()] -+ return [_zone[node].to_text(node) for node in list(_zone.nodes.keys())] - elif query_type == "CNAME": - try: - answer = resolver.query(input_str, query_type) -@@ -1689,7 +1689,7 @@ class CiscoRange(MutableSequence): - - # Unicode is the only type with .isnumeric()... - if sys.version_info < (3, 0, 0): -- prefix_removed = unicode(ii[len(common_prefix):], "utf-8") -+ prefix_removed = str(ii[len(common_prefix):], "utf-8") - else: - prefix_removed = ii[len(common_prefix):] - -@@ -1734,7 +1734,7 @@ class CiscoRange(MutableSequence): - begin, end = int(begin.strip()), int(end.strip()) + 1 - assert begin > -1 - assert end > begin -- retval.extend(range(begin, end)) -+ retval.extend(list(range(begin, end))) - return list(set(retval)) - - def _range(self): -@@ -1784,7 +1784,7 @@ class CiscoRange(MutableSequence): - for ii in self._list: - # Removed try / except which is slower than sys.version_info - if sys.version_info < (3, 0, 0): -- unicode_ii = unicode(str(ii)) # Python2.7... -+ unicode_ii = str(str(ii)) # Python2.7... - else: - unicode_ii = str(ii) - ---- ciscoconfparse/ciscoconfparse.py.orig 2021-11-02 03:51:35 UTC -+++ ciscoconfparse/ciscoconfparse.py -@@ -1,6 +1,6 @@ - --from __future__ import absolute_import - -+ - from loguru import logger - - from ciscoconfparse.models_cisco import IOSHostnameLine, IOSRouteLine -@@ -886,7 +886,7 @@ class CiscoConfParse(object): - elif exactmatch: - # Return objects whose text attribute matches linespec exactly - linespec_re = re.compile("^{0}$".format(dnaspec)) -- return list(filter(lambda obj: linespec_re.search(obj.dna), self.ConfigObjs)) -+ return list([obj for obj in self.ConfigObjs if linespec_re.search(obj.dna)]) - - def find_objects(self, linespec, exactmatch=False, ignore_ws=False): - """Find all :class:`~models_cisco.IOSCfgLine` objects whose text -@@ -1412,7 +1412,7 @@ class CiscoConfParse(object): - retval = list() - if ignore_ws: - parentspec = self._build_space_tolerant_regex(parentspec) -- childspec = map(self._build_space_tolerant_regex, childspec) -+ childspec = list(map(self._build_space_tolerant_regex, childspec)) - - for parentobj in self.find_objects(parentspec): - results = set([]) -@@ -1450,7 +1450,7 @@ class CiscoConfParse(object): - retval = list() - if ignore_ws: - parentspec = self._build_space_tolerant_regex(parentspec) -- childspec = map(self._build_space_tolerant_regex, childspec) -+ childspec = list(map(self._build_space_tolerant_regex, childspec)) - - for parentobj in self.find_objects(parentspec): - results = set([]) -@@ -2719,7 +2719,7 @@ class CiscoConfParse(object): - tmp = self._find_line_OBJ(linespec) - if uncfgspec is None: - uncfgspec = linespec -- a_lines = map(lambda x: x.text, tmp) -+ a_lines = [x.text for x in tmp] - a = CiscoConfParse(a_lines) - - b = CiscoConfParse(cfgspec, factory=False) -@@ -2758,10 +2758,10 @@ class CiscoConfParse(object): - a_lines.append(obj.text) - a_linenums.append(obj.linenum) - a_lines.extend( -- map(lambda x: getattr(x, "text"), obj.all_children) -+ [getattr(x, "text") for x in obj.all_children] - ) - a_linenums.extend( -- map(lambda x: getattr(x, "linenum"), obj.all_children) -+ [getattr(x, "linenum") for x in obj.all_children] - ) - b_lines = list() - b_linenums = list() -@@ -2769,10 +2769,10 @@ class CiscoConfParse(object): - b_lines.append(obj.text) - b_linenums.append(obj.linenum) - b_lines.extend( -- map(lambda x: getattr(x, "text"), obj.all_children) -+ [getattr(x, "text") for x in obj.all_children] - ) - b_linenums.extend( -- map(lambda x: getattr(x, "linenum"), obj.all_children) -+ [getattr(x, "linenum") for x in obj.all_children] - ) - else: - if ignore_order: -@@ -2784,20 +2784,12 @@ class CiscoConfParse(object): - a_nonparents, b_nonparents - ) - else: -- a_lines = map( -- lambda x: getattr(x, "text"), getattr(adiff_level, attr) -- ) -+ a_lines = [getattr(x, "text") for x in getattr(adiff_level, attr)] - # Build a map from a_lines index to a.ConfigObjs index -- a_linenums = map( -- lambda x: getattr(x, "linenum"), getattr(adiff_level, attr) -- ) -- b_lines = map( -- lambda x: getattr(x, "text"), getattr(bdiff_level, attr) -- ) -+ a_linenums = [getattr(x, "linenum") for x in getattr(adiff_level, attr)] -+ b_lines = [getattr(x, "text") for x in getattr(bdiff_level, attr)] - # Build a map from b_lines index to b.ConfigObjs index -- b_linenums = map( -- lambda x: getattr(x, "linenum"), getattr(bdiff_level, attr) -- ) -+ b_linenums = [getattr(x, "linenum") for x in getattr(bdiff_level, attr)] - - ### - ### Mark diffs here -@@ -2836,7 +2828,7 @@ class CiscoConfParse(object): - aobj = aobjs[idx] - # set aparent_text to all parents' text (joined) - aparent_text = " ".join( -- map(lambda x: x.text, aobj.all_parents) -+ [x.text for x in aobj.all_parents] - ) - except IndexError: - # aobj doesn't exist, if we get an index error -@@ -2851,7 +2843,7 @@ class CiscoConfParse(object): - bobj = bobjs[idx] - # set bparent_text to all parents' text (joined) - bparent_text = " ".join( -- map(lambda x: x.text, bobj.all_parents) -+ [x.text for x in bobj.all_parents] - ) - except IndexError: - # bobj doesn't exist, if we get an index error -@@ -3055,7 +3047,7 @@ class CiscoConfParse(object): - elif exactmatch: - # Return objects whose text attribute matches linespec exactly - linespec_re = re.compile("^%s$" % linespec) -- return list(filter(lambda obj: linespec_re.search(obj.text), self.ConfigObjs)) -+ return list([obj for obj in self.ConfigObjs if linespec_re.search(obj.text)]) - - def _find_sibling_OBJ(self, lineobject): - """SEMI-PRIVATE: Takes a singe object and returns a list of sibling -@@ -3198,7 +3190,7 @@ class IOSConfigList(MutableSequence): - logger.debug("self._list = {0}".format(self._list)) - - def has_line_with(self, linespec): -- return bool(filter(methodcaller("re_search", linespec), self._list)) -+ return bool(list(filter(methodcaller("re_search", linespec), self._list))) - - @junos_unsupported - def insert_before(self, exist_val, new_val, atomic=False): -@@ -3440,7 +3432,7 @@ class IOSConfigList(MutableSequence): - - def _banner_mark_regex(self, REGEX): - # Build a list of all leading banner lines -- banner_objs = list(filter(lambda obj: REGEX.search(obj.text), self._list)) -+ banner_objs = list([obj for obj in self._list if REGEX.search(obj.text)]) - - BANNER_STR_RE = r"^(?:(?P(?:set\s+)*banner\s\w+\s+)(?P\S))" - for parent in banner_objs: -@@ -3582,9 +3574,7 @@ class IOSConfigList(MutableSequence): - if (indent < max_indent) and is_config_line: - parent = None - # walk parents and intelligently prune stale parents -- stale_parent_idxs = filter( -- lambda ii: ii >= indent, sorted(parents.keys(), reverse=True) -- ) -+ stale_parent_idxs = [ii for ii in sorted(list(parents.keys()), reverse=True) if ii >= indent] - for parent_idx in stale_parent_idxs: - del parents[parent_idx] - else: -@@ -3793,7 +3783,7 @@ class NXOSConfigList(MutableSequence): - logger.debug("self._list = {0}".format(self._list)) - - def has_line_with(self, linespec): -- return bool(filter(methodcaller("re_search", linespec), self._list)) -+ return bool(list(filter(methodcaller("re_search", linespec), self._list))) - - def insert_before(self, robj, val, atomic=False): - ## Insert something before robj -@@ -3904,7 +3894,7 @@ class NXOSConfigList(MutableSequence): - - def _banner_mark_regex(self, REGEX): - # Build a list of all leading banner lines -- banner_objs = list(filter(lambda obj: REGEX.search(obj.text), self._list)) -+ banner_objs = list([obj for obj in self._list if REGEX.search(obj.text)]) - - BANNER_STR_RE = r"^(?:(?P(?:set\s+)*banner\s\w+\s+)(?P\S))" - for parent in banner_objs: -@@ -4020,9 +4010,7 @@ class NXOSConfigList(MutableSequence): - if (indent < max_indent) and is_config_line: - parent = None - # walk parents and intelligently prune stale parents -- stale_parent_idxs = filter( -- lambda ii: ii >= indent, sorted(parents.keys(), reverse=True) -- ) -+ stale_parent_idxs = [ii for ii in sorted(list(parents.keys()), reverse=True) if ii >= indent] - for parent_idx in stale_parent_idxs: - del parents[parent_idx] - else: -@@ -4227,7 +4215,7 @@ class ASAConfigList(MutableSequence): - self._list = self._bootstrap_obj_init(list(map(attrgetter("text"), self._list))) - - def has_line_with(self, linespec): -- return bool(filter(methodcaller("re_search", linespec), self._list)) -+ return bool(list(filter(methodcaller("re_search", linespec), self._list))) - - def insert_before(self, robj, val, atomic=False): - ## Insert something before robj -@@ -4357,9 +4345,7 @@ class ASAConfigList(MutableSequence): - if (indent < max_indent) and is_config_line: - parent = None - # walk parents and intelligently prune stale parents -- stale_parent_idxs = filter( -- lambda ii: ii >= indent, sorted(parents.keys(), reverse=True) -- ) -+ stale_parent_idxs = [ii for ii in sorted(list(parents.keys()), reverse=True) if ii >= indent] - for parent_idx in stale_parent_idxs: - del parents[parent_idx] - else: -@@ -4700,7 +4686,7 @@ if __name__ == "__main__": - diff = CiscoConfParse(opts.config).req_cfgspec_all_diff(opts.arg1.split(",")) - elif opts.method == "decrypt": - pp = CiscoPassword() -- print(pp.decrypt(opts.arg1)) -+ print((pp.decrypt(opts.arg1))) - exit(1) - elif opts.method == "help": - print("Valid methods and their arguments:") -@@ -4710,10 +4696,10 @@ if __name__ == "__main__": - print(" find_blocks: arg1=linespec") - print(" find_parents_w_child: arg1=parentspec arg2=childspec") - print(" find_parents_wo_child: arg1=parentspec arg2=childspec") -- print( -+ print(( - " req_cfgspec_excl_diff: arg1=linespec arg2=uncfgspec" - + " arg3=cfgspec" -- ) -+ )) - print(" req_cfgspec_all_diff: arg1=cfgspec") - print(" decrypt: arg1=encrypted_passwd") - exit(1) ---- ciscoconfparse/errors.py.orig 2021-11-02 03:51:35 UTC -+++ ciscoconfparse/errors.py -@@ -1,4 +1,4 @@ --from __future__ import absolute_import -+ - - r""" errors.py - Parse, Query, Build, and Modify IOS-style configs - ---- ciscoconfparse/models_asa.py.orig 2021-11-02 03:51:35 UTC -+++ ciscoconfparse/models_asa.py -@@ -1,4 +1,4 @@ --from __future__ import absolute_import -+ - import re - - from ciscoconfparse.protocol_values import ( ---- ciscoconfparse/models_cisco.py.orig 2021-11-02 03:51:35 UTC -+++ ciscoconfparse/models_cisco.py -@@ -1,4 +1,4 @@ --from __future__ import absolute_import -+ - import traceback - import sys - import re -@@ -1412,7 +1412,7 @@ class BaseIOSIntfLine(IOSCfgLine): - } - - ## Analyze each vdict in sequence and apply to retval sequentially -- for key, val in vdict.items(): -+ for key, val in list(vdict.items()): - if val != "_nomatch_": - ## absolute in the key overrides previous values - if "absolute" in key: -@@ -1851,7 +1851,7 @@ class IOSAccessLine(BaseCfgLine): - retval = self.re_match_typed( - r"([a-zA-Z]+\s+)*(\d+\s*\d*)$", group=2, result_type=str, default="" - ) -- tmp = map(int, retval.strip().split()) -+ tmp = list(map(int, retval.strip().split())) - return tmp - - def manual_exectimeout_min(self): -@@ -1869,7 +1869,7 @@ class IOSAccessLine(BaseCfgLine): - retval = self.re_match_iter_typed( - r"^\s*exec-timeout\s+(\d+\s*\d*)\s*$", group=1, result_type=str, default="" - ) -- tmp = map(int, retval.strip().split()) -+ tmp = list(map(int, retval.strip().split())) - return tmp - - ---- ciscoconfparse/models_junos.py.orig 2021-11-02 03:51:35 UTC -+++ ciscoconfparse/models_junos.py -@@ -1,4 +1,4 @@ --from __future__ import absolute_import -+ - import sys - import re - import os ---- ciscoconfparse/models_nxos.py.orig 2021-11-02 03:51:35 UTC -+++ ciscoconfparse/models_nxos.py -@@ -1,4 +1,4 @@ --from __future__ import absolute_import -+ - import sys - import re - import os -@@ -1365,7 +1365,7 @@ class BaseNXOSIntfLine(NXOSCfgLine): - } - - ## Analyze each vdict in sequence and apply to retval sequentially -- for key, val in vdict.items(): -+ for key, val in list(vdict.items()): - if val != "_nomatch_": - ## absolute in the key overrides previous values - if "absolute" in key: -@@ -1971,7 +1971,7 @@ class NXOSAccessLine(BaseCfgLine): - retval = self.re_match_typed( - r"([a-zA-Z]+\s+)*(\d+\s*\d*)$", group=2, result_type=str, default="" - ) -- tmp = map(int, retval.strip().split()) -+ tmp = list(map(int, retval.strip().split())) - return tmp - - def manual_exectimeout_min(self): -@@ -1989,7 +1989,7 @@ class NXOSAccessLine(BaseCfgLine): - retval = self.re_match_iter_typed( - r"^\s*exec-timeout\s+(\d+\s*\d*)\s*$", group=1, result_type=str, default="" - ) -- tmp = map(int, retval.strip().split()) -+ tmp = list(map(int, retval.strip().split())) - return tmp - - ---- ciscoconfparse/protocol_values.py.orig 2021-11-02 03:51:35 UTC -+++ ciscoconfparse/protocol_values.py -@@ -1,4 +1,4 @@ --from __future__ import absolute_import -+ - - """ protocol_values.py - Parse, Query, Build, and Modify IOS-style configurations - Copyright (C) 2020-2021 David Michael Pennington at Cisco Systems ---- setup.py.orig 2021-11-02 03:51:35 UTC -+++ setup.py -@@ -127,7 +127,6 @@ def setup_packages(): - long_description=read("README.rst"), - include_package_data=True, # See MANIFEST.in for explicit rules - packages=find_packages(), -- use_2to3=True, # Reqd for Windows + Py3 - ref Github issue #32 - zip_safe=False, - python_requires='>=3.5', - install_requires=REQUIRES, diff --git a/net-mgmt/py-ciscoconfparse/files/patch-pyproject.toml b/net-mgmt/py-ciscoconfparse/files/patch-pyproject.toml new file mode 100644 index 000000000000..7e4fd764c245 --- /dev/null +++ b/net-mgmt/py-ciscoconfparse/files/patch-pyproject.toml @@ -0,0 +1,25 @@ +Just use poetry-core and remove directives that are unknown for it. + +Avoid the installation of the test suite into the top of Python's site-lib. + +--- pyproject.toml.orig 2023-10-29 15:08:28 UTC ++++ pyproject.toml +@@ -2,9 +2,8 @@ + + [build-system] + # See -> PEP 517 +-requires = ["poetry>=1.5.1", "poetry-core>=1.6.1", "wheel>=0.38.4", "packaging>=23.0"] ++requires = ["poetry-core>=1.6.1", "wheel>=0.38.4", "packaging>=23.0"] + build-backend = "poetry.core.masonry.api" +-requires-python = ">=3.8.0" + + ############################################################################## + # +@@ -38,7 +37,6 @@ packages = [ + packages = [ + # Syntax -> https://python-poetry.org/docs/pyproject/#packages + { include = "ciscoconfparse/*" }, +- { include = "tests/*" }, + ] + # See -> https://python-poetry.org/docs/pyproject/#include-and-exclude + include = [