Re: man-pages-6.11 released

brian.inglis-STZedVC82Zm4kSqn+l8+D7Dks+cytr/[email protected] Sun, 16 Feb 2025 08:17:33 -0700
Newsgroups gmane.linux.man,gmane.comp.gnu.make.general
Organization Systematic Software
Message-ID <[email protected]>
On 2025-02-16 07:02, Alejandro Colomar wrote:
> [CC += Paul, Sam, help-make@]
> 
> Hi Brian, Paul, Sam,
> 
> On Sun, Feb 16, 2025 at 02:48:54PM +0100, Alejandro Colomar wrote:
>> Bisecting the bug shows it's fault of this commit:
>>
>> 0d69e51cd4b8 (2025-02-10; "share/mk/: Use ?= assignments for user-facing variables")
>>
>> I suspect there's some variable that we use that exists in a normal
>> environment?  I'll check.
> 
> Hmmm, at first glance, I don't see anything from the environment that
> would make this behave differently:
> 
> 	$ (
> 		git show 0d69e51cd4b8 \
> 		| grep '^+' \
> 		| grep -v '^++' \
> 		| sed 's/\s*?=.*//' \
> 		| grep -v '$.' \
> 		| tr -d '+';
> 
> 		env \
> 		| sed 's/=.*//';
> 	) \
> 	| sort \
> 	| uniq -d \
> 	| wc -l;
> 	0
> 
> The command above says there are no clashes with my environment.
> 
> My second guess is that ?= since has the = behavior, which is different
> from :=, that might be the problem.  We'd need a hypothetical ?:=,
> maybe?
> 
> Sam, that means that I'll have to revert this change with no short-term
> replacement.  We'll have to live without environment variables for some
> more time.  ?= doesn't work for well here, it seems.
> 
> I remember GNU make(1) was working on some of that.  Paul, how is it
> going with the idea you suggested some time ago of adding "trigraphs" to
> GNU make(1)?

Cygwin like Gentoo uses a shell script based build and packaging system (Cygport 
vs Ebuild) using env vars so the following variables may conflict:

CC=gcc
CFLAGS=-ggdb -O2 -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=3 
-fstack-protector-strong --param=ssp-buffer-size=4
PKG_CONFIG=pkg-config
VERSION=6.11

VERSION is the only package dependent variable that conflicts, but that should 
not be an issue unless you assume somewhere that it may not be a "clean" version.

Non-Make-Standard "local" variables could perhaps be prefixed or suffixed by _ - 
_VERSION VERSION_?

Trying to write packaging checks to ensure man pages installed either sourced 
another file .so, or had the version in the .TH line, found exceptions:

man7/bpf-helpers.7.gz - "Linux v6.?" - you may wish to change that?

man5/tzfile.5.gz man8/tzselect.8.gz man8/zdump.8.gz man8/zic.8.gz
- "Time Zone Database" - I can live with those four (or five?)

-- 
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher  but when there is no more to cut
                                 -- Antoine de Saint-Exupéry