Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Jan 2025 00:11:25 GMT
From:      Dave Cottlehuber <dch@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: ca690ac45247 - main - dns/p5-Zonemaster-*: new port add Backend, CLI, & Engine
Message-ID:  <202501030011.5030BP47018923@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by dch:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ca690ac452470a6a8b459d15d2395aa83159818e

commit ca690ac452470a6a8b459d15d2395aa83159818e
Author:     Dave Cottlehuber <dch@FreeBSD.org>
AuthorDate: 2025-01-03 00:10:26 +0000
Commit:     Dave Cottlehuber <dch@FreeBSD.org>
CommitDate: 2025-01-03 00:11:02 +0000

    dns/p5-Zonemaster-*: new port add Backend, CLI, & Engine
    
    See https://doc.zonemaster.net/latest for more details
    
    Sponsored by:   SkunkWerks, GmbH
    
    Reviewed by:    bofh
    Differential Revision:  https://reviews.freebsd.org/D48245
---
 GIDs                                  |  2 +-
 UIDs                                  |  2 +-
 dns/Makefile                          |  3 ++
 dns/p5-Zonemaster-Backend/Makefile    | 66 ++++++++++++++++++++++++++++
 dns/p5-Zonemaster-Backend/distinfo    |  3 ++
 dns/p5-Zonemaster-Backend/pkg-descr   | 10 +++++
 dns/p5-Zonemaster-Backend/pkg-message | 12 +++++
 dns/p5-Zonemaster-Backend/pkg-plist   | 68 ++++++++++++++++++++++++++++
 dns/p5-Zonemaster-CLI/Makefile        | 30 +++++++++++++
 dns/p5-Zonemaster-CLI/distinfo        |  3 ++
 dns/p5-Zonemaster-CLI/pkg-descr       |  9 ++++
 dns/p5-Zonemaster-CLI/pkg-plist       | 11 +++++
 dns/p5-Zonemaster-Engine/Makefile     | 50 +++++++++++++++++++++
 dns/p5-Zonemaster-Engine/distinfo     |  3 ++
 dns/p5-Zonemaster-Engine/pkg-descr    |  8 ++++
 dns/p5-Zonemaster-Engine/pkg-plist    | 83 +++++++++++++++++++++++++++++++++++
 16 files changed, 361 insertions(+), 2 deletions(-)

diff --git a/GIDs b/GIDs
index 8c1d8a3b37cf..5256462db79e 100644
--- a/GIDs
+++ b/GIDs
@@ -677,7 +677,7 @@ bopm:*:717:
 # free: 733
 # free: 734
 c-lightning:*:735:
-# free: 736
+zonemaster:*:736:
 # free: 737
 # free: 738
 # free: 739
diff --git a/UIDs b/UIDs
index bb47a9da489d..7b7b343fc60f 100644
--- a/UIDs
+++ b/UIDs
@@ -683,7 +683,7 @@ _dnscrypt-wrapper:*:718:65534::0:0:dnscrypt-wrapper user:/var/empty:/usr/sbin/no
 # free: 733
 # free: 734
 c-lightning:*:735:735::0:0:c-lightning Daemon:/var/db/c-lightning:/usr/sbin/nologin
-# free: 736
+zonemaster:*:736:736::0:0:Zonemaster Daemon:/nonexistent:/usr/sbin/nologin
 # free: 737
 # free: 738
 # free: 739
diff --git a/dns/Makefile b/dns/Makefile
index b6996ed6fa4f..b65cc1607f1f 100644
--- a/dns/Makefile
+++ b/dns/Makefile
@@ -162,6 +162,9 @@
     SUBDIR += p5-POE-Filter-DNS-TCP
     SUBDIR += p5-Tie-DNS
     SUBDIR += p5-URBL-Prepare
+    SUBDIR += p5-Zonemaster-Backend
+    SUBDIR += p5-Zonemaster-CLI
+    SUBDIR += p5-Zonemaster-Engine
     SUBDIR += p5-Zonemaster-LDNS
     SUBDIR += packetq
     SUBDIR += pdnsd
diff --git a/dns/p5-Zonemaster-Backend/Makefile b/dns/p5-Zonemaster-Backend/Makefile
new file mode 100644
index 000000000000..62118f019394
--- /dev/null
+++ b/dns/p5-Zonemaster-Backend/Makefile
@@ -0,0 +1,66 @@
+PORTNAME=	Zonemaster-Backend
+DISTVERSION=	11.3.0
+CATEGORIES=	dns perl5
+MASTER_SITES=	CPAN
+MASTER_SITE_SUBDIR=	CPAN:ZNMSTR
+PKGNAMEPREFIX=	p5-
+
+MAINTAINER=	dch@FreeBSD.org
+COMMENT=	Perl backend for Zonemaster DNS testing
+WWW=		https://zonemaster.net/en
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+BUILD_DEPENDS=	p5-Devel-CheckLib>0:devel/p5-Devel-CheckLib \
+		p5-Module-Install>0:devel/p5-Module-Install
+RUN_DEPENDS=	jq>0:textproc/jq \
+		p5-Class-Method-Modifiers>=0:devel/p5-Class-Method-Modifiers \
+		p5-Config-IniFiles>=0:devel/p5-Config-IniFiles \
+		p5-Module-CoreList>=0:devel/p5-Module-CoreList \
+		p5-Daemon-Control>=0:devel/p5-Daemon-Control \
+		p5-DBD-SQLite>=0:databases/p5-DBD-SQLite \
+		p5-DBI>=0:databases/p5-DBI \
+		p5-File-ShareDir>=0:devel/p5-File-ShareDir \
+		p5-File-Slurp>=0:devel/p5-File-Slurp \
+		p5-HTML-Parser>=0:www/p5-HTML-Parser \
+		p5-JSON-RPC>=0:devel/p5-JSON-RPC \
+		p5-JSON-Validator>=0:textproc/p5-JSON-Validator \
+		p5-Locale-libintl>=0:devel/p5-Locale-libintl \
+		p5-Log-Any-Adapter-Dispatch>=0:devel/p5-Log-Any-Adapter-Dispatch \
+		p5-Log-Any>=0:devel/p5-Log-Any \
+		p5-Log-Dispatch>=0:devel/p5-Log-Dispatch \
+		p5-Mojolicious>=0:www/p5-Mojolicious \
+		p5-Moose>=0:devel/p5-Moose \
+		p5-Parallel-ForkManager>=0:devel/p5-Parallel-ForkManager \
+		p5-Plack-Middleware-ReverseProxy>=0:www/p5-Plack-Middleware-ReverseProxy \
+		p5-Plack>=0:www/p5-Plack \
+		p5-Role-Tiny>=0:devel/p5-Role-Tiny \
+		p5-Router-Simple>=0:www/p5-Router-Simple \
+		p5-Starman>=0:www/p5-Starman \
+		p5-YAML-LibYAML>=0:textproc/p5-YAML-LibYAML
+
+USES=		gmake localbase perl5
+USE_PERL5=	configure
+
+USERS=		zonemaster
+GROUPS=		zonemaster
+
+post-extract:
+	${REINPLACE_CMD} -i '' \
+		-e '/[[:<:]]database_file[[:>:]]/ s:=.*:= /var/db/zonemaster/db.sqlite:' \
+		-e '/[[:<:]]log_file[[:>:]]/ s:=.*:= /var/log/zonemaster/backend.log:' \
+		${WRKSRC}/share/backend_config.ini
+	${REINPLACE_CMD} -i '' -e 's:/usr/local:${LOCALBASE}:g' \
+		${WRKSRC}/share/zm_rpcapi-bsd \
+		${WRKSRC}/share/zm_testagent-bsd
+
+post-install:
+	${MKDIR} ${STAGEDIR}${PREFIX}/etc/zonemaster \
+		${STAGEDIR}/var/db/zonemaster \
+		${STAGEDIR}/var/log/zonemaster \
+		${STAGEDIR}/var/run/zonemaster
+	${INSTALL_DATA} ${WRKSRC}/share/backend_config.ini ${STAGEDIR}${PREFIX}/etc/zonemaster/backend_config.ini.sample
+	${INSTALL_SCRIPT} ${WRKSRC}/share/zm_rpcapi-bsd ${STAGEDIR}${PREFIX}/etc/rc.d/zm_rpcapi
+	${INSTALL_SCRIPT} ${WRKSRC}/share/zm_testagent-bsd ${STAGEDIR}${PREFIX}/etc/rc.d/zm_testagent
+
+.include <bsd.port.mk>
diff --git a/dns/p5-Zonemaster-Backend/distinfo b/dns/p5-Zonemaster-Backend/distinfo
new file mode 100644
index 000000000000..59b8a1aa8a7f
--- /dev/null
+++ b/dns/p5-Zonemaster-Backend/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1735472550
+SHA256 (Zonemaster-Backend-11.3.0.tar.gz) = 694d13ae41aeb62e92a55bd34a3cc7e046d6d0c0550ab9d2e6e93594e652d22d
+SIZE (Zonemaster-Backend-11.3.0.tar.gz) = 141739
diff --git a/dns/p5-Zonemaster-Backend/pkg-descr b/dns/p5-Zonemaster-Backend/pkg-descr
new file mode 100644
index 000000000000..ec9e85b93c64
--- /dev/null
+++ b/dns/p5-Zonemaster-Backend/pkg-descr
@@ -0,0 +1,10 @@
+Zonemaster is a software package that validates the quality of a DNS
+delegation. The ambition of the Zonemaster project is to develop and
+maintain an open source DNS validation tool.
+
+This module provides the backend infrastructure for Zonemaster,
+implementing a JSON-RPC API server and test agent daemon. It manages
+test scheduling, result storage, and system configuration through
+multiple database backends (MySQL, PostgreSQL, SQLite). The Backend
+enables integration with web interfaces and automation tools while
+maintaining a persistent history of test results.
diff --git a/dns/p5-Zonemaster-Backend/pkg-message b/dns/p5-Zonemaster-Backend/pkg-message
new file mode 100644
index 000000000000..485ba15bba35
--- /dev/null
+++ b/dns/p5-Zonemaster-Backend/pkg-message
@@ -0,0 +1,12 @@
+[
+{ type: install
+  message: <<EOM
+The Zonemaster Backend requires a database, PostgreSQL 16 recommended for
+production, but SQLite is adequate for testing.
+
+Refer to the documentation for setting up a suitable database, and testing.
+
+https://doc.zonemaster.net/latest/installation/zonemaster-backend.html#5-installation-on-freebsd
+EOM
+}
+]
diff --git a/dns/p5-Zonemaster-Backend/pkg-plist b/dns/p5-Zonemaster-Backend/pkg-plist
new file mode 100644
index 000000000000..03b526df730d
--- /dev/null
+++ b/dns/p5-Zonemaster-Backend/pkg-plist
@@ -0,0 +1,68 @@
+@dir(zonemaster,zonemaster,750) /var/db/zonemaster
+@dir(zonemaster,zonemaster,750) /var/log/zonemaster
+@dir(zonemaster,zonemaster,750) /var/run/zonemaster
+bin/zmb
+bin/zmtest
+bin/zonemaster_backend_rpcapi.psgi
+bin/zonemaster_backend_testagent
+etc/rc.d/zm_rpcapi
+etc/rc.d/zm_testagent
+etc/zonemaster/backend_config.ini.sample
+%%SITE_PERL%%/Zonemaster/Backend.pm
+%%SITE_PERL%%/Zonemaster/Backend/Config.pm
+%%SITE_PERL%%/Zonemaster/Backend/Config/DCPlugin.pm
+%%SITE_PERL%%/Zonemaster/Backend/DB.pm
+%%SITE_PERL%%/Zonemaster/Backend/DB/MySQL.pm
+%%SITE_PERL%%/Zonemaster/Backend/DB/PostgreSQL.pm
+%%SITE_PERL%%/Zonemaster/Backend/DB/SQLite.pm
+%%SITE_PERL%%/Zonemaster/Backend/Errors.pm
+%%SITE_PERL%%/Zonemaster/Backend/Log.pm
+%%SITE_PERL%%/Zonemaster/Backend/Metrics.pm
+%%SITE_PERL%%/Zonemaster/Backend/RPCAPI.pm
+%%SITE_PERL%%/Zonemaster/Backend/TestAgent.pm
+%%SITE_PERL%%/Zonemaster/Backend/Translator.pm
+%%SITE_PERL%%/Zonemaster/Backend/Validator.pm
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/GNUmakefile
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/backend_config.ini
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/cleanup-mysql.sql
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/cleanup-postgres.sql
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/create_db.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/freebsd-pwd.conf
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/locale/da/LC_MESSAGES/Zonemaster-Backend.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/locale/es/LC_MESSAGES/Zonemaster-Backend.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/locale/fi/LC_MESSAGES/Zonemaster-Backend.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/locale/fr/LC_MESSAGES/Zonemaster-Backend.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/locale/nb/LC_MESSAGES/Zonemaster-Backend.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/locale/sv/LC_MESSAGES/Zonemaster-Backend.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/README.txt
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/patch_db_zonemaster_backend_ver_11.1.0.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/patch_db_zonemaster_backend_ver_11.2.0.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/patch_db_zonemaster_backend_ver_9.0.0.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/patch_mysql_db_zonemaster_backend_ver_1.0.3.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/patch_mysql_db_zonemaster_backend_ver_5.0.0.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/patch_mysql_db_zonemaster_backend_ver_5.0.2.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/patch_mysql_db_zonemaster_backend_ver_8.0.0.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/patch_postgresql_db_zonemaster_backend_ver_1.0.3.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/patch_postgresql_db_zonemaster_backend_ver_5.0.0.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/patch_postgresql_db_zonemaster_backend_ver_8.0.0.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/patch/patch_sqlite_db_zonemaster_backend_ver_8.0.0.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/tmpfiles.conf
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/travis_mysql_backend_config.ini
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/travis_postgresql_backend_config.ini
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/travis_sqlite_backend_config.ini
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/zm-rpcapi.lsb
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/zm-rpcapi.service
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/zm-testagent.lsb
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/zm-testagent.service
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/zm_rpcapi-bsd
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Backend/zm_testagent-bsd
+%%PERL5_MAN1%%/zmb.1.gz
+%%PERL5_MAN1%%/zonemaster_backend_testagent.1.gz
+%%PERL5_MAN3%%/Zonemaster::Backend.3.gz
+%%PERL5_MAN3%%/Zonemaster::Backend::Config.3.gz
+%%PERL5_MAN3%%/Zonemaster::Backend::Config::DCPlugin.3.gz
+%%PERL5_MAN3%%/Zonemaster::Backend::DB.3.gz
+%%PERL5_MAN3%%/Zonemaster::Backend::DB::MySQL.3.gz
+%%PERL5_MAN3%%/Zonemaster::Backend::DB::PostgreSQL.3.gz
+%%PERL5_MAN3%%/Zonemaster::Backend::DB::SQLite.3.gz
+%%PERL5_MAN3%%/Zonemaster::Backend::Validator.3.gz
diff --git a/dns/p5-Zonemaster-CLI/Makefile b/dns/p5-Zonemaster-CLI/Makefile
new file mode 100644
index 000000000000..13514314b4d2
--- /dev/null
+++ b/dns/p5-Zonemaster-CLI/Makefile
@@ -0,0 +1,30 @@
+PORTNAME=	Zonemaster-CLI
+DISTVERSIONPREFIX=	v
+DISTVERSION=	7.1.0
+CATEGORIES=	dns perl5
+MASTER_SITES=	CPAN
+MASTER_SITE_SUBDIR=	CPAN:ZNMSTR
+PKGNAMEPREFIX=	p5-
+
+MAINTAINER=	dch@FreeBSD.org
+COMMENT=	Perl command-line for Zonemaster DNS testing
+WWW=		https://zonemaster.net/en
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	p5-Devel-CheckLib>0:devel/p5-Devel-CheckLib \
+		p5-Module-Install>0:devel/p5-Module-Install
+RUN_DEPENDS=	p5-JSON-XS>=0:converters/p5-JSON-XS \
+		p5-Locale-libintl>0:devel/p5-Locale-libintl \
+		p5-MooseX-Getopt>=0:devel/p5-MooseX-Getopt \
+		p5-Net-IP>=0:net-mgmt/p5-Net-IP \
+		p5-Text-Reflow>0:textproc/p5-Text-Reflow \
+		p5-Try-Tiny>0:lang/p5-Try-Tiny \
+		p5-Zonemaster-Engine>0:dns/p5-Zonemaster-Engine \
+		p5-Zonemaster-LDNS>0:dns/p5-Zonemaster-LDNS
+
+USES=		gmake localbase perl5
+USE_PERL5=	configure
+
+.include <bsd.port.mk>
diff --git a/dns/p5-Zonemaster-CLI/distinfo b/dns/p5-Zonemaster-CLI/distinfo
new file mode 100644
index 000000000000..9f62ef02ec5b
--- /dev/null
+++ b/dns/p5-Zonemaster-CLI/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1735472491
+SHA256 (Zonemaster-CLI-v7.1.0.tar.gz) = 82ecd2ef8f01a3f45b64cdcc876359546ac39069481d9a351cd7fd8453d0be3f
+SIZE (Zonemaster-CLI-v7.1.0.tar.gz) = 81499
diff --git a/dns/p5-Zonemaster-CLI/pkg-descr b/dns/p5-Zonemaster-CLI/pkg-descr
new file mode 100644
index 000000000000..8b4c312221e6
--- /dev/null
+++ b/dns/p5-Zonemaster-CLI/pkg-descr
@@ -0,0 +1,9 @@
+Zonemaster is a software package that validates the quality of a DNS
+delegation. The ambition of the Zonemaster project is to develop and
+maintain an open source DNS validation tool.
+
+This module provides a feature-rich command-line interface to the
+Zonemaster Engine. It supports multiple output formats including
+plain text, JSON, and structured formats suitable for integration
+with other tools. The CLI allows for detailed DNS delegation testing
+with customizable test profiles and verbosity levels.
diff --git a/dns/p5-Zonemaster-CLI/pkg-plist b/dns/p5-Zonemaster-CLI/pkg-plist
new file mode 100644
index 000000000000..fa4c1c15a231
--- /dev/null
+++ b/dns/p5-Zonemaster-CLI/pkg-plist
@@ -0,0 +1,11 @@
+bin/zonemaster-cli
+%%SITE_PERL%%/Zonemaster/CLI.pm
+%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/GNUmakefile
+%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/da/LC_MESSAGES/Zonemaster-CLI.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/es/LC_MESSAGES/Zonemaster-CLI.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/fi/LC_MESSAGES/Zonemaster-CLI.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/fr/LC_MESSAGES/Zonemaster-CLI.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/nb/LC_MESSAGES/Zonemaster-CLI.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-CLI/locale/sv/LC_MESSAGES/Zonemaster-CLI.mo
+%%PERL5_MAN1%%/zonemaster-cli.1.gz
+%%PERL5_MAN3%%/Zonemaster::CLI.3.gz
diff --git a/dns/p5-Zonemaster-Engine/Makefile b/dns/p5-Zonemaster-Engine/Makefile
new file mode 100644
index 000000000000..238f0f0434c6
--- /dev/null
+++ b/dns/p5-Zonemaster-Engine/Makefile
@@ -0,0 +1,50 @@
+PORTNAME=	Zonemaster-Engine
+DISTVERSIONPREFIX=	v
+DISTVERSION=	7.0.0
+CATEGORIES=	dns perl5
+MASTER_SITES=	CPAN
+MASTER_SITE_SUBDIR=	CPAN:ZNMSTR
+PKGNAMEPREFIX=	p5-
+
+MAINTAINER=	dch@FreeBSD.org
+COMMENT=	Perl backend for Zonemaster DNS testing
+WWW=		https://zonemaster.net/en
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+BUILD_DEPENDS=	p5-Devel-CheckLib>0:devel/p5-Devel-CheckLib \
+		p5-Module-Install>0:devel/p5-Module-Install
+RUN_DEPENDS=	p5-Class-Accessor>=0:devel/p5-Class-Accessor \
+		p5-Clone>=0:devel/p5-Clone \
+		p5-Devel-CheckLib>=0:devel/p5-Devel-CheckLib \
+		p5-Email-Valid>=0:mail/p5-Email-Valid \
+		p5-File-ShareDir>=0:devel/p5-File-ShareDir \
+		p5-File-Slurp>=0:devel/p5-File-Slurp \
+		p5-IO-Socket-INET6>=0:net/p5-IO-Socket-INET6 \
+		p5-JSON-XS>=0:converters/p5-JSON-XS \
+		p5-List-Compare>=0:misc/p5-List-Compare \
+		p5-List-MoreUtils>=0:lang/p5-List-MoreUtils \
+		p5-Locale-libintl>0:devel/p5-Locale-libintl \
+		p5-Locale-libintl>=0:devel/p5-Locale-libintl \
+		p5-Locale-PO>=0:devel/p5-Locale-PO \
+		p5-Log-Any>=0:devel/p5-Log-Any \
+		p5-Mail-SPF>=0:mail/p5-Mail-SPF \
+		p5-MIME-Base32>=0:converters/p5-MIME-Base32 \
+		p5-Module-Find>=0:devel/p5-Module-Find \
+		p5-Moose>=0:devel/p5-Moose \
+		p5-MooseX-Getopt>=0:devel/p5-MooseX-Getopt \
+		p5-MooseX-Singleton>=0:devel/p5-MooseX-Singleton \
+		p5-Net-DNS>=0:dns/p5-Net-DNS \
+		p5-Net-IP-XS>=0:net-mgmt/p5-Net-IP-XS \
+		p5-Readonly>=0:devel/p5-Readonly \
+		p5-Text-CSV>=0:textproc/p5-Text-CSV \
+		p5-Text-Reflow>0:textproc/p5-Text-Reflow \
+		p5-Try-Tiny>0:lang/p5-Try-Tiny \
+		p5-YAML-LibYAML>=0:textproc/p5-YAML-LibYAML \
+		p5-Zonemaster-LDNS>0:dns/p5-Zonemaster-LDNS
+
+USES=		gmake localbase perl5
+USE_PERL5=	configure
+
+.include <bsd.port.mk>
diff --git a/dns/p5-Zonemaster-Engine/distinfo b/dns/p5-Zonemaster-Engine/distinfo
new file mode 100644
index 000000000000..a14896eb0d6f
--- /dev/null
+++ b/dns/p5-Zonemaster-Engine/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1735472533
+SHA256 (Zonemaster-Engine-v7.0.0.tar.gz) = ac4baf26f2395ca237718eed4daa0db30d89a0ccbc6ffda9fd8784ff1a364580
+SIZE (Zonemaster-Engine-v7.0.0.tar.gz) = 11963637
diff --git a/dns/p5-Zonemaster-Engine/pkg-descr b/dns/p5-Zonemaster-Engine/pkg-descr
new file mode 100644
index 000000000000..f34a69fd0ca0
--- /dev/null
+++ b/dns/p5-Zonemaster-Engine/pkg-descr
@@ -0,0 +1,8 @@
+Zonemaster is a software package that validates the quality of a DNS
+delegation. The ambition of the Zonemaster project is to develop and
+maintain an open source DNS validation tool.
+
+This module is the core engine of Zonemaster, implementing all DNS tests
+and validation rules. It performs comprehensive checks on domain name
+delegation, including DNSSEC, IPv6 readiness, and compliance with
+relevant RFCs and industry best practices.
diff --git a/dns/p5-Zonemaster-Engine/pkg-plist b/dns/p5-Zonemaster-Engine/pkg-plist
new file mode 100644
index 000000000000..a537a5de81bf
--- /dev/null
+++ b/dns/p5-Zonemaster-Engine/pkg-plist
@@ -0,0 +1,83 @@
+%%PERL5_MAN3%%/Zonemaster::Engine.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::ASNLookup.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Constants.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::DNSName.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Exception.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Logger.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Logger::Entry.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::NSArray.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Nameserver.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Nameserver::Cache.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Nameserver::Cache::LocalCache.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Nameserver::Cache::RedisCache.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Normalization.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Normalization::Error.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Overview.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Packet.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Profile.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Recursor.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Test.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Test::Address.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Test::Basic.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Test::Connectivity.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Test::Consistency.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Test::DNSSEC.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Test::Delegation.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Test::Nameserver.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Test::Syntax.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Test::Zone.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::TestMethods.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::TestMethodsV2.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Translator.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Util.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Validation.3.gz
+%%PERL5_MAN3%%/Zonemaster::Engine::Zone.3.gz
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/GNUmakefile
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/iana-ipv4-special-registry.csv
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/iana-ipv6-special-registry.csv
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/json2yaml.pl
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/da/LC_MESSAGES/Zonemaster-Engine.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/es/LC_MESSAGES/Zonemaster-Engine.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/fi/LC_MESSAGES/Zonemaster-Engine.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/fr/LC_MESSAGES/Zonemaster-Engine.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/nb/LC_MESSAGES/Zonemaster-Engine.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/locale/sv/LC_MESSAGES/Zonemaster-Engine.mo
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/modules.txt
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/named.root
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/profile_additional_properties.json
+%%SITE_PERL%%/Zonemaster/Engine.pm
+%%SITE_PERL%%/Zonemaster/Engine/ASNLookup.pm
+%%SITE_PERL%%/Zonemaster/Engine/Constants.pm
+%%SITE_PERL%%/Zonemaster/Engine/DNSName.pm
+%%SITE_PERL%%/Zonemaster/Engine/Exception.pm
+%%SITE_PERL%%/Zonemaster/Engine/Logger.pm
+%%SITE_PERL%%/Zonemaster/Engine/Logger/Entry.pm
+%%SITE_PERL%%/Zonemaster/Engine/NSArray.pm
+%%SITE_PERL%%/Zonemaster/Engine/Nameserver.pm
+%%SITE_PERL%%/Zonemaster/Engine/Nameserver/Cache.pm
+%%SITE_PERL%%/Zonemaster/Engine/Nameserver/Cache/LocalCache.pm
+%%SITE_PERL%%/Zonemaster/Engine/Nameserver/Cache/RedisCache.pm
+%%SITE_PERL%%/Zonemaster/Engine/Normalization.pm
+%%SITE_PERL%%/Zonemaster/Engine/Normalization/Error.pm
+%%SITE_PERL%%/Zonemaster/Engine/Overview.pod
+%%SITE_PERL%%/Zonemaster/Engine/Packet.pm
+%%SITE_PERL%%/Zonemaster/Engine/Profile.pm
+%%SITE_PERL%%/Zonemaster/Engine/Recursor.pm
+%%SITE_PERL%%/Zonemaster/Engine/Test.pm
+%%SITE_PERL%%/Zonemaster/Engine/Test/Address.pm
+%%SITE_PERL%%/Zonemaster/Engine/Test/Basic.pm
+%%SITE_PERL%%/Zonemaster/Engine/Test/Connectivity.pm
+%%SITE_PERL%%/Zonemaster/Engine/Test/Consistency.pm
+%%SITE_PERL%%/Zonemaster/Engine/Test/DNSSEC.pm
+%%SITE_PERL%%/Zonemaster/Engine/Test/Delegation.pm
+%%SITE_PERL%%/Zonemaster/Engine/Test/Nameserver.pm
+%%SITE_PERL%%/Zonemaster/Engine/Test/Syntax.pm
+%%SITE_PERL%%/Zonemaster/Engine/Test/Zone.pm
+%%SITE_PERL%%/Zonemaster/Engine/TestMethods.pm
+%%SITE_PERL%%/Zonemaster/Engine/TestMethodsV2.pm
+%%SITE_PERL%%/Zonemaster/Engine/Translator.pm
+%%SITE_PERL%%/Zonemaster/Engine/Util.pm
+%%SITE_PERL%%/Zonemaster/Engine/Validation.pm
+%%SITE_PERL%%/Zonemaster/Engine/Zone.pm
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/profile.json
+%%SITE_PERL%%/auto/share/dist/Zonemaster-Engine/profile.yaml



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202501030011.5030BP47018923>