As discussed with sthen and tb, having FULLPKGNAME in READMEs mean
you get a notice each time any pkgname is bumped.

The following change introduces PKGSTEM as a substitute for the README file.

This will also require editing all 340 READMEs and bumping corresponding 
packages, as the README file name changes (but all contain FULLPKGNAME anyway)
but that way, we remove gratuitous READMEs changes.

Objections ?

Index: lib/OpenBSD/ReverseSubst.pm
===================================================================
RCS file: /cvs/ports/infrastructure/lib/OpenBSD/ReverseSubst.pm,v
retrieving revision 1.17
diff -u -p -r1.17 ReverseSubst.pm
--- lib/OpenBSD/ReverseSubst.pm 27 May 2018 11:56:27 -0000      1.17
+++ lib/OpenBSD/ReverseSubst.pm 8 Aug 2018 09:11:49 -0000
@@ -285,6 +285,9 @@ sub special_case
        if ($k eq 'FULLPKGNAME' && $string =~ m,^share/doc/pkg-readmes/,) {
                return 1;
        }
+       if ($k eq 'FULLPKGSTEM' && $string =~ m,^share/doc/pkg-readmes/,) {
+               return 1;
+       }
        if ($k eq 'MACHINE_ARCH' && $string =~ m/\Q$v\E-openbsd/) {
                return 1;
        }
Index: mk/bsd.port.mk
===================================================================
RCS file: /cvs/ports/infrastructure/mk/bsd.port.mk,v
retrieving revision 1.1436
diff -u -p -r1.1436 bsd.port.mk
--- mk/bsd.port.mk      6 Aug 2018 09:36:32 -0000       1.1436
+++ mk/bsd.port.mk      8 Aug 2018 09:11:50 -0000
@@ -122,7 +122,7 @@ _ALL_VARIABLES += HOMEPAGE DISTNAME \
 _ALL_VARIABLES_PER_ARCH += BROKEN
 # and stuff needing to be MULTI_PACKAGE'd
 _ALL_VARIABLES_INDEXED += COMMENT PKGNAME \
-       ONLY_FOR_ARCHS NOT_FOR_ARCHS PKGSPEC PREFIX \
+       ONLY_FOR_ARCHS NOT_FOR_ARCHS PKGSPEC PKGSTEM PREFIX \
        PERMIT_PACKAGE_FTP PERMIT_PACKAGE_CDROM WANTLIB CATEGORIES DESCR \
        EPOCH REVISION STATIC_PLIST PKG_ARCH
 .endif
@@ -636,6 +636,8 @@ FULLPKGNAME := ${FULLPKGNAME}v${EPOCH}
 PKGSPEC ?= ${FULLPKGNAME:C/-[0-9].*/-*/}
 PKGSPEC- = ${PKGSPEC}
 FULLPKGNAME- = ${FULLPKGNAME}
+PKGSTEM = ${FULLPKGNAME:C/-[0-9].*//}
+PKGSTEM- = ${PKGSTEM}
 .else
 .  for _s in ${MULTI_PACKAGES}
 .    if defined(FULLPKGNAME${_s})
@@ -666,6 +668,7 @@ FULLPKGNAME${_s} := ${FULLPKGNAME${_s}}v
 .      endif
 .    endif
 PKGSPEC${_s} ?= ${FULLPKGNAME${_s}:C/-[0-9].*/-*/}
+PKGSTEM${_s} = ${FULLPKGNAME${_s}:C/-[0-9].*//}
 .  endfor
 .endif
 
@@ -998,7 +1003,7 @@ _lt_libs += lib${_n:S/+/_/g:S/-/_/g:S/./
 # Create the generic variable substitution list
 SUBST_VARS += ARCH BASE_PKGPATH FLAVOR_EXT FULLPKGNAME HOMEPAGE \
        LOCALBASE LOCALSTATEDIR MACHINE_ARCH MAINTAINER \
-       PREFIX RCDIR SYSCONFDIR TRUEPREFIX X11BASE
+       PREFIX RCDIR SYSCONFDIR TRUEPREFIX X11BASE PKGSTEM
 
 _PKG_ADD_AUTO ?=
 .if !empty(_DEPENDENCY_STACK)
@@ -1863,7 +1868,7 @@ _update_plist = ${_cache_fragment}; \
        ${_UPDATE_PLIST_SETUP} ${_PERLSCRIPT}/update-plist \
        -w ${PATCHORIG} -w ${DISTORIG} -w .beforesubst \
        -i ARCH -i BASE_PKGPATH -i FULLPKGNAME -i FULLPKGPATH \
-       -i LOCALSTATEDIR -i MACHINE_ARCH \
+       -i LOCALSTATEDIR -i MACHINE_ARCH -i PKGSTEM \
        -s BASE_PKGPATH -s LOCALBASE -s LOCALSTATEDIR -s PREFIX \
        -s RCDIR -s SYSCONFDIR -s X11BASE \
        -X ${_FAKE_COOKIE} -X ${_INSTALL_PRE_COOKIE} -X ${WRKINST}/.saved_libs
@@ -2817,14 +2840,14 @@ ${_FAKE_COOKIE}: ${_BUILD_COOKIE}
 # cookies
 _internal-generate-readmes: ${_FAKE_COOKIE}
 .if ${MULTI_PACKAGES} == "-"
-       @r=${WRKINST}${_README_DIR}/${FULLPKGNAME}; \
+       @r=${WRKINST}${_README_DIR}/${PKGSTEM}; \
        if test -e ${PKGDIR}/README; then \
                echo "Installing ${PKGDIR}/README as $$r"; \
                ${_PBUILD} ${SUBST_CMD} -m ${SHAREMODE} -c ${PKGDIR}/README 
$$r; \
        fi
 .else
 .  for _s in ${MULTI_PACKAGES}
-       @r=${WRKINST}${_README_DIR}/${FULLPKGNAME${_s}}; \
+       @r=${WRKINST}${_README_DIR}/${PKGSTEM${_s}}; \
        if test -e ${PKGDIR}/README${_s}; then \
                echo "Installing ${PKGDIR}/README${_s} as $$r"; \
                ${_PBUILD} ${SUBST_CMD${_s}} -m ${SHAREMODE} -c 
${PKGDIR}/README${_s} $$r; \

Reply via email to