From: Giovanni Bechis Subject: Re: rbldnsd update, move tests -> py3 To: ports Date: Mon, 15 Dec 2025 16:34:39 +0100 On 12/15/25 2:41 PM, Stuart Henderson wrote: > in 2021, rbldnsd converted their tests to work with Python 3. > this updates and switches py-dns across. no substantial code changes > in the C rbldnsd code for us, systemd socket activation was added > but it's behind an #ifdef. > > ok? > sure. ok giovanni@ Cheers Giovanni > Index: net/Makefile > =================================================================== > RCS file: /cvs/ports/net/Makefile,v > diff -u -p -r1.1445 Makefile > --- net/Makefile 8 Dec 2025 14:06:59 -0000 1.1445 > +++ net/Makefile 15 Dec 2025 13:40:48 -0000 > @@ -578,7 +578,7 @@ > SUBDIR += py-cbor2 > SUBDIR += py-curl > SUBDIR += py-cymruwhois > - SUBDIR += py-dns # py2 > + SUBDIR += py-dns > SUBDIR += py-dnslib > SUBDIR += py-dnspython > SUBDIR += py-dpkt > Index: net/py-dns/Makefile > =================================================================== > RCS file: /cvs/ports/net/py-dns/Makefile,v > diff -u -p -r1.28 Makefile > --- net/py-dns/Makefile 21 Dec 2024 11:46:02 -0000 1.28 > +++ net/py-dns/Makefile 15 Dec 2025 13:40:48 -0000 > @@ -1,26 +1,18 @@ > COMMENT = Python DNS library > > -# only used by rbldnsd > -MODPY_VERSION = ${MODPY_DEFAULT_VERSION_2} > - > -MODPY_DISTV = 2.3.6 > -DISTNAME = pydns-${MODPY_DISTV} > +MODPY_DISTV = 4.0.2 > +DISTNAME = py3dns-${MODPY_DISTV} > PKGNAME = py-dns-${MODPY_DISTV} > CATEGORIES = net > -REVISION = 0 > > HOMEPAGE = https://pydns.sourceforge.net/ > > # Python License > PERMIT_PACKAGE = Yes > > -SITES = ${SITE_SOURCEFORGE:=pydns/} > - > +# tests need network > MODULES = lang/python > - > -do-test: > - cd ${WRKSRC}/tests && for test in *.py; do \ > - PYTHONPATH=.. ${MODPY_BIN} $$test; \ > - done > +MODPY_PYBUILD = flit_core > +MODPY_PI = Yes > > .include > Index: net/py-dns/distinfo > =================================================================== > RCS file: /cvs/ports/net/py-dns/distinfo,v > diff -u -p -r1.7 distinfo > --- net/py-dns/distinfo 16 Jan 2013 07:55:26 -0000 1.7 > +++ net/py-dns/distinfo 15 Dec 2025 13:40:48 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (pydns-2.3.6.tar.gz) = 089vxOwIjpNM8t1NcQgO/bXAmuecuyUSQn6w/Dk/JBc= > -SIZE (pydns-2.3.6.tar.gz) = 28220 > +SHA256 (py3dns-4.0.2.tar.gz) = mGUugOzsFDxg948OazQWMcqadWDt2N3fyGTAKQJhijk= > +SIZE (py3dns-4.0.2.tar.gz) = 33982 > Index: net/py-dns/pkg/PLIST > =================================================================== > RCS file: /cvs/ports/net/py-dns/pkg/PLIST,v > diff -u -p -r1.7 PLIST > --- net/py-dns/pkg/PLIST 21 Dec 2024 11:46:02 -0000 1.7 > +++ net/py-dns/pkg/PLIST 15 Dec 2025 13:40:48 -0000 > @@ -1,29 +1,46 @@ > lib/python${MODPY_VERSION}/site-packages/DNS/ > lib/python${MODPY_VERSION}/site-packages/DNS/Base.py > -lib/python${MODPY_VERSION}/site-packages/DNS/Base.pyc > -lib/python${MODPY_VERSION}/site-packages/DNS/Base.pyo > lib/python${MODPY_VERSION}/site-packages/DNS/Class.py > -lib/python${MODPY_VERSION}/site-packages/DNS/Class.pyc > -lib/python${MODPY_VERSION}/site-packages/DNS/Class.pyo > lib/python${MODPY_VERSION}/site-packages/DNS/Lib.py > -lib/python${MODPY_VERSION}/site-packages/DNS/Lib.pyc > -lib/python${MODPY_VERSION}/site-packages/DNS/Lib.pyo > lib/python${MODPY_VERSION}/site-packages/DNS/Opcode.py > -lib/python${MODPY_VERSION}/site-packages/DNS/Opcode.pyc > -lib/python${MODPY_VERSION}/site-packages/DNS/Opcode.pyo > lib/python${MODPY_VERSION}/site-packages/DNS/Status.py > -lib/python${MODPY_VERSION}/site-packages/DNS/Status.pyc > -lib/python${MODPY_VERSION}/site-packages/DNS/Status.pyo > lib/python${MODPY_VERSION}/site-packages/DNS/Type.py > -lib/python${MODPY_VERSION}/site-packages/DNS/Type.pyc > -lib/python${MODPY_VERSION}/site-packages/DNS/Type.pyo > lib/python${MODPY_VERSION}/site-packages/DNS/__init__.py > -lib/python${MODPY_VERSION}/site-packages/DNS/__init__.pyc > -lib/python${MODPY_VERSION}/site-packages/DNS/__init__.pyo > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}/ > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Base.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Class.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Class.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Lib.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Lib.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Opcode.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Opcode.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Status.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Status.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Type.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}Type.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}lazy.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}lazy.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}win32dns.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/${MODPY_PYCACHE}win32dns.${MODPY_PYC_MAGIC_TAG}pyc > lib/python${MODPY_VERSION}/site-packages/DNS/lazy.py > -lib/python${MODPY_VERSION}/site-packages/DNS/lazy.pyc > -lib/python${MODPY_VERSION}/site-packages/DNS/lazy.pyo > +lib/python${MODPY_VERSION}/site-packages/DNS/tests/ > +lib/python${MODPY_VERSION}/site-packages/DNS/tests/__init__.py > +lib/python${MODPY_VERSION}/site-packages/DNS/tests/${MODPY_PYCACHE}/ > +lib/python${MODPY_VERSION}/site-packages/DNS/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/tests/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/DNS/tests/${MODPY_PYCACHE}testPackers.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/tests/${MODPY_PYCACHE}testPackers.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/DNS/tests/${MODPY_PYCACHE}test_base.${MODPY_PYC_MAGIC_TAG}${MODPY_PYOEXTENSION} > +lib/python${MODPY_VERSION}/site-packages/DNS/tests/${MODPY_PYCACHE}test_base.${MODPY_PYC_MAGIC_TAG}pyc > +lib/python${MODPY_VERSION}/site-packages/DNS/tests/testPackers.py > +lib/python${MODPY_VERSION}/site-packages/DNS/tests/test_base.py > lib/python${MODPY_VERSION}/site-packages/DNS/win32dns.py > -lib/python${MODPY_VERSION}/site-packages/DNS/win32dns.pyc > -lib/python${MODPY_VERSION}/site-packages/DNS/win32dns.pyo > -lib/python${MODPY_VERSION}/site-packages/pydns-${MODPY_DISTV}-py${MODPY_VERSION}.egg-info > +lib/python${MODPY_VERSION}/site-packages/py3dns-${MODPY_DISTV}.dist-info/ > +lib/python${MODPY_VERSION}/site-packages/py3dns-${MODPY_DISTV}.dist-info/METADATA > +lib/python${MODPY_VERSION}/site-packages/py3dns-${MODPY_DISTV}.dist-info/RECORD > +lib/python${MODPY_VERSION}/site-packages/py3dns-${MODPY_DISTV}.dist-info/WHEEL > +lib/python${MODPY_VERSION}/site-packages/py3dns-${MODPY_DISTV}.dist-info/licenses/ > +lib/python${MODPY_VERSION}/site-packages/py3dns-${MODPY_DISTV}.dist-info/licenses/LICENSE > Index: devel/quirks/Makefile > =================================================================== > RCS file: /cvs/ports/devel/quirks/Makefile,v > diff -u -p -r1.1757 Makefile > --- devel/quirks/Makefile 12 Dec 2025 18:19:46 -0000 1.1757 > +++ devel/quirks/Makefile 15 Dec 2025 13:40:48 -0000 > @@ -3,7 +3,7 @@ CATEGORIES = devel databases > DISTFILES = > > # API.rev > -PKGNAME = quirks-7.164 > +PKGNAME = quirks-7.165 > PKG_ARCH = * > MAINTAINER = Marc Espie > > Index: devel/quirks/files/Quirks.pm > =================================================================== > RCS file: /cvs/ports/devel/quirks/files/Quirks.pm,v > diff -u -p -r1.1769 Quirks.pm > --- devel/quirks/files/Quirks.pm 12 Dec 2025 18:19:46 -0000 1.1769 > +++ devel/quirks/files/Quirks.pm 15 Dec 2025 13:40:48 -0000 > @@ -497,6 +497,7 @@ my $stem_extensions = { > 'ipython3' => 'ipython', > 'js128' => 'js140', > 'g95' => 'gfortran', > + 'py-dns' => 'py3-dns', > }; > > my $obsolete_reason = {}; > Index: net/rbldnsd/Makefile > =================================================================== > RCS file: /cvs/ports/net/rbldnsd/Makefile,v > diff -u -p -r1.19 Makefile > --- net/rbldnsd/Makefile 8 Nov 2022 11:17:00 -0000 1.19 > +++ net/rbldnsd/Makefile 15 Dec 2025 13:40:48 -0000 > @@ -1,10 +1,9 @@ > COMMENT= small daemon for DNSBLs > > -DISTNAME= rbldnsd-0.998.20180516 > +DISTNAME= rbldnsd-0.998.20210120 > GH_ACCOUNT= spamhaus > GH_PROJECT= rbldnsd > -GH_COMMIT= cfb7e80ffa690861b1b79772328aa274d1d5446a > -REVISION= 0 > +GH_COMMIT= 6a5daeec405c6aac24cd6ff865adb6b9666cdce6 > > CATEGORIES= net > > @@ -14,17 +13,19 @@ MAINTAINER= Giovanni Bechis # GPLv2 > PERMIT_PACKAGE= Yes > > -WANTLIB= c z > -MODULES= lang/python > -MODPY_VERSION = ${MODPY_DEFAULT_VERSION_2} > -MODPY_RUNDEP= no > +WANTLIB= c z > > CONFIGURE_STYLE=simple > -RBLDNSD_BASE= ${VARBASE}/rbldnsd > -SUBST_VARS= VARBASE RBLDNSD_BASE > - > +USE_GMAKE= Yes > +RBLDNSD_BASE= ${LOCALSTATEDIR}/rbldnsd > +SUBST_VARS= RBLDNSD_BASE > + > +# program is written in C; this is just for tests > +MODULES= lang/python > +MODPY_RUNDEP= no > TEST_TARGET= check > TEST_DEPENDS= net/py-dns > +TEST_FLAGS= PYTHON=${MODPY_BIN} > > pre-configure: > ${SUBST_CMD} ${WRKSRC}/Makefile.in > Index: net/rbldnsd/distinfo > =================================================================== > RCS file: /cvs/ports/net/rbldnsd/distinfo,v > diff -u -p -r1.7 distinfo > --- net/rbldnsd/distinfo 18 Mar 2019 16:29:49 -0000 1.7 > +++ net/rbldnsd/distinfo 15 Dec 2025 13:40:48 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (rbldnsd-0.998.20180516-cfb7e80f.tar.gz) = qi+PKkQkcYU8SHIThe1jRD6woITrap7KP5tzno8FpME= > -SIZE (rbldnsd-0.998.20180516-cfb7e80f.tar.gz) = 156145 > +SHA256 (rbldnsd-0.998.20210120-6a5daeec.tar.gz) = ulIwGbe2usQQjSuiO8lFjs+af4tKM/+QuL6q3vWZh3M= > +SIZE (rbldnsd-0.998.20210120-6a5daeec.tar.gz) = 158872 > Index: net/rbldnsd/patches/patch-Makefile_in > =================================================================== > RCS file: net/rbldnsd/patches/patch-Makefile_in > diff -N net/rbldnsd/patches/patch-Makefile_in > --- net/rbldnsd/patches/patch-Makefile_in 11 Mar 2022 19:47:19 -0000 1.2 > +++ /dev/null 1 Jan 1970 00:00:00 -0000 > @@ -1,12 +0,0 @@ > -Index: Makefile.in > ---- Makefile.in.orig > -+++ Makefile.in > -@@ -11,7 +11,7 @@ AR = @AR@ > - ARFLAGS = @ARFLAGS@ > - RANLIB = @RANLIB@ > - AWK = @AWK@ > --PYTHON = python > -+PYTHON = ${MODPY_BIN} > - GNUTAR = tar > - > - # Disable statistic counters > Index: net/rbldnsd/patches/patch-rbldnsd_c > =================================================================== > RCS file: /cvs/ports/net/rbldnsd/patches/patch-rbldnsd_c,v > diff -u -p -r1.6 patch-rbldnsd_c > --- net/rbldnsd/patches/patch-rbldnsd_c 11 Mar 2022 19:47:19 -0000 1.6 > +++ net/rbldnsd/patches/patch-rbldnsd_c 15 Dec 2025 13:40:48 -0000 > @@ -1,7 +1,7 @@ > Index: rbldnsd.c > --- rbldnsd.c.orig > +++ rbldnsd.c > -@@ -661,7 +661,7 @@ break; > +@@ -762,7 +762,7 @@ break; > #endif > > if (!user && !(uid = getuid())) > Index: net/rbldnsd/pkg/README > =================================================================== > RCS file: /cvs/ports/net/rbldnsd/pkg/README,v > diff -u -p -r1.6 README > --- net/rbldnsd/pkg/README 11 Mar 2022 19:47:19 -0000 1.6 > +++ net/rbldnsd/pkg/README 15 Dec 2025 13:40:48 -0000 > @@ -4,22 +4,22 @@ > > rbldnsd runs chrooted > ===================== > -By default, the rbldnsd package will chroot to ${VARBASE}/rbldnsd, and the > +By default, the rbldnsd package will chroot to ${RBLDNSD_BASE}, and the > package will create two subdirectories underneath: > > - ${VARBASE}/rbldnsd/ # rbldnsd chroot path > - ${VARBASE}/rbldnsd/etc/ # zonefiles > - ${VARBASE}/rbldnsd/var/ # scratch/work (-w) directory > + ${RBLDNSD_BASE}/ # rbldnsd chroot path > + ${RBLDNSD_BASE}/etc/ # zonefiles > + ${RBLDNSD_BASE}/var/ # scratch/work (-w) directory > > Because of the chroot(), all paths given to rbldnsd are relative to > -to the chroot path (${VARBASE}/rbldnsd). Thus, with this line in > +to the chroot path (${RBLDNSD_BASE}). Thus, with this line in > /etc/rc.conf.local: > > rbldnsd_flags=-b 127.0.0.1/53 rbl.invalid:ip4tset:/etc/rbl.invalid.zone > > rbldnsd will load the "rbl.invalid" zone from > -${VARBASE}/rbldnsd/etc/rbl.invalid.zone and do any processing in > -${VARBASE}/rbldnsd/var/ > +${RBLDNSD_BASE}/etc/rbl.invalid.zone and do any processing in > +${RBLDNSD_BASE}/var/ > > Note that rbldnsd will refuse to start if you do not supply the "-b" > option and an "IP address port number" argument for >