The branch main has been updated by jlduran:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=715cc257137099e022c7eecea4cd6995bb7604a3

commit 715cc257137099e022c7eecea4cd6995bb7604a3
Author:     Jose Luis Duran <[email protected]>
AuthorDate: 2025-12-16 00:55:24 +0000
Commit:     Jose Luis Duran <[email protected]>
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

Reply via email to