Bug 261325 - dns/py-dnspython2: Mark DEPRECATED and set EXPIRATION_DATE
Summary: dns/py-dnspython2: Mark DEPRECATED and set EXPIRATION_DATE
Status: Closed Not Accepted
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Muhammad Moinur Rahman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-01-19 07:28 UTC by Yasuhiro Kimura
Modified: 2022-02-28 23:45 UTC (History)
1 user (show)

See Also:
bofh: maintainer-feedback-


Attachments
Patch file (5.96 KB, patch)
2022-01-19 07:28 UTC, Yasuhiro Kimura
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Yasuhiro Kimura freebsd_committer 2022-01-19 07:28:12 UTC
Created attachment 231149 [details]
Patch file

* 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.
Comment 1 Muhammad Moinur Rahman freebsd_committer 2022-01-19 20:33:26 UTC
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.
Comment 2 Yasuhiro Kimura freebsd_committer 2022-01-20 01:40:39 UTC
(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.
Comment 3 Muhammad Moinur Rahman freebsd_committer 2022-01-20 09:53:33 UTC
>> 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.
Comment 4 commit-hook freebsd_committer 2022-02-28 23:41:53 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=08b5ebce79c5923c31b249d37df69b99ddcb843e

commit 08b5ebce79c5923c31b249d37df69b99ddcb843e
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.
    PR:             261325
    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(-)