Index | Thread | Search

From:
Stuart Henderson <stu@spacehopper.org>
Subject:
rbldnsd update, move tests -> py3
To:
ports <ports@openbsd.org>
Cc:
Giovanni Bechis <giovanni@paclan.it>
Date:
Mon, 15 Dec 2025 13:41:01 +0000

Download raw body.

Thread
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?

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 <bsd.port.mk>
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 <espie@openbsd.org>

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 <giovanni@op
 # 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 <forward slash> port number" argument for