#
91d7edd5 |
| 27-Jun-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Generalise libcompat to be a list rather than a single option
Whilst the kernel can support any number of COMPAT_FOO, world can only build a single libfoo. Upstream this isn't such an issue, since t
Generalise libcompat to be a list rather than a single option
Whilst the kernel can support any number of COMPAT_FOO, world can only build a single libfoo. Upstream this isn't such an issue, since the only option is lib32 anyway, but downstreams, such as CheriBSD, may wish to support multiple at the same time. Thus, adjust the top-level Makefiles to turn _LIBCOMPAT into a _LIBCOMPATS list that gets iterated over, and adjust bsd.compat.mk to support this use-case.
For the normal NEED_COMPAT/WANT_COMPAT case, LIBCOMPATFOO remain set and refer to the requested compat's, preserving the current interface. For the top-level Makefiles those variables are no longer set (since there is no longer "the" compat) and only the per-compat ones are available.
Reviewed by: brooks, jhb, imp Differential Revision: https://reviews.freebsd.org/D40571
show more ...
|
#
bd9049ee |
| 21-Jun-2023 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Fix prebuild race between libpam and libtacplus.
Fixes: 21850106fdda MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans, emaste Differential Revision: https://reviews.freebsd.org/D40702
|
#
2e0d99a9 |
| 08-Jun-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Fix distributeworld mtree mangling for dist root dir
The trailing slash means that ./base itself doesn't get mangled and remains as-is in the output, leading to a stray /base in base.
Makefile.inc1: Fix distributeworld mtree mangling for dist root dir
The trailing slash means that ./base itself doesn't get mangled and remains as-is in the output, leading to a stray /base in base.txz for NO_ROOT builds and thus in the installed system. Since this action is running on a line whose file matches one listed by find (and we're printing all of these as part of that distribution), we don't need to care about the possibility of a path like ./basefoo/bar where the path prefix isn't ./base, and can thus just drop the slash rather than needing something more complicated like "slash or whitespace or EOL" as one might first think.
show more ...
|
#
469727c9 |
| 08-Jun-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Use INSTALL_DDIR for distributeworld's distrib-dirs
INSTALL_DDIR is the canonicalised version of DESTDIR/DISTDIR. Whilst most of what distrib-dirs does doesn't need the canonicalised
Makefile.inc1: Use INSTALL_DDIR for distributeworld's distrib-dirs
INSTALL_DDIR is the canonicalised version of DESTDIR/DISTDIR. Whilst most of what distrib-dirs does doesn't need the canonicalised form, it is responsible for installing the POSIX and en_US.US_ASCII NLS symlinks to C, and therefore needs the canonicalised version for those two uses of install for NO_ROOT builds, since our install does a naive text-based prefix strip when creating the METALOG entry rather than a smarter path semantics-aware one (which itself is really a bug, and has bitten us many times). As a result, using plain DESTDIR/DISTDIR instead can result in the METALOG having ./path/to/destdir/base/usr/share/nls/$LOCALE rather than ./base/usr/share/nls/$LOCALE and then being filtered out when creating base.meta (or, if you're unlucky and the absolute path begins with base or tests, weird things will probably happen).
Given this footgun an audit of DESTDIR uses is probably in order, especially those using DESTDIR/DISTDIR, but this is sufficient for now.
show more ...
|
Revision tags: vendor/openssl/1.1.1q, vendor/file/5.42, vendor/llvm-project/llvmorg-15-init-15358-g53dc0f107877, vendor/openssl/1.1.1p, vendor/bc/5.3.3, vendor/bc/5.3.2, vendor/llvm-project/llvmorg-14.0.5-0-gc12386ae247c, vendor/bc/5.3.1, vendor/bc/5.3.0, vendor/unbound/1.16.0, vendor/llvm-project/llvmorg-14.0.4-0-g29f1039a7285, vendor/sqlite3/sqlite-3380500, release/13.1.0, upstream/13.1.0, vendor/bc/5.2.5, vendor/openssl/1.1.1o, vendor/llvm-project/llvmorg-14.0.2-0-g0e27d08cdeb3, vendor/llvm-project/llvmorg-14.0.3-0-g1f9140064dfb, vendor/NetBSD/bmake/20220418, vendor/bearssl/20220418, vendor/bc/5.2.4, vendor/NetBSD/libedit/2022-04-11 |
|
#
f7057652 |
| 10-Apr-2022 |
Ed Maste <emaste@FreeBSD.org> |
Makefile.inc1: use make builtin :ts instead of sed
Commit 3eb1b4da3cf7 replaced "xargs -n1" with a sed expression to convert from space to newline as a list separator for *-old-* targets. Dan Nelson
Makefile.inc1: use make builtin :ts instead of sed
Commit 3eb1b4da3cf7 replaced "xargs -n1" with a sed expression to convert from space to newline as a list separator for *-old-* targets. Dan Nelson followed up with a suggestion to use make's built-in :ts instead, which should be slightly more efficient.
Reviewed by: sjg Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39972
show more ...
|
#
a1bf1a1a |
| 23-Apr-2023 |
Simon J. Gerraty <sjg@FreeBSD.org> |
showconfig - ignore options that do not start with A-Z
When building on various hosts it can be handy to create pseudo options like MK_host_egacy - building on a host that needs libegacy.
Such opti
showconfig - ignore options that do not start with A-Z
When building on various hosts it can be handy to create pseudo options like MK_host_egacy - building on a host that needs libegacy.
Such options should be ignored by showconfig
Reviewed by: emaste
show more ...
|
#
10172ce3 |
| 12-Apr-2023 |
John Baldwin <jhb@FreeBSD.org> |
Stop stripping 'sf' suffixes from architecture names.
riscv64sf was the only architecture with an 'sf' suffix.
Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D39497
|
#
1ca12bd9 |
| 12-Apr-2023 |
John Baldwin <jhb@FreeBSD.org> |
Remove the riscv64sf architecture.
Reviewed by: jrtc27, arichardson, br, kp, imp, emaste Differential Revision: https://reviews.freebsd.org/D39496
|
#
7d8e1e8d |
| 29-Mar-2023 |
John Baldwin <jhb@FreeBSD.org> |
libcasper: Move helper libraries from /lib/casper to /lib.
These libraries are linked to directly by applications rather than opened at runtime via dlopen().
Discussed with: oshogbo Reviewed by: ma
libcasper: Move helper libraries from /lib/casper to /lib.
These libraries are linked to directly by applications rather than opened at runtime via dlopen().
Discussed with: oshogbo Reviewed by: markj, emaste Differential Revision: https://reviews.freebsd.org/D39245
show more ...
|
#
9e914c7a |
| 15-Mar-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Add new DISK_IMAGE_TOOLS_BOOTSTRAP option
This will build etdump, makefs and mkimg as bootstrap tools to allow easily creating disk images. Note that etdump is bootstrapped due to its use in the rel
Add new DISK_IMAGE_TOOLS_BOOTSTRAP option
This will build etdump, makefs and mkimg as bootstrap tools to allow easily creating disk images. Note that etdump is bootstrapped due to its use in the release scripts for building ISO images.
Reviewed by: emaste, arichardson Differential Revision: https://reviews.freebsd.org/D39072
show more ...
|
#
d7a491dd |
| 06-Mar-2023 |
Ed Maste <emaste@FreeBSD.org> |
make showconfig: set MACHINE and MACHINE_ARCH
Previously these were not set for the showconfig target, so took the host's value rather than the target. As a result some machine-dependent kernel opt
make showconfig: set MACHINE and MACHINE_ARCH
Previously these were not set for the showconfig target, so took the host's value rather than the target. As a result some machine-dependent kernel options were not reported with correct defaults in the src.conf manpage.
PR: 269994 Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38926
show more ...
|
#
dda4d972 |
| 03-Mar-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Support building with macOS Ventura's AMFI Launch Constraints
As of macOS Ventura, Apple-signed binaries cannot be run if copied away from their system location. This security feature
Makefile.inc1: Support building with macOS Ventura's AMFI Launch Constraints
As of macOS Ventura, Apple-signed binaries cannot be run if copied away from their system location. This security feature doesn't really make sense for boring things like sh(1), more so for applications with special entitlements, but it's universally present, and results in the following error:
>>> Install check world bmake[2]: "/Users/Jess/cheri/freebsd/Makefile.inc1" line 572: warning: "MAKEFLAGS= CPUTYPE=dummy /Users/Jess/cheri/build/freebsd-riscv64-build/bmake-install/bin/bmake -f /dev/null -m /Users/Jess/cheri/freebsd/share/mk MK_AUTO_OBJ=no -V CPUTYPE" exited on a signal bmake[2]: "/Users/Jess/cheri/freebsd/Makefile.inc1" line 575: CPUTYPE global should be set with ?=.
As with host-symlinks, we don't actually need to copy the files on macOS, since we're not updating the current machine, so copy its approach and just symlink them instead.
MFC after: 1 week
show more ...
|
#
3dfd18a7 |
| 13-Feb-2023 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for the base/* toolchain ports.
These ports have been removed so these knobs are no longer meaningful.
This reverts commit 608289394f655d0635c71233248b734010fb4d2f. This reverts comm
Remove support for the base/* toolchain ports.
These ports have been removed so these knobs are no longer meaningful.
This reverts commit 608289394f655d0635c71233248b734010fb4d2f. This reverts commit 39eb07f172921a581ee9b33ca2765905f4235202.
Reviewed by: imp, bapt, emaste Differential Revision: https://reviews.freebsd.org/D38562
show more ...
|
#
b4f7a31f |
| 09-Feb-2023 |
Kyle Evans <kevans@FreeBSD.org> |
buildworld: drop config(8) dependencies from bootstrap
We may still need them for other parts, so just remove the dependency relationship for now and simplify config's place in bootstrap-tools.
Rev
buildworld: drop config(8) dependencies from bootstrap
We may still need them for other parts, so just remove the dependency relationship for now and simplify config's place in bootstrap-tools.
Reviewed by: imp Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D38277
show more ...
|
#
0dfaefa9 |
| 08-Feb-2023 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
depend-cleanup.sh: Simplify the logic, and clean bootstrap tools.
* There's no need to check if the file exists before grepping it; if it does not exist, grep will fail, which is what we want. Just
depend-cleanup.sh: Simplify the logic, and clean bootstrap tools.
* There's no need to check if the file exists before grepping it; if it does not exist, grep will fail, which is what we want. Just redirect the error message to /dev/null. * There's no need to split the .o and .pico cases; the bodies are identical, so combine the conditions. Use a glob to avoid a false negative if one exists but not the other. * Also run depend-cleanup.sh on the bootstrap build tree. This unbreaks the build after 29c5f8bf9a01.
Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D38447
show more ...
|
Revision tags: vendor/openssh/9.0p1, vendor/NetBSD/bmake/20220330, vendor/acpica/20220331, vendor/zlib/1.2.12, vendor/llvm-project/llvmorg-14.0.0-2-g3f43d803382d, vendor/heimdal/7.7.0, vendor/expat/2.4.7, vendor/llvm-project/llvmorg-14.0.0-rc4-2-gadd3ab7f4c8a, vendor/tzdata/tzdata2022a, vendor/openssl/1.1.1n, vendor/bsddialog/0.2 |
|
#
a1e3fb8f |
| 11-Mar-2022 |
Eugene M. Kim <astralblue@gmail.com> |
Fix _REVISION to be always major.minor
Introduced in commit 613fe53, _REVISION was redefined to be just the major version (14) instead of major.minor (14.0) iff:
- PKG_VERSION was not overridden
Fix _REVISION to be always major.minor
Introduced in commit 613fe53, _REVISION was redefined to be just the major version (14) instead of major.minor (14.0) iff:
- PKG_VERSION was not overridden (default), and - Branch was -CURRENT, -STABLE, or -PRERELEASE.
This introduced side effects in other parts of the code which expected _REVISION to be major.minor:
- make-pkg-package.sh target triple became amd64-portbld-freebsd14 (should be amd64-portbld-freebsd14.0); - Versioned cross dev symlink name became amd64-freebsd14-<tool> (should be amd64-freebsd14.0-<tool>)
Also, compounded with commit ea9a92d (which was introduced afterward and removed minor version from _REVISION incorrectly using :S with a regex) this also caused pkgbase repo to use a wrong PKG_ABI with a minor version (FreeBSD:14.0:amd64) when a custom PKG_VERSION was specified. (Note, without a custom PKG_VERSION the bug was not triggered because in that case _REVISION was already major-only.)
This commit fixes both problems by introducing and using MAJOR_REVISION instead of redefining _REVISION. Existing uses of _REVISION now see major.minor again, except PKG_ABI (ex: FreeBSD:14:amd64, as described above) and PKG_VERSION (ex: 14.snap20220311121531) need only the major version and now use MAJOR_REVISION instead.
PR: 262600, 262601 Reviewed by: imp, emaste Pull Request: https://github.com/freebsd/freebsd-src/pull/592
show more ...
|
#
d4fdfd3f |
| 29-Jan-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Restore adding tzsetup to _basic_bootstrap_tools
ITOOLS is only the list of programs to make a copy of during install, it doesn't cause anything to be bootstrapped. Thus, by removing
Makefile.inc1: Restore adding tzsetup to _basic_bootstrap_tools
ITOOLS is only the list of programs to make a copy of during install, it doesn't cause anything to be bootstrapped. Thus, by removing tzsetup from _basic_bootstrap_tools, we end up without it on non-FreeBSD, and so we error out trying to copy it to INSTALLTMP.
Note that _basic_bootstrap_tools is only used for BOOTSTRAP_ALL_TOOLS (which is why zic was moved away from it). Should tzsetup evolve such that the host version is insufficient on older FreeBSD it can be moved to be more like zic, but that seems unnecessary for what is likely to remain a simple tool.
This partially reverts commit 7a4a520064cb7fbff79560113682d6fe1a1ae9ee.
Fixes: 7a4a520064cb ("Fix cross-build from STABLE or older CURRENT.")
show more ...
|
#
4ebd18cf |
| 29-Jan-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Print the right PATH for missing install tool error
We override PATH for which but then go and print the non-overridden PATH, which leads to rather confusing messages.
Fixes: 5bb9250
Makefile.inc1: Print the right PATH for missing install tool error
We override PATH for which but then go and print the non-overridden PATH, which leads to rather confusing messages.
Fixes: 5bb9250e0af4 ("Add necessary Makefile.inc1 infrastructure for building on non-FreeBSD")
show more ...
|
#
95016839 |
| 27-Jan-2023 |
John Baldwin <jhb@FreeBSD.org> |
Revert "Don't omit bsd.compiler.mk for the nested delete-old in buildworld."
The original motivation (src.opts.mk needing bsd.comppiler.mk to determine if CXX is supported) is no longer relevant now
Revert "Don't omit bsd.compiler.mk for the nested delete-old in buildworld."
The original motivation (src.opts.mk needing bsd.comppiler.mk to determine if CXX is supported) is no longer relevant now that CXX is non-optional.
This reverts commit b9cb80883bce6dc992cf05ae2e59089a60d311ec.
show more ...
|
#
ac4c695a |
| 16-Nov-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire WITHOUT_CXX option
Several important base system components are written in C++, and the WITHOUT_CXX option produced a system that was not fully functional. Just accept this, and remove the op
Retire WITHOUT_CXX option
Several important base system components are written in C++, and the WITHOUT_CXX option produced a system that was not fully functional. Just accept this, and remove the option to build without C++ support.
This reverts commit adc3c128c6603054586a993d117e5dd808deac17.
Reviewed by: brooks, kevans, jhb (earlier) Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33108
show more ...
|
#
7a4a5200 |
| 25-Jan-2023 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Fix cross-build from STABLE or older CURRENT.
Previously, zic and tzsetup were both listed as install tools and basic bootstrap tools. Actually, tzsetup is an install tool while zic is a non-basic
Fix cross-build from STABLE or older CURRENT.
Previously, zic and tzsetup were both listed as install tools and basic bootstrap tools. Actually, tzsetup is an install tool while zic is a non-basic bootstrap tool.
Fixes: 783c318fd118 Sponsored by: Klara, Inc. Reviewed by: jrtc27, emaste Differential Revision: https://reviews.freebsd.org/D38195
show more ...
|
#
34ac629b |
| 20-Jan-2023 |
Alex Richardson <arichardson@FreeBSD.org> |
Shell-escape assignments to PATH in the top-level makefiles
Since 16fbf0191243e7c9dff6615b1424b5d39186b36c PATH is no longer set to a hardcoded value on non-FreeBSD build hosts, so we can end up wit
Shell-escape assignments to PATH in the top-level makefiles
Since 16fbf0191243e7c9dff6615b1424b5d39186b36c PATH is no longer set to a hardcoded value on non-FreeBSD build hosts, so we can end up with spaces in $PATH. Instead of only escaping PATH I updated all `env PATH=` uses in the toplevel makefile. While many of these currently can't contain any special characters (since the build would have failed already), in theory this gets us closer to allowing build/source directory to contain e.g. spaces.
show more ...
|
#
20a66ab4 |
| 29-Sep-2022 |
Ed Maste <emaste@FreeBSD.org> |
Retire CLANG_IS_CC option
A small reduction in build infrastructure complexity; when we had both Clang and GCC in the tree it was useful to have both built, and choose one or the other to install as
Retire CLANG_IS_CC option
A small reduction in build infrastructure complexity; when we had both Clang and GCC in the tree it was useful to have both built, and choose one or the other to install as /usr/bin/cc. Now only Clang is in the tree, and there is no point in building and installing base Clang but not providing it as cc (and c++, cpp).
Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37075
show more ...
|
#
b9cb8088 |
| 19-Nov-2022 |
John Baldwin <jhb@FreeBSD.org> |
Don't omit bsd.compiler.mk for the nested delete-old in buildworld.
src.opts.mk will need bsd.compiler.mk to determine if CXX is supported. Without this, src.opts.mk always marks CXX as broken and
Don't omit bsd.compiler.mk for the nested delete-old in buildworld.
src.opts.mk will need bsd.compiler.mk to determine if CXX is supported. Without this, src.opts.mk always marks CXX as broken and attempts to delete all dependencies of MK_CXX from WORLDTMP.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D36890
show more ...
|
#
470fb726 |
| 24-Oct-2022 |
Ed Maste <emaste@FreeBSD.org> |
build: Use `rm -fv` for BATCH_DELETE_OLD_FILES
It's possible to have files with odd permissions in the tmproot (or sysroot), causing rm to prompt for each one during e.g. buildworld. Add -f to forci
build: Use `rm -fv` for BATCH_DELETE_OLD_FILES
It's possible to have files with odd permissions in the tmproot (or sysroot), causing rm to prompt for each one during e.g. buildworld. Add -f to forcibly delete these.
Reviewed by: brooks MFC after: 1 month Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37111
show more ...
|