git: 954f0e1e4ec3 - main - mail/spf-tools: [New Port] Shell tools for keeping SPF records tidy
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 03 Jul 2026 17:09:56 UTC
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