git: 715cc2571370 - main - blocklist: Add vendor import instructions
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 16 Dec 2025 00:56:36 UTC
The branch main has been updated by jlduran:
URL: https://cgit.FreeBSD.org/src/commit/?id=715cc257137099e022c7eecea4cd6995bb7604a3
commit 715cc257137099e022c7eecea4cd6995bb7604a3
Author: Jose Luis Duran <jlduran@FreeBSD.org>
AuthorDate: 2025-12-16 00:55:24 +0000
Commit: Jose Luis Duran <jlduran@FreeBSD.org>
CommitDate: 2025-12-16 00:55:24 +0000
blocklist: Add vendor import instructions
Add vendor import instructions for blocklist.
It includes a "freebsd-changes.sh" script that takes care of adapting
paths and functions into FreeBSD.
Reviewed by: emaste
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D49510
---
contrib/blocklist/FreeBSD-upgrade | 97 ++++++++++++++++++++++++++++++++++++
contrib/blocklist/freebsd-changes.sh | 18 +++++++
2 files changed, 115 insertions(+)
diff --git a/contrib/blocklist/FreeBSD-upgrade b/contrib/blocklist/FreeBSD-upgrade
new file mode 100644
index 000000000000..3e91d36cabb6
--- /dev/null
+++ b/contrib/blocklist/FreeBSD-upgrade
@@ -0,0 +1,97 @@
+FreeBSD maintainer's guide to blocklist
+=======================================
+
+These instructions describe the blocklist vendor import procedure,
+following the Committer's Guide
+(https://docs.freebsd.org/en/articles/committers-guide/#vendor-import-git).
+
+> [!NOTE]
+> This guide follows the convention that a `freebsd` remote is pointing
+> to gitrepo.FreeBSD.org/src.git.
+
+1. Grab our top level directory:
+
+ freebsd=$(git rev-parse --show-toplevel)
+
+2. Create a Git worktree under a temporary directory:
+
+ worktree=$(mktemp -d -t blocklist)
+ git worktree add ${worktree} vendor/blocklist
+
+3. Clone the blocklist repo (https://github.com/zoulasc/blocklist.git):
+
+ blocklist_repo=$(mktemp -d -t blocklist-repo)
+ git clone https://github.com/zoulasc/blocklist.git ${blocklist_repo}
+ cd ${blocklist_repo}
+ commit=$(git rev-parse HEAD)
+ commit_short=$(git rev-parse --short HEAD)
+ date=$(git show -s --format=%cd --date=format:%Y-%m-%d)
+ tag=$(git show -s --format=%cd --date=format:%Y%m%d)
+
+4. Copy to the vendor branch using rsync (net/rsync):
+
+ rsync -va --del --exclude=".git" ${blocklist_repo}/ ${worktree}
+
+5. Take care of added/deleted files:
+
+ cd ${worktree}
+ git add -A ${worktree}
+ git status
+ git diff --staged
+
+6. Commit:
+
+ message=$(cat <<-EOM
+ blocklist ${date} (${commit_short})
+
+ Upstream hash ${commit}.
+
+ Obtained from: https://github.com/zoulasc/blocklist
+ EOM
+ )
+ git commit -e -m "Vendor import of ${message}"
+
+7. Tag:
+
+ git tag -a -e -m "Tag ${message}" vendor/blocklist/${tag}
+
+ At this point, the vendor branch can be pushed to the FreeBSD
+ repo via:
+
+ git push --follow-tags freebsd vendor/blocklist
+
+8. Merge from the vendor branch:
+
+ cd ${freebsd}
+ git subtree merge -P contrib/blocklist vendor/blocklist
+
+ Some files may have been deleted from FreeBSD's copy of
+ blocklist. When git prompts for these deleted files during the
+ merge, choose 'd' (leaving them deleted).
+
+9. Resolve conflicts.
+
+10. Diff against the vendor branch:
+
+ git diff --diff-filter=M vendor/blocklist/${tag} HEAD:contrib/blocklist
+
+ Review the diff for any unexpected changes.
+
+11. Run the FreeBSD changes script:
+
+ cd contrib/blocklist
+ sh ./freebsd-changes.sh
+
+12. If source files have been added or removed, update the
+ appropriate makefiles to reflect changes in the vendor's
+ Makefile.in.
+
+13. Build and install world, reboot, test. Pay particular attention
+ to the fingerd(8) and sshd(8) integration.
+
+14. Commit.
+
+15. Cleanup:
+
+ rm -fr ${blocklist_repo} ${worktree}
+ git worktree prune
diff --git a/contrib/blocklist/freebsd-changes.sh b/contrib/blocklist/freebsd-changes.sh
new file mode 100644
index 000000000000..8ddea13b638f
--- /dev/null
+++ b/contrib/blocklist/freebsd-changes.sh
@@ -0,0 +1,18 @@
+#!/bin/sh
+
+#
+# FreeBSD-specific changes from upstream
+#
+
+# Remove Debian port
+rm -fr port/debian
+
+# /libexec -> /usr/libexec
+sed -i "" -e 's| /libexec| /usr/libexec|g' bin/blocklistd.8
+sed -i "" -e 's|"/libexec|"/usr/libexec|g' bin/internal.h
+
+# NetBSD: RT_ROUNDUP -> FreeBSD: SA_SIZE (from net/route.h)
+sed -i "" -e 's/RT_ROUNDUP/SA_SIZE/g' bin/conf.c
+
+# npfctl(8) -> ipf(8), ipfw(8), pfctl(8)
+sed -i "" -e 's/npfctl 8 ,/ipf 8 ,\n.Xr ipfw 8 ,\n.Xr pfctl 8 ,/g' bin/blocklistd.8