Created attachment 231149 [details]
* Now that dns/py-dnspython is updated to 2.1.0 for Python 3, mark this port as DEPRECATED and set EXPIRATION_DATE.
* Update dependency of ports that require this port.
The way this port is handled is totally wrong. Python supports concurrent installation and if there are both 2.7 and 3.*+ installed then this will have a race condition on which PORTVERSION to install. This is the reason I kept it aside and created an different port. Unless you plan to entirely remove the part related to 1.X I am not going to DEPRECATE dnspython2 unfortunately.
(In reply to Muhammad Moinur Rahman from comment #1)
At first, Thank you for feedback comment.
> The way this port is handled is totally wrong.
Since dns/py-dnspython2 is Python 3 only, I interpret 'this port' as dns/py-dnspython.
> Python supports concurrent installation and if there are both 2.7 and 3.*+ installed then this will have a race condition on which PORTVERSION to install.
Would you please explain what 'race condition on which PORTVERSION to install' means in a bit more detail? As you say dns/py-dnspython have py27 and py38 (unless user changes default version of PYTHON and PYTHON3 in /etc/make.conf) flavors. If you install the former, py27-dnspython-1.16.0.pkg is installed. If you install the latter, py38-dnspython-2.1.0.pkg is installed. If there is a python port that has py27 and py38 flavors and also requires dns/py-dnspython, py27 flavor of the port requires py27-dnspython-1.16.0.pkg and py38 flavor requires py38-dnspython-2.1.0.pkg. I can't imagine the situation that 'race condition on which PORTVERSION to install' happens.
>> Since dns/py-dnspython2 is Python 3 only, I interpret 'this port' as dns/py-dnspython.
No your interpretation is unfortunately not correct. I meant dns/py-dnspython. I think I should have clarified more although I mentioned that why I won't change it(py-dnspython2) and gave my justification. My bad.
In case someone is using ports only this is different I believe rather than packages. pkg building creates the ports in isolated environment for each ports+flavor combi while using ports only has it's side effects in case both python2 and python3 is installed.
And please stop adding support for python2.7. This should go. There is no point in carrying this over and over again.
A commit in branch main references this bug:
Author: Muhammad Moinur Rahman <bofh@FreeBSD.org>
AuthorDate: 2022-02-28 23:31:02 +0000
Commit: Muhammad Moinur Rahman <bofh@FreeBSD.org>
CommitDate: 2022-02-28 23:40:41 +0000
dns/py-dnspython: Revert 7fc16da
- Remove duplicate PORTVERSION based on PYTHON_MAJOR_VER
- Add PORTEPOCH as version number going backwards 2.1.0=>1.16.0
- Restrict python upto 3.7
- Fix finance/electrum which was changed based on this.
- Fix dns/py-dns-lexicon which was changed based on this.
Approved by: portmgr
Fixes: 7fc16da dns/py-dnspython: Update to 2.1.0 for Python 3
dns/py-dns-lexicon/Makefile | 4 ++--
dns/py-dnspython/Makefile | 22 ++++++++--------------
dns/py-dnspython/distinfo | 4 +---
finance/electrum/Makefile | 4 ++--
4 files changed, 13 insertions(+), 21 deletions(-)