Re: py-dnspython py2/py3 version split

2020-11-27 Thread Jeremie Courreges-Anglas
On Fri, Nov 27 2020, Ian McWilliam  wrote:
> Our samba in tree is out of date and discontinued in 2020-03-03. It contains 
> CVEs.
>
> Moving to a stable samba 4.13.x that supports python 3 would be the thing to 
> do. If I remember
> last time Jeremie jca@ attempted this, there were sparc64 issues with the 
> linker.

Regarding samba updates I dropped the ball.  ld.bfd isn't happy with
newer samba releases, it generates corrupted samba shared libs.  Maybe
I should just admit that I'm not smart enough to grok that quirky BFD
code. :)

Even though I'd like to get rid of this thorn, my opinion is that python
ports that should move to py3-only versions shouldn't be blocked by
software in the tree that requires py2 support.  So adding a py2-only
port makes sense.

My two cents,
-- 
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF  DDCC 0DFA 74AE 1524 E7EE



Re: py-dnspython py2/py3 version split

2020-11-27 Thread Ian McWilliam
Our samba in tree is out of date and discontinued in 2020-03-03. It contains 
CVEs.

Moving to a stable samba 4.13.x that supports python 3 would be the thing to 
do. If I remember
last time Jeremie jca@ attempted this, there were sparc64 issues with the 
linker.

Ian McWilliam

From: owner-po...@openbsd.org  on behalf of Lucas Raab 

Sent: Friday, 27 November 2020 9:45 AM
To: ports@openbsd.org 
Cc: Rafael Sadowski ; Ian McWilliam 
; Jeremie Courreges-Anglas 
Subject: py-dnspython py2/py3 version split

Hello,

The latest version of dnspython drops support for py2, but there
are a number of packages that are currently py2 only. I'd like to
propose splitting py-dnspython into py2 and py3 specific versions
to allow the latest py3-only version to be used.

Following the model of the py2-Pillow/py-Pillow split, I have:

* py2-dnspython.tgz: a "new" port which is locked to py2
* py-dnspython.diff: the updated version of the port which is now py3
  only
* dnspython_reverse_deps.diff: updating all ports that rely on the
  current version of dnspython
  * mail/mailman
  * net/samba
  * security/knockpy
  * textproc/calibre
  * www/linkchecker
  * www/py-formencode (I added a small patch to maintain the flavors)

I've tried not to botch this. :) Those six have been make test-ed where
supported and at least make build-ed. Nothing untoward came up in those

Feedback, comments, questions?

Maintainers of security/knockpy and net/samba cc'd

Lucas

Other notes:
* mail/mailman could use latest dnspython if the port was updated for
  mailman3. However, the web interface would still require py2. This
  would probably need to be a split package.
* https://www.gnu.org/software/mailman/requirements.html
* https://www.gnu.org/software/mailman/download.html

* net/samba apparently also has support for py3, but I don't know what
  it would take for the port to get to that point. Beyond my current
  experience level :)
  * https://wiki.samba.org/index.php/Python3
  * https://bugzilla.samba.org/show_bug.cgi?id=10028

* textproc/calibre: py3 support debuted with Calibre 5, released just
  a few months ago. Similar to net/samba, not sure what it takes to get
  there
  * https://calibre-ebook.com/new-in/fourteen

* www/linkchecker could use the latest dnspython if we used HEAD in
  upstream, but that's something for later.
  * https://github.com/linkchecker/linkchecker/blob/master/setup.py#L381

* databases/web2ldap would be a consumer of the latest dnspython which
  is what prompted this whole thing


py-dnspython py2/py3 version split

2020-11-26 Thread Lucas Raab
Hello,

The latest version of dnspython drops support for py2, but there
are a number of packages that are currently py2 only. I'd like to
propose splitting py-dnspython into py2 and py3 specific versions
to allow the latest py3-only version to be used.

Following the model of the py2-Pillow/py-Pillow split, I have:

* py2-dnspython.tgz: a "new" port which is locked to py2
* py-dnspython.diff: the updated version of the port which is now py3
  only
* dnspython_reverse_deps.diff: updating all ports that rely on the
  current version of dnspython
  * mail/mailman
  * net/samba
  * security/knockpy
  * textproc/calibre
  * www/linkchecker
  * www/py-formencode (I added a small patch to maintain the flavors)

I've tried not to botch this. :) Those six have been make test-ed where
supported and at least make build-ed. Nothing untoward came up in those

Feedback, comments, questions?

Maintainers of security/knockpy and net/samba cc'd

Lucas

Other notes:
* mail/mailman could use latest dnspython if the port was updated for
  mailman3. However, the web interface would still require py2. This
  would probably need to be a split package.
* https://www.gnu.org/software/mailman/requirements.html
* https://www.gnu.org/software/mailman/download.html

* net/samba apparently also has support for py3, but I don't know what
  it would take for the port to get to that point. Beyond my current
  experience level :)
  * https://wiki.samba.org/index.php/Python3
  * https://bugzilla.samba.org/show_bug.cgi?id=10028

* textproc/calibre: py3 support debuted with Calibre 5, released just
  a few months ago. Similar to net/samba, not sure what it takes to get
  there
  * https://calibre-ebook.com/new-in/fourteen

* www/linkchecker could use the latest dnspython if we used HEAD in
  upstream, but that's something for later.
  * https://github.com/linkchecker/linkchecker/blob/master/setup.py#L381

* databases/web2ldap would be a consumer of the latest dnspython which
  is what prompted this whole thing
Index: Makefile
===
RCS file: /cvs/ports/net/py-dnspython/Makefile,v
retrieving revision 1.30
diff -u -p -r1.30 Makefile
--- Makefile3 Jul 2020 21:13:01 -   1.30
+++ Makefile26 Nov 2020 21:40:11 -
@@ -2,8 +2,7 @@
 
 COMMENT=   DNS toolkit for Python
 
-MODPY_EGG_VERSION= 1.16.0
-REVISION=  3
+MODPY_EGG_VERSION= 2.0.0
 DISTNAME=  dnspython-${MODPY_EGG_VERSION}
 PKGNAME=   py-${DISTNAME}
 CATEGORIES=net
@@ -13,10 +12,13 @@ HOMEPAGE=   http://www.dnspython.org/
 # BSD
 PERMIT_PACKAGE=Yes
 
-MASTER_SITES=  ${HOMEPAGE}kits/${MODPY_EGG_VERSION}/
+GH_ACCOUNT=rthalley
+GH_PROJECT=dnspython
+GH_TAGNAME=v${MODPY_EGG_VERSION}
 
+MODPY_VERSION= ${MODPY_DEFAULT_VERSION_3}
+FLAVOR=python3
 FLAVORS=   python3
-FLAVOR?=
 
 MODULES=   lang/python
 MODPY_SETUPTOOLS=  Yes
@@ -25,9 +27,10 @@ MODPY_PYTEST=Yes
 
 TEST_DEPENDS=  security/py-ecdsa${MODPY_FLAVOR}
 
-.if !${FLAVOR:Mpython3}
-TEST_DEPENDS+= devel/py-typing
-.endif
+RUN_DEPENDS=   net/py-idna${MODPY_FLAVOR} \
+   security/py-cryptography${MODPY_FLAVOR} \
+   www/py-requests${MODPY_FLAVOR} \
+   www/py-requests-toolbelt${MODPY_FLAVOR}
 
 TEST_ENV+= PYTHONPATH="${WRKSRC}"
 
Index: distinfo
===
RCS file: /cvs/ports/net/py-dnspython/distinfo,v
retrieving revision 1.12
diff -u -p -r1.12 distinfo
--- distinfo19 Dec 2018 09:59:45 -  1.12
+++ distinfo26 Nov 2020 21:40:11 -
@@ -1,2 +1,2 @@
-SHA256 (dnspython-1.16.0.tar.gz) = S/XFwSpEeO54YKsXZlnPZMSJnudnUtgmsIL4r3I8XPk=
-SIZE (dnspython-1.16.0.tar.gz) = 150524
+SHA256 (dnspython-2.0.0.tar.gz) = Z84tUKUfuQcYQ5mTDCipu3mlC+LFzvgIQYj8R7AIr0w=
+SIZE (dnspython-2.0.0.tar.gz) = 221903
Index: pkg/PLIST
===
RCS file: /cvs/ports/net/py-dnspython/pkg/PLIST,v
retrieving revision 1.11
diff -u -p -r1.11 PLIST
--- pkg/PLIST   5 Feb 2019 20:57:44 -   1.11
+++ pkg/PLIST   26 Nov 2020 21:40:11 -
@@ -4,15 +4,21 @@ lib/python${MODPY_VERSION}/site-packages
 lib/python${MODPY_VERSION}/site-packages/dns/__init__.py
 ${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/dns/${MODPY_PYCACHE}/
 
lib/python${MODPY_VERSION}/site-packages/dns/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
-lib/python${MODPY_VERSION}/site-packages/dns/${MODPY_PYCACHE}_compat.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/dns/${MODPY_PYCACHE}_asyncbackend.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/dns/${MODPY_PYCACHE}_asyncio_backend.${MODPY_PYC_MAGIC_TAG}pyc
+lib/python${MODPY_VERSION}/site-packages/d