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.
Previously there were at least 5 different ways MACHINE_ARCH could be set,
some statically and some at run time, and in many cases these settings
differed, leading to issues at pkg_add time where there was conflict
between the setting encoded into the package and that used by pkg_install.
Instead, move to a single source of truth where the correct value based on
the host and the chosen (or default) ABI is determined in the bootstrap
script. The value can still be overridden in mk.conf if necessary, e.g.
for cross-compiling.
ABI is now set by default and if unset a default is calculated based on
MACHINE_ARCH. This fixes some OS, e.g. Linux, where the wrong default was
previously chosen.
As a result of the refactoring there is no need for LOWER_ARCH, with
references to it replaced by MACHINE_ARCH. SPARC_TARGET_ARCH is also
removed.