The variable CHECK_PERMS_AUTOFIX has been existing since 2006 but is not
used in any package. This may be because it is not helpful in any way.
When a package sets this variables to yes, the permission errors are not
silently fixed, but the build still fails instead. This behavior is not
useful in any way and thus needs to be fixed.
See https://mail-index.netbsd.org/tech-pkg/2019/08/thread1.html#021828
Before, the filename "3270" was wrongly replaced with "${PYVERSSUFFIX}"
since the version number "3.7", when interpreted as a regular expression,
matched that filename.
Before, the tool arguments were written to the log as plain strings. Now
the arguments are properly quoted, which makes it possible to replay the
commands by copying them from the .work.log file.
This only affects tools that are shell builtins (echo, true, false), get
additional arguments (mkdir -p) or define a custom TOOLS_SCRIPT
(pkg-config, to set an environment variable; or autotools). Tools that
are symlinked to the real tool are not affected.
The calls to the compiler are already properly logged since cwrappers
takes care of that. This commit therefore makes the log entries for the
compilers and the other tools more similar.
When a package or the infrastructure defined a tool with custom
TOOLS_ARGS or TOOLS_SCRIPT containing special characters, these could
lead to unintuitive interactions at the time when that tool invocation
was logged in the tool wrapper log. Some of the logging output ended up
on stdout, while some of the normal output ended up in the log, and parts
of the quoted arguments were even evaluated as shell commands.
The logging of the wrapped tool commands is not perfect yet, but at least
it's much more predictable now.
Sure, it's an edge case and has not been necessary until now.
Nevertheless it's good to see how this can be done.
Variables having dots in their names are also not handled completely
correct. This also didn't occur in practice since the variable names
passed to SUBST_VARS are usually A-Za-z0-9_ only.
The test has been changed again to fail since making the test pass would
mean this bug could later silently show up inside a large GNU configure
script where it would be impossible to find. Therefore, when using pkgsrc
on NetBSD 7, it is better to switch to another shell for doing pkgsrc
work.
The comment has been updated to be more accurate.
In Makefiles, the variable values are aligned vertically. This format is
now also used in the show-all target, which makes it easier readable.
Some more variables have been marked as multi-value, and single-valued
variables ending in space are clearly marked. Without the latter, the
regression test would have a line with significant trailing whitespace.
The *_ENV and *_ARG values are typically very long, and reading them in
a single line is unnecessarily difficult. Therefore, each of their
values is listed on a separate line, for example:
fetch:
usr DIST_PATH (undefined)
pkg MASTER_SITES = \
http://ftp.gnome.org/pub/GNOME/sources/glib/2.56/ \
ftp://ftp.gnome.org/pub/GNOME/sources/glib/2.56/ \
ftp://ftp.cse.buffalo.edu/pub/Gnome/sources/glib/2.56/ \
https://download.gnome.org/sources/glib/2.56/ \
# end of MASTER_SITES
pkg DIST_SUBDIR (undefined)
Do it for all packages that
* mention perl, or
* have a directory name starting with p5-*, or
* depend on a package starting with p5-
like last time, for 5.18, where this didn't lead to complaints.
Let me know if you have any this time.
Stop lying and drop maintainership of these packages. I have not
maintained them for a very long time already, so leave room for
fresh blood to take over them.