ssh: remove pre- and post-merge update steps

We no longer use the pre- and post-merge scripts to strip/add RCS tags.
The tags have been removed from main, but persist on older branches.

While here renumber the steps in the update documentation using a more
conventional scheme.

Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D36904
This commit is contained in:
Ed Maste 2022-10-06 10:57:41 -04:00
parent 87fa64c569
commit fca7ac55f8
3 changed files with 17 additions and 57 deletions

View File

@ -6,36 +6,36 @@
src/freebsd/vendor/. In addition, this assumes there is a "freebsd"
origin pointing to git(repo).freebsd.org/src.git.
00) Make sure your mail spool has plenty of free space. It'll fill up
01) Make sure your mail spool has plenty of free space. It'll fill up
pretty fast once you're done with this checklist.
01) Download the latest OpenSSH-portable tarball and signature from
02) Download the latest OpenSSH-portable tarball and signature from
OpenBSD (https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/).
02) Verify the signature:
03) Verify the signature:
$ gpg --verify openssh-X.YpZ.tar.gz.asc
03) Unpack the tarball in a suitable directory:
04) Unpack the tarball in a suitable directory:
$ tar xf openssh-X.YpZ.tar.gz
04) Copy to a vendor branch:
05) Copy to a vendor branch:
$ cd src/freebsd/main
$ git worktree add ../vendor/openssh freebsd/vendor/openssh
$ cd ../vendor/openssh
$ rsync --archive --delete --exclude=.git /path/to/openssh-X.YpZ/ ./
05) Take care of added / deleted files:
06) Take care of added / deleted files:
$ git add -A
06) Commit:
07) Commit:
$ git commit -m "Vendor import of OpenSSH X.YpZ"
07) Tag:
08) Tag:
$ git tag -a -m "Tag OpenSSH X.YpZ" vendor/openssh/X.YpZ
@ -56,12 +56,6 @@
The update and tag could instead be pushed later, along with the merge
to main, but pushing now allows others to collaborate.
08) Check out head and run the pre-merge script, which strips our RCS
tags from files that have them:
$ cd src/freebsd/main/crypto/openssh
$ sh freebsd-pre-merge.sh
09) Merge from the vendor branch:
$ git subtree merge -P crypto/openssh vendor/openssh
@ -71,11 +65,11 @@
git prompts for these deleted files during the merge, choose 'd'
(leaving them deleted).
0A) Resolve conflicts. Remember to bump the version addendum in
10) Resolve conflicts. Remember to bump the version addendum in
version.h, and update the default value in ssh{,d}_config and
ssh{,d}_config.5.
0B) Diff against the vendor branch:
11) Diff against the vendor branch:
$ git diff --diff-filter=M vendor/openssh/X.YpZ HEAD:crypto/openssh
@ -84,40 +78,32 @@
FreeBSD=%H and be listed in the 'keywords' file created by the
pre-merge script.
0C) Run the post-merge script, which re-adds RCS tags to files that
need them:
$ sh freebsd-post-merge.sh
These tags are not used with git, but we will leave them in place as
long as svn-based FreeBSD 12.x is supported.
0D) Run the configure script:
12) Run the configure script:
$ sh freebsd-configure.sh
0E) Review changes to config.h very carefully.
13) Review changes to config.h very carefully.
Note that libwrap should not be defined in config.h; as of
r311585 (233932cc2a60) it is conditional on MK_TCP_WRAPPERS.
0F) If source files have been added or removed, update the appropriate
14) If source files have been added or removed, update the appropriate
makefiles to reflect changes in the vendor's Makefile.in.
10) Update ssh_namespace.h:
15) Update ssh_namespace.h:
$ sh freebsd-namespace.sh
11) Build and install world, reboot, test. Pay particular attention
16) Build and install world, reboot, test. Pay particular attention
to pam_ssh(8), which gropes inside libssh and will break if
something significant changes or if ssh_namespace.h is out of
whack.
12) Check for references to obsolete configuration options
17) Check for references to obsolete configuration options
(e.g., ChallengeResponseAuthentication in sshd_config) which
may exist in release/ scripts.
13) Commit, and hunker down for the inevitable storm of complaints.
18) Commit, and hunker down for the inevitable storm of complaints.

View File

@ -1,12 +0,0 @@
#!/bin/sh
#
xargs perl -n -i -e '
print;
s/\$(Id|OpenBSD): [^\$]*/\$FreeBSD/ && print;
' <keywords
xargs perl -n -i -e '
print;
m/^\#include "includes.h"/ && print "__RCSID(\"\$FreeBSD\$\");\n";
' <rcsid

View File

@ -1,14 +0,0 @@
#!/bin/sh
#
:>keywords
:>rcsid
git ls-files | \
while read f ; do
egrep -l '^(#|\.\\"|/\*)[[:space:]]+\$FreeBSD[:\$]' $f >>keywords
egrep -l '__RCSID\("\$FreeBSD[:\$]' $f >>rcsid
done
sort -u keywords rcsid | xargs perl -n -i -e '
$strip = $ARGV if /\$(Id|OpenBSD):.*\$/;
print unless (($strip eq $ARGV || /__RCSID/) && /\$FreeBSD[:\$]/);
'