I think this is OK.
I tried going through tests/portcheck with it, but they're already rotten
from other changes in ports; anyway, with the relevant $OpenBSD$ lines
removed from the test files the failures are the same as before.
On 2022/03/03 22:27, Christian Weisgerber wrote:
> Stuart Henderson:
>
> > > On Mon, Feb 28, 2022 at 04:14:25PM +0100, Christian Weisgerber wrote:
> > > > Drop all checks for $OpenBSD$ keywords from portcheck(1).
> > > >
> > > > Or should we instead complain if files do have $OpenBSD$?
> > >
> > > I think it's better if we have a policy, so complaining might be better.
> >
> > I think so too, though it will take a while for people to get a newer
> > portcheck that complains.
>
> Here's a new try.
>
> * Complain where $OpenBSD$ was previously mandatory.
> * Still complain where it continues to be forbidden.
> * Also check the content of the "files" directory.
>
> E.g.
> $ portcheck
> Makefile should not contain $OpenBSD$ tag
> files/config.mk should not contain $OpenBSD$ tag
> files/head.c should not contain $OpenBSD$ tag
> patches/patch-common_mk should not contain $OpenBSD$ tag
> patches/patch-lib_Makefile should not contain $OpenBSD$ tag
> patches/patch-lib_libpm_c should not contain $OpenBSD$ tag
> patches/patch-lib_util_Makefile should not contain $OpenBSD$ tag
> pkg/PLIST should not contain $OpenBSD$ tag
> graphics/netpbm
>
> Index: infrastructure/bin/portcheck
> ===================================================================
> RCS file: /cvs/ports/infrastructure/bin/portcheck,v
> retrieving revision 1.140
> diff -u -p -r1.140 portcheck
> --- infrastructure/bin/portcheck 6 Nov 2021 19:10:18 -0000 1.140
> +++ infrastructure/bin/portcheck 3 Mar 2022 21:15:37 -0000
> @@ -1541,6 +1541,7 @@ check_permit_subpkg() {
> # Checks made:
> # * Directory is not empty
> # * No '*.core' files present
> +# * Files should not contain OpenBSD RCS tags
> check_files_dir() {
> $debugging && echo "CALLED: check_files_dir($*)" >&2
>
> @@ -1553,8 +1554,12 @@ check_files_dir() {
> (( (0$mode & 0111) != 0 )) &&
> err "executable file: $F"
> empty=false
> - [[ $F == *.core ]] &&
> + if [[ $F == *.core ]]; then
> err_coredump_found "$F"
> + else
> + grep -q '\$OpenBSD.*\$' "$F" &&
> + err "$F should not contain \$OpenBSD\$
> tag"
> + fi
> done
> $empty && err "there are no files, please remove the $1
> directory"
> ! $error
> @@ -1563,7 +1568,7 @@ check_files_dir() {
>
> # Checks made:
> # * The patch is not empty.
> -# * The patch contains an OpenBSD RCS tag.
> +# * The patch should not contain an OpenBSD RCS tag.
> check_patch() {
> local F=$1
>
> @@ -1573,8 +1578,8 @@ check_patch() {
> }
>
> if [ -s "$F" ]; then
> - head -n 1 -- "$F" | egrep -q '^\$OpenBSD.*\$$' ||
> - err "$F does not have \$OpenBSD\$ RCS tag at the top"
> + grep -q '\$OpenBSD.*\$' "$F" &&
> + err "$F should not contain \$OpenBSD\$ tag"
> else
> err "$F is empty and should be removed"
> fi
> @@ -1583,7 +1588,7 @@ check_patch() {
> }
>
> # Checks made:
> -# * Each patch contains OpenBSD RCS tag.
> +# * Patches should not contain OpenBSD RCS tags.
> # * Directory is not empty and consists only of plain files starting
> # with 'patch-' and not ending with '.orig'.
> check_patches_dir() {
> @@ -1614,8 +1619,7 @@ check_patches_dir() {
>
> # Checks made:
> # * Directory is not empty and consist only of plain files with fixed
> names.
> -# * PFRAG, PLIST, README and .rc files contain appropriate OpenBSD RCS
> -# tags; other files should NOT contain OpenBSD RCS tag.
> +# * Files should not contain OpenBSD RCS tags.
> # * PFRAG.shared should be merged into PLIST.
> # * No trailing whitespace for DESCR, MESSAGE, README, UNMESSAGE and
> # .rc files (PLIST and PFRAG are better checked with "make package").
> @@ -1647,7 +1651,7 @@ check_pkg_dir() {
> check_long_lines "$F"
> check_hardcoded "$F"
> [[ -n $subst_cmd ]] && check_subst_vars "$F" "$subst_cmd"
> - egrep -q '\$OpenBSD.*\$' "$F" &&
> + grep -q '\$OpenBSD.*\$' "$F" &&
> err "$F should not contain \$OpenBSD\$ tag"
> ;;
>
> @@ -1673,9 +1677,8 @@ check_pkg_dir() {
> check_newline_at_eof "$F"
> check_long_lines "$F"
> check_hardcoded "$F"
> - head -n 1 -- "$F" |
> - egrep -q '^(#[[:space:]]*)?\$OpenBSD(:.*)?\$$' ||
> - err "$F does not have \$OpenBSD\$ RCS tag at the top"
> + grep -q '\$OpenBSD.*\$' "$F" &&
> + err "$F should not contain \$OpenBSD\$ tag"
> ;;
>
> *.rc)
> @@ -1687,9 +1690,8 @@ check_pkg_dir() {
> check_long_lines "$F"
> check_hardcoded "$F"
> check_rcscript "$dir" "${F##*/}"
> - head -n 5 -- "$F" |
> - egrep -q '^#[[:space:]]*\$OpenBSD(:.*)?\$$' ||
> - err "$F does not have \$OpenBSD\$ RCS tag at the top"
> + grep -q '\$OpenBSD.*\$' "$F" &&
> + err "$F should not contain \$OpenBSD\$ tag"
> ;;
>
> MESSAGE?(-*)|UNMESSAGE?(-*))
> @@ -1700,7 +1702,7 @@ check_pkg_dir() {
> check_newline_at_eof "$F"
> check_long_lines "$F"
> check_hardcoded "$F"
> - egrep -q '\$OpenBSD.*\$' "$F" &&
> + grep -q '\$OpenBSD.*\$' "$F" &&
> err "$F should not contain \$OpenBSD\$ tag"
> ;;
>
> @@ -1755,7 +1757,7 @@ check_long_lines() {
> }
>
> # Checks made:
> -# * There is an OpenBSD RCS tag at the top.
> +# * Contains no OpenBSD RCS tag.
> # * No items with ${FULLPKGNAME} are allowed, except readme.
> # * No empty lines.
> check_plist_file() {
> @@ -1763,9 +1765,8 @@ check_plist_file() {
>
> [[ -f $1 ]] ||
> err "$1 is not a file"
> - head -n 1 -- "$1" |
> - egrep -q '^@comment \$OpenBSD.*\$$' ||
> - err "$1 does not have \$OpenBSD\$ RCS tag at the top"
> + grep -q '\$OpenBSD.*\$' "$1" &&
> + err "$1 should not contain \$OpenBSD\$ tag"
>
> # Do not match just '${FULLPKGNAME}' because many ports use the
> # following trick:
> @@ -1793,7 +1794,7 @@ check_subst_vars() {
> }
>
> # Checks made:
> -# * Contains OpenBSD RCS tag at the top line.
> +# * Contains no OpenBSD RCS tag.
> # * No REVISION marks present in given file (unless in update mode).
> # * Each REVISION mark presents only once.
> # * BUILD_DEPENDS, MODULES and PERMIT_DISTFILES are not defined in
> @@ -1811,9 +1812,8 @@ check_makefile() {
> check_trailing_whitespace "$F"
> check_long_lines "$F"
> check_hardcoded "$F"
> - head -n 1 -- "$F" |
> - egrep -q '^#[[:space:]]*\$OpenBSD.*\$' ||
> - err "$F does not have \$OpenBSD\$ RCS tag at the top"
> + grep -q '\$OpenBSD.*\$' "$F" &&
> + err "$F should not contain \$OpenBSD\$ tag"
>
> local iflevel=0 l lnum=0 revs= t r mkvars= var duprevfound
> # do not unset mkvars, having empty element(-s) is fine
> --
> Christian "naddy" Weisgerber [email protected]
>