Download raw body.
rbldnsd update, move tests -> py3
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 <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
>
rbldnsd update, move tests -> py3