Fixes issue seen bootstrapping on Solaris 9 when bash is available and being
used for SH, bmake was still defaulting to /usr/xpg4/bin/sh which dumps core
with some of the mk/check infrastructure.
Note this is only for the bmake used during the initial bootstrap, the final
bmake package will still use the defshell logic in its Makefile.
Move sanitfy check for absolute path of $prefix at a place where we are
sure it has been defined to avoid that a bootstrap can be built in a path
containing symbolic link when --prefix is not specified and default $prefix
is set.
This runs the echo command with fewer arguments (1 in most cases).
The observable behavior is still the same, except for directory names
containing spaces, which are not supported anyway.
Without this check, bootstrap will fail later when it builds
bootstrap-mk-files in the usual pkgsrc way. There is an additional check
in bsd.pkg.mk which then fails. Therefore, better fail fast to save some
time.
The working directory is only needed for bootstrapping pkgsrc, therefore
there aren't too many packages that can fail.
Loosening this check is needed for macOS, where /etc, /tmp and /var are
symlinks to /private, and using /tmp as the workdir for bootstrapping is
a sane choice.
libarchive 3.3.3:
Avoid super-linear slowdown on malformed mtree files
Many fixes for building with Visual Studio
NO_OVERWRITE doesn't change existing directory attributes
New support for Zstandard read and write filters
Running bootstrap with short options (like -q for --quiet) is not
implemented. Therefore, instead of silently ignoring such options, fail
with an appropriate error message.
If not, set _OPSYS_SUPPORTS_SSP=no during bootstrap and in mk.conf.
Do SSP detection on "SunOS", and let mk/platform/SunOS.mk's default
"yes" be overridden in mk.conf.
No change to generated mk.conf on NetBSD 8 or CentOS 6. Fixes bootstrap
on Tribblix.
* Put indentation right to follow the existing style
* Correct wrong justification for need of pax on Arch: pax (and not PaX) is
only provided throw https://aur.archlinux.org/packages/pax/ and get low
support (currently broken)
This avoids errors when running from a read-only pkgsrc checkout as the
resulting packages cannot be written to the default PACKAGES directory. The
binary packages aren't useful anyway, as they are often built with reduced
configuration options due to the limited bootstrap environment.
Fixes issue reported by Julien Savard and others.
Both sed and awk in the Chrome OS base are permanently put into sandbox
mode, which makes them unsuitable for pkgsrc use. We were already building
nbawk; also add nbsed.
Since Chrome 64, /usr/bin/awk has been a version of mawk that is permanently
in restricted mode. Notably, this means it cannot run pipes, which pkgsrc
requires. Use nawk.
When bootstrap is run with --cwrappers=no (or yes, for that matter),
the value is written into mk.conf at the end of the bootstrap but not
used _during_ the bootstrap itself. Thus, when bootstrapping on Linux
with no builtin diffutils, cwrappers ends up indirectly depending on
itself, and there is no way around that. This commit fixes this.
Since cwrappers was enabled by default on some platforms, it became
effectively impossible to bootstrap without cwrappers there.
With this change "--cwrappers" needs to be set to "auto", "yes" or "no"
explicitly when used.
No functional change intended without specifying "--cwrappers" (or with
"auto").
Submitted on tech-pkg@ with no objection.
indirectly via it being pulled in using USE_CWRAPPERS=auto, we need to
ensure that it is not built with -DPKG_PRESERVE as otherwise it interacts
badly with pbulk's pkg_delete test.