Bug 249382

Summary: net/py-netaddr: Update to 0.8.0
Product: Ports & Packages Reporter: Enji Cooper <ngie>
Component: Individual Port(s)Assignee: Kai Knoblich <kai>
Status: Closed FIXED    
Severity: Affects Only Me CC: franco, kai, ngie, rene, swills
Priority: --- Flags: bugzilla: maintainer-feedback? (koobs)
Version: Latest   
Hardware: Any   
OS: Any   
URL: https://github.com/netaddr/netaddr/blob/0.8.0/CHANGELOG
Attachments:
Description Flags
py-netaddr-0.8.0.patch kai: maintainer-approval+

Description Enji Cooper freebsd_committer freebsd_triage 2020-09-17 02:33:55 UTC
The current version (0.7.19_1) is 2 versions behind the latest version (0.8.0).

The single change that the new version seems to require is importlib-resources for versions of python <3.7.

NB: going to 0.8.0 changes the requirements, such that the port will no longer be available for 2.7. Not sure if that's an item of concern or not.
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2020-09-18 04:09:39 UTC
Upstream has not removed 2.7 from setup.py or added a python_requires precluding 2.7 at present, though I do see mention of these versions (2.7,3.5) to be considered unsupported.

[1] https://github.com/netaddr/netaddr/blob/0.8.0/setup.py
[2] Python 2 versions older than 2.7 and Python 3 versions older than 3.5 should be considered unsupported. No incompatible code has been introduced to the best of our knowledge but there’s no CI infrastructure in place to verify this and if there are any issues with those versions they won’t be fixed.
Consequently, Python 2.7 and 3.5 support should be considered deprecated as 2.7 has reached its end-of-life already and 3.5 will hit it soon

As such I don't consider 0.8.x to be a hard removal of support, and will wait for explicit removal of support via python_requires or similar.
Comment 2 Enji Cooper freebsd_committer freebsd_triage 2020-09-18 06:29:39 UTC
(In reply to Kubilay Kocak from comment #1)

The problem is that py-import-resources is incorrectly listed as only supporting python 3 in our port Makefile, despite the fact that it supposedly supports 2.7.
Comment 3 Steve Wills freebsd_committer freebsd_triage 2020-09-24 03:26:21 UTC
(In reply to Enji Cooper from comment #2)
The reason for this is that importlib-metadata depends on py-zipp which only supports 3.x, and if you don't mark importlib-metadata as only for python >3.x, you get other issues. Is a py27-netaddr really needed enough to require holding it back? Would creating a py-netaddr07 for the old version be OK?
Comment 4 Franco Fichtner 2020-09-24 06:34:26 UTC
With Pyhton 2.7 dependent ports being removed in the tree already it would make sense to move to 0.8 directly and remove 2.7 support?
Comment 5 Enji Cooper freebsd_committer freebsd_triage 2020-09-24 06:38:54 UTC
(In reply to Franco Fichtner from comment #4)

0.8.0 is ok, but definitely mark the port broken for 2.7.
Comment 6 Enji Cooper freebsd_committer freebsd_triage 2020-09-25 00:21:59 UTC
Turns out 0.7.20 is also implicitly reliant on py-import-resources, as I discovered with an ImportError today when executing the code on 2.7 >_>.
Comment 7 Franco Fichtner 2020-12-11 19:46:11 UTC
Should I submit a patch to move this along or does anyone have it stashed somewhere already?


Cheers,
Franco
Comment 8 Rene Ladan freebsd_committer freebsd_triage 2021-01-01 01:04:27 UTC
No longer depends on Python 2.7 since r559531
Comment 9 Kai Knoblich freebsd_committer freebsd_triage 2021-01-03 21:38:17 UTC
Created attachment 221255 [details]
py-netaddr-0.8.0.patch

Here's a patch for the 0.8.0 release.

QA:
~~~
- poudriere -> OK (11.4-RELEASE amd64 for py36, py37, py38, py39 flavors)
- Bulk run against all consumers -> OK

Results of "make test" (all Python flavors):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 263 passed, 9 skipped in N.NN seconds

Note:
~~~~~
When running the CLI scripts "netaddr" following message is emitted:

> IPython (http://ipython.scipy.org/) not found!

This is already the case with the current version (= 0.7.19_1) in the Ports tree.

Overview of the consumers:
~~~~~~~~~~~~~~~~~~~~~~~~~~

Everything looks good here too:

> Port                                    Source          Remarks
> --------------------------------------- --------------- -----------------------------------------------------
> devel/py-os-vif                         >=0.7.18        requirements.txt
> devel/py-oslo.config                    >=0.7.18        requirements.txt
> devel/py-oslo.config7                   >=0.7.18        requirements.txt
> devel/py-oslo.utils                     >=0.7.18        requirements.txt
> devel/py-oslo.utils3                    >=0.7.18        requirements.txt
> devel/py-oslo.versionedobjects          >=0.7.18        requirements.txt
> devel/py-oslo.versionedobjects1         >=0.7.18        requirements.txt
> devel/py-oslo.vmware                    >=0.7.18        requirements.txt
> devel/py-oslo.vmware2                   >=0.7.18        requirements.txt
> devel/py-osprofiler                     >=0.7.18        requirements.txt
> devel/py-ovsdbapp                       >=0.7.18        requirements.txt
> devel/py-wsme                           >=0.7.12        requirements.txt
> dns/dnsrecon                            N/A             Noted as 'netaddr' in requirements.txt
> net-im/py-matrix-synapse                >=0.7.18        synapse/config/python_dependencies.py
> net-mgmt/netbox                         ==0.8.0         requirements.txt (Only used for installation via pip)
> net-mgmt/py-junos-eznc                  N/A             Noted as 'netaddr' in requirements.txt
> net-mgmt/py-napalm                      N/A             Noted as 'netaddr' in requirements.txt
> net-mgmt/py-pyeapi                      N/A             Noted as 'netaddr' in setup.py
> net/py-python-neutronclient             >=0.7.18        requirements.txt
> net/ryu                                 N/A             Noted as 'netaddr' in tools/pip-requires
> sysutils/ansible                        N/A             Noted as 'netaddr' in several files
> sysutils/py-google-compute-engine       N/A             Noted as 'netaddr' in several files
> www/py-django-netfields                 N/A             Noted as 'netaddr' in setup.py
> www/py-horizon                          >=0.7.18        requirements.txt
Comment 10 Franco Fichtner 2021-01-21 07:55:44 UTC
Maintainer timeout?
Comment 11 Kai Knoblich freebsd_committer freebsd_triage 2021-01-21 16:17:49 UTC
Comment on attachment 221255 [details]
py-netaddr-0.8.0.patch

^ Triage: Set maintainer-approval to '+' due maintainer's timeout.
Comment 12 commit-hook freebsd_committer freebsd_triage 2021-01-22 08:25:27 UTC
A commit references this bug:

Author: kai
Date: Fri Jan 22 08:24:57 UTC 2021
New revision: 562280
URL: https://svnweb.freebsd.org/changeset/ports/562280

Log:
  net/py-netaddr: Update to 0.8.0

  * Modernize the "do-test" target and pet portclippy while I'm here.

  Changelog since 0.7.19:

  https://github.com/netaddr/netaddr/blob/0.8.0/CHANGELOG

  PR:		249382
  Reported by:	ngie
  Approved by:	maintainer timeout (14+ days)

Changes:
  head/net/py-netaddr/Makefile
  head/net/py-netaddr/distinfo
  head/net/py-netaddr/files/
Comment 13 Franco Fichtner 2021-01-22 09:00:03 UTC
Thank you <3