Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 Jul 2026 17:09:56 +0000
From:      Kurt Jaeger <pi@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Cc:        Jordan Montesse <ports@brtsvcs.net>
Subject:   git: 954f0e1e4ec3 - main - mail/spf-tools: [New Port] Shell tools for keeping SPF records tidy
Message-ID:  <6a47ece4.2018e.5dee44ee@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by pi:

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

commit 954f0e1e4ec373fce3b8b158d8132fa3b2e8f8d4
Author:     Jordan Montesse <ports@brtsvcs.net>
AuthorDate: 2026-07-03 17:08:34 +0000
Commit:     Kurt Jaeger <pi@FreeBSD.org>
CommitDate: 2026-07-03 17:08:34 +0000

    mail/spf-tools: [New Port] Shell tools for keeping SPF records tidy
    
    A collection of scripts for manipulating SPF records to stay within
    the 10 DNS look-up limit specified in RFC 7208.  Also includes scripts
    to update SPF records via AWS, Cloudflare, and DNSimple APIs.
    
    PR:     294442
    Author: Jordan Montesse <ports@brtsvcs.net>
---
 mail/Makefile              |  1 +
 mail/spf-tools/Makefile    | 38 ++++++++++++++++++++++++++++++++++++++
 mail/spf-tools/distinfo    |  3 +++
 mail/spf-tools/pkg-descr   |  3 +++
 mail/spf-tools/pkg-message | 18 ++++++++++++++++++
 mail/spf-tools/pkg-plist   | 18 ++++++++++++++++++
 6 files changed, 81 insertions(+)

diff --git a/mail/Makefile b/mail/Makefile
index a2b8f128c105..67b8984d3882 100644
--- a/mail/Makefile
+++ b/mail/Makefile
@@ -698,6 +698,7 @@
     SUBDIR += spampd
     SUBDIR += spamprobe
     SUBDIR += spamstats
+    SUBDIR += spf-tools
     SUBDIR += spfmilter
     SUBDIR += spfval
     SUBDIR += spmfilter
diff --git a/mail/spf-tools/Makefile b/mail/spf-tools/Makefile
new file mode 100644
index 000000000000..c7f96d11e46f
--- /dev/null
+++ b/mail/spf-tools/Makefile
@@ -0,0 +1,38 @@
+PORTNAME=	spf-tools
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.3
+CATEGORIES=	mail dns
+
+MAINTAINER=	ports@brtsvcs.net
+COMMENT=	Shell tools for keeping SPF records tidy
+WWW=		https://github.com/spf-tools/spf-tools
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+RUN_DEPENDS=	iprange:net-mgmt/iprange \
+		jq:textproc/jq
+
+USE_GITHUB=	yes
+
+NO_ARCH=	yes
+NO_BUILD=	yes
+
+_LIBEXECDIR=	${PREFIX}/libexec/${PORTNAME}
+
+_REINPLACE=	cloudflare.sh compare.sh despf.sh dnsimple.sh mkblocks.sh \
+		route53.sh runspftools.sh
+
+post-patch:
+.for i in ${_REINPLACE}
+	@${REINPLACE_CMD} -e 's|.BINDIR/include|${_LIBEXECDIR}|g' ${WRKSRC}/$i
+.endfor
+
+do-install:
+	${INSTALL_SCRIPT} ${WRKSRC}/*.sh ${STAGEDIR}${PREFIX}/bin
+	${MKDIR} ${STAGEDIR}${_LIBEXECDIR}
+	${INSTALL_SCRIPT} ${WRKSRC}/include/*.sh ${STAGEDIR}${_LIBEXECDIR}
+	${MKDIR} ${STAGEDIR}${DATADIR}
+	${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DATADIR}
+
+.include <bsd.port.mk>
diff --git a/mail/spf-tools/distinfo b/mail/spf-tools/distinfo
new file mode 100644
index 000000000000..aa67a120f10c
--- /dev/null
+++ b/mail/spf-tools/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1776006262
+SHA256 (spf-tools-spf-tools-v2.3_GH0.tar.gz) = f64043d32b9ca779f135ccac31d28edc7c1c682e6feba067b08a0a98b721a210
+SIZE (spf-tools-spf-tools-v2.3_GH0.tar.gz) = 25465
diff --git a/mail/spf-tools/pkg-descr b/mail/spf-tools/pkg-descr
new file mode 100644
index 000000000000..f40b4ea04558
--- /dev/null
+++ b/mail/spf-tools/pkg-descr
@@ -0,0 +1,3 @@
+A collection of scripts for manipulating SPF records to stay within
+the 10 DNS look-up limit specified in RFC 7208.  Also includes scripts
+to update SPF records via AWS, Cloudflare, and DNSimple APIs.
diff --git a/mail/spf-tools/pkg-message b/mail/spf-tools/pkg-message
new file mode 100644
index 000000000000..971ef05a57d4
--- /dev/null
+++ b/mail/spf-tools/pkg-message
@@ -0,0 +1,18 @@
+[
+{ type: install
+  message: <<EOM
+The route53.sh script was installed, however you will need to install
+the AWS CLI dependency yourself.  CLI v1 is available on PyPI as the
+awscli package.  To install CLI v2, please see the following:
+
+Official CLI v1 to v2 migration tool:
+
+https://docs.aws.amazon.com/cli/latest/userguide/cli-migration-tool.html
+
+Issue on the aws-cli GitHub repository discussing publishing CLI v2
+directly to PyPI:
+
+https://github.com/aws/aws-cli/issues/4947
+EOM
+}
+]
diff --git a/mail/spf-tools/pkg-plist b/mail/spf-tools/pkg-plist
new file mode 100644
index 000000000000..4116a621ea32
--- /dev/null
+++ b/mail/spf-tools/pkg-plist
@@ -0,0 +1,18 @@
+bin/cloudflare.sh
+bin/compare.sh
+bin/despf.sh
+bin/dnsimple.sh
+bin/genspfzone.sh
+bin/iprange.sh
+bin/mkblocks.sh
+bin/mkzoneent.sh
+bin/normalize.sh
+bin/route53.sh
+bin/runspftools.sh
+bin/simplify.sh
+bin/xsel.sh
+libexec/spf-tools/despf.inc.sh
+libexec/spf-tools/global.inc.sh
+libexec/spf-tools/isincidrange.sh
+libexec/spf-tools/isincidrange6.sh
+%%DATADIR%%/README.md


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6a47ece4.2018e.5dee44ee>