Bug 250566 - dns/py-dnspython: Update to 2.0.0
Summary: dns/py-dnspython: Update to 2.0.0
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Ruslan Makhmatkhanov
URL: https://dnspython.readthedocs.io/en/s...
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-23 21:03 UTC by Yasuhiro Kimura
Modified: 2020-11-02 11:42 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (rm)


Attachments
Patch file (1.06 KB, patch)
2020-10-23 21:03 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 freebsd_triage 2020-10-23 21:03:39 UTC
Created attachment 219021 [details]
Patch file

Update to 2.0.0, which fixes runtime error "AttributeError: module 'base64' has no attribute 'decodestring'" with python 3.9.
    
Changes: https://dnspython.readthedocs.io/en/stable/whatsnew.html
Comment 1 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2020-10-24 18:14:44 UTC
Hello. Version 2.x removes compatibility with python 2.7, so I'd keep the current version till the python 2.7 removal in ports.
Comment 2 Yasuhiro Kimura freebsd_committer freebsd_triage 2020-10-24 20:12:49 UTC
(In reply to Ruslan Makhmatkhanov from comment #1)

Yes, version 2.0.0 supports python 3.6 or later. But as I explained version 1.6.0 does not work with python 3.9. That is, there is no version that works with both python 2.7 and 3.9. So we must select which to support.
Python 3.9 is latest stable version and will be support until approximately October 2025. On the other hand python 2.7 has already reached its EoL and is scheduled to be removed from ports tree after the end of this year, and it is only about 2 months later. Furthermore a lot of ports that works only with python 2.7 had already been removed from ports tree. Then are there any reason that only this port stick to 2.7 and keep broken with 3.9?
Comment 3 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2020-10-25 18:45:21 UTC
Are there ports in the tree that depending both upon dnspython and python2.7? If yes, that update will broke them. If not, it is definitely safe to update now. Since python 3.9 is not default, I see no reason to do the update before all 2.7-consumers of dnspython would gone.
Comment 4 Muhammad Moinur Rahman freebsd_committer freebsd_triage 2020-10-30 21:42:41 UTC
Hi Ruslan,

Would you mind if I create a py-dnspython2 now and later remove it once 2.7 is gone? I am in dire need of it.

Kind Regards,
Moin
Comment 5 Yasuhiro Kimura freebsd_committer freebsd_triage 2020-10-30 22:44:27 UTC
(In reply to Muhammad Moinur Rahman from comment #4)

I prefer to repo-copy this port to dns/py-dnspython1 for python 2.7 only ports.
Comment 6 Muhammad Moinur Rahman freebsd_committer freebsd_triage 2020-10-30 23:28:46 UTC
(In reply to Yasuhiro KIMURA from comment #5)
That would actually require lots of other commits. Hence I don't want to walk in that way.
Comment 7 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2020-11-02 08:29:31 UTC
(In reply to Muhammad Moinur Rahman from comment #4)

Hi. Yes, please do (via repocopy). I did a quick research and it looks like straight update will at least break these ports immediately:

databases/py-swift
deskutils/calibre
dns/knock
dns/py-namebench
mail/mailman
Comment 8 Muhammad Moinur Rahman freebsd_committer freebsd_triage 2020-11-02 09:50:38 UTC
(In reply to Ruslan Makhmatkhanov from comment #7)
Thanks. Will commit at night.
Comment 9 commit-hook freebsd_committer freebsd_triage 2020-11-02 11:40:49 UTC
A commit references this bug:

Author: bofh
Date: Mon Nov  2 11:40:12 UTC 2020
New revision: 553898
URL: https://svnweb.freebsd.org/changeset/ports/553898

Log:
  [NEW] dns/py-dnspython2: DNS toolkit for Python - 2.X branch

  dnspython is a DNS toolkit for Python. It supports almost all record
  types. It can be used for queries, zone transfers, and dynamic
  updates. It supports TSIG authenticated messages and EDNS0.

  dnspython provides both high and low level access to DNS. The high
  level classes perform queries for data of a given name, type, and
  class, and return an answer set. The low level classes allow direct
  manipulation of DNS zones, messages, names, and records.

  WWW: http://www.dnspython.org/

  PR:				250566
  Reported by:	yasu@utahime.org
  Approved by:	rm

Changes:
  head/dns/Makefile
  head/dns/py-dnspython2/
  head/dns/py-dnspython2/Makefile
  head/dns/py-dnspython2/distinfo