aboutsummaryrefslogtreecommitdiff
path: root/release
Commit message (Collapse)AuthorAgeFilesLines
* EC2: Don't enable firstboot_pkgs in small flavourColin Percival3 days1-1/+1
| | | | | | | | | | | | | | | | | | The EC2 "base" flavour installs the devel/py-awscli package at boot time by default; we don't do this in the "small" flavour, so the default behaviour was to update the FreeBSD-ports repository and then do nothing with it. Turn off firstboot_pkgs by default; if someone is using the "small" flavour of AMIs and wants to install packages at instance launch time, they simply need to add 'firstboot_pkgs_enable="YES"' to /etc/rc.conf (which they must already be editing via user-data, in order to provide the list of packages they want installed). Sponsored by: Amazon MFC after: 3 days MFC to: stable/15 Relnotes: EC2 "small" images now have firstboot_pkgs_enable="NO".
* Cloud releases: More firstboot_pkg_upgradeColin Percival5 days2-6/+10
| | | | | | | | Update a couple more cloudware images which I forgot about earlier. Reviewed by: ziaee Fixes: 464a351267dc ("Cloud releases: Switch to firstboot_pkg_upgrade") Differential Revision: https://reviews.freebsd.org/D57006
* Cloud releases: Switch to firstboot_pkg_upgradeAlexander Ziaee5 days3-7/+12
| | | | | | | | | | | Cloud images are deployed with base system packages. Introduce a firstboot package auto updater to patch the base system on first boot. MFC after: 1 hour MFC to: stable/15 Reviewed by: cperciva Sponsored by: Google Cloud Differential Revision: https://reviews.freebsd.org/D56890
* Makefile.vm: Split error conditionEd Maste13 days1-3/+4
| | | | | | | Make it clear which of two possible cases applies. Reviewed by: cperciva Differential Revision: https://reviews.freebsd.org/D56837
* packages: Make create-sets.sh more robust during releaseLexi Winter2026-05-051-4/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit d1c176fedfc9 made create-sets.sh exit when it encounters an error, instead of creating an empty repository. However, this turns out to cause some issues: 1. A package not having any sets is considered an error, but during the release build, we stuff a 'pkg' package into the repository which doesn't have any sets, which causes a failure. Avoid this by simply ignoring the pkg package. 2. No error was printed in this case, which made the problem hard to diagnose. Add an explicit error message. 3. A similar problem occurred running on a repository which already contained sets, which is not usually done during the build, but is not necessarly an inappropriate thing to do. Fix this one by ignoring set packages when looking for sets. While here, fix another issue that might cause packages to be wrongly skipped if the path to the repository contains a '-' character, since we didn't strip the path before testing the package name. PR: 294966 Fixes: d1c176fedfc9 ("packages: Make create-sets.sh more robust") MFC after: 2 weeks Reported by: Alastair Hogge <agh@riseup.net> Reviewed by: emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56792
* packages: Make create-sets.sh more robustLexi Winter2026-04-281-1/+4
| | | | | | | | | | | | | | | | Use ${PKG_CMD} rather than bare 'pkg' to fix the build when pkg is not in the tools path. Provide a default in case it's not set for some reason (e.g., running the script by hand). Since set -- $(...) does not trigger an exit from set -e if the command fails, this failure was silent and resulted in sets not being built correctly if we failed to run pkg. Use a temporary variable, which does trigger set -e, to fail correctly. MFC after: 2 weeks Reviewed by: sjg Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56676
* make-pkg-package: Add set -e; abort if a cmd failsEd Maste2026-04-271-0/+2
| | | | | | | | This makes it less likely we will silently generate broken artifacts. Reviewed by: ivy Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D56671
* pkg-stage: Improve symlink creationEd Maste2026-04-271-2/+2
| | | | | | | | | Invoke ln with -n and -f. In normal use it doesn't matter, but during development this might be run in a partially populated leftover tree. Reviewed by: ivy Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D52883
* Revert "packages: Register pkgconf"Pierre Pronchery2026-04-251-32/+0
| | | | | | | This reverts commit 970cef9f652ec4d902b20cba6d99dce48458d7b6. I made a mistake when rebasing 1342eb5a832fa10e689a29faab3acb6054e4778c; I did not mean to re-introduce this one.
* packages: Register pkgconfPierre Pronchery2026-04-251-0/+32
| | | | | | | | | This should fix the creation of the new packages introduced by the import of pkgconf into the base system. Fixes: b8352da33f34 ("pkgconf: import into the base system") Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D56589
* packages: Convert world to a subdir buildLexi Winter2026-04-24158-4973/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Instead of driving the world package build from Makefile.inc1, use a subdir build where each package has a subdirectory under packages/ using the new <bsd.pkg.mk>. Convert some metadata that was previously in the UCL files (e.g. sets and dependencies) to Makefile variables. Build the packages under objdir (not repodir), and use the new stagepackages target to copy them to repodir when creating the repository. Determine an explicit list of packages to build in packages/Makefile based on enabled src.conf options, and add logic to abort the build if we attempt to build an empty package. This inverts the previous logic in Makefile.inc1 which would simply skip empty packages. There are a few advantages to doing it this way: * The package build works more like the rest of the build system, so it's more accessible to developers. * We can customise the packages we build based on src.conf options, e.g. skipping a package entirely, or adjusting its dependencies based on what it actually requires. * We have a specific list of packages that we want to build, and an unexpectedly missing package results in a build error, instead of silently producing a broken repository. * It's possible to build (and in the future, install) an individual package without having to rebuild the entire repository. This doesn't apply to the dtb, kernel-* or src-* packages; those have their own build systems in Makefile.inc1 and will be converted later. MFC after: 4 weeks (stable/15 only) Reviewed by: jlduran, sjg, brooks Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56087
* packages: Register pkgconfPierre Pronchery2026-04-241-0/+38
| | | | | | | | | | | | This should fix the creation of the new packages introduced by the import of pkgconf into the base system. Fixes: b8352da33f34 ("pkgconf: import into the base system") PR: 294724 Reviewed by: ivy, ngie Approved by: ngie Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D56589
* Revert "EC2: Add clibs-lib32 pkg to small/builder images"Colin Percival2026-04-132-2/+0
| | | | | | This should no longer be necessary after 2018ae4e3b6a. This reverts commit cfe0b7d37e552d78762c029f5b15e0f36d9d0d38.
* pkgbase: remove incorrect clang shlib requiresIsaac Freund2026-04-131-0/+5
| | | | | | | | | | | | | | | | | | | | | | The FreeBSD-clang package contains a 32-bit shared object at /usr/lib/clang/19/lib/freebsd/libclang_rt.asan-i386.so This is expected, since clang uses this object when compiling for i386 targets with asan enabled. What is not expected is that the FreeBSD-clang package currently depends on 32-bit libc packages due to pkg's shared library analysis, making it impossible to install pkgbase on x86_64 without any lib32 packages. This commit leverages a new pkg feature implemented in [1], but could be landed before a pkg version including that feature is released without any ill effects. Unknown keys in package manifests are ignored. [1]: https://github.com/freebsd/pkg/pull/2594 Reviewed by: ivy Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54792
* release: remove Oracle Cloud Infrastructure build targetsDave Cottlehuber2026-04-139-435/+1
| | | | | | | | | | | | | | | Oracle's previous support is no longer available to the project. Repeated attempts to find a sponsor within Oracle's cloud business have not been successful. The last published official images are from 15.0-RELEASE. https://marketplace.oracle.com/app/freebsd-release Relnotes: yes Sponsored by: SkunkWerks, GmbH Differential Revision: https://reviews.freebsd.org/D56360 MFC after: 3 days
* packages: Always use the bootstrap fluaLexi Winter2026-04-072-2/+2
| | | | | | | | | | To avoid breaking the build due to incompatible changes in flua or lua libraries on the host, use the bootstrap flua for the package build. MFC after: 2 weeks Reviewed by: kevans, emaste Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56271
* packages: Fix build with libucl 0.9.3Lexi Winter2026-04-062-2/+2
| | | | | | | | | | | | | | In libucl 0.9.3, macros and includes are disabled by default when creating a new UCL parser. This breaks the package build, which relies on includes. Fix this by explicitly passing zero flags to ucl.parser(). MFC after: 3 days Fixes: abda442d92fd ("contrib/libucl: Import libucl 0.9.3") Reviewed by: kevans, bapt Reported by: freebsd@walstatt-de.de Sponsored by: https://www.patreon.com/bsdivy Differential Revision: https://reviews.freebsd.org/D56266
* release: Restore licenses for kyua and ncursesDag-Erling Smørgrav2026-04-022-33/+53
| | | | | | | | These were modified to avoid triggering a libucl bug which is now fixed. MFC after: 1 week Reviewed by: ivy, kevans Differential Revision: https://reviews.freebsd.org/D52824
* packages: Fix caroot deinstall commandLexi Winter2026-03-291-1/+1
| | | | | | | | | The correct syntax is 'post-deinstall', not 'post-uninstall'. MFC after: 3 days (stable/15 only) Reviewed by: jlduran, des Differential Revision: https://reviews.freebsd.org/D56109 Sponsored by: https://www.patreon.com/bsdivy
* packages: Add dependency from rc to mtreeLexi Winter2026-03-271-2/+5
| | | | | | | | | | /etc/rc.d/var_run uses mtree, which is in the devel set and isn't installed as part of either minimal or optional, so add a manual dependency. Reviewed by: des, bapt, emaste Differential Revision: https://reviews.freebsd.org/D54540 Sponsored by: https://www.patreon.com/bsdivy
* packages: Move xz to the minimal setLexi Winter2026-03-271-1/+1
| | | | | | | | | | | | | | | | | | | pkg(8), via its daily periodic script, requires xz. We don't have a way to encode dependencies from ports on base packages right now, so instead move xz to the minimal set so it's always installed. This isn't an ideal solution, but it's justified in this case since pkg(8) is always installed, so having its dependencies always installed is acceptable. (Following discusson on the diff, new versions of pkg have now been changed to use zstd instead of xz, but we still think xz is useful enough to keep in minimal.) MFC after: 1 week (stable/15 only) Reviewed by: des, bapt, emaste Differential Revision: https://reviews.freebsd.org/D55630 Sponsored by: https://www.patreon.com/bsdivy
* packages: Remove stale libsdp-all.uclLexi Winter2026-03-251-28/+0
| | | | | | | | | | This package no longer exists since it was merged into bluetooth. Fixes: 41ee4321cc52 ("libsdp: Move to bluetooth-lib package") MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D55822 Sponsored by: https://www.patreon.com/bsdivy
* packages: Remove stale ftpd-all.uclLexi Winter2026-03-251-4/+0
| | | | | | | | | | This file was missed when ftpd(8) was removed. Fixes: 614c8750ce11 ("Remove ftpd(8)") MFC after: 3 days Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D55820 Sponsored by: https://www.patreon.com/bsdivy
* release.sh: add chroot cleanup routineEnji Cooper2026-03-221-1/+21
| | | | | | | | | | | | | | | | | | | | | The chroot_cleanup routine handles any cleanup needed post-chroot_setup, etc. This consists of purely tearing down `${CHROOTDIR}/dev` today, but might involve additional steps, as needed for custom functions. This allows end-users to override the various chroot functions without having to modify code in main() or replicate the unmount procedure in an equivalent routine setup via the trap builtin. This change modifies the /dev unmount process to use `umount -f` instead of `umount`. The latter can result in failures if resources are still mounted or are running post-build, whereas the former will clean up any resources still in use by processes running in the chroot at time of build. Moreover, the `chroot_cleanup` routine is now called when the script is killed with `SIGINT` and `SIGTERM`, as well as at `EXIT`, better ensuring that the script's resources are cleaned up in relatively common scenarios that can be detected/handled. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55450 (as part of a larger change)
* release.sh: document user-overriddable functionsEnji Cooper2026-03-221-0/+9
| | | | | | | This helps others attempting to customize the behavior of `release.sh`. MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D55450 (as part of a larger change)
* EC2: Remove stale commentColin Percival2026-03-211-4/+0
| | | | | MFC after: 3 days Sponsored by: Amazon
* Revert "vmimage.subr: pkg autoremove after pkg install"Colin Percival2026-03-211-7/+0
| | | | | | | | | | | | This reverts commit 6a13aeac3c1f98db7cf156f24a4d6bc8d3c321f6. The "bogus dependencies being installed" issue was traced down to pkg confusion surrounding libclang_rt.asan-i386.so linking to a 32-bit libgcc_s.so.1, and a more minimal workaround of "install clibs-lib32" has been applied, so this hack is no longer required. MFC after: 3 days Sponsored by: Amazon
* EC2: Add clibs-lib32 pkg to small/builder imagesColin Percival2026-03-212-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The FreeBSD-clang package on amd64 contains libclang_rt.asan-i386.so, which links to the 32-bit version of libgcc_s.so.1. It is not clear if that file belongs in FreeBSD-clang or if it should be placed into a different package. For unknown reasons, pkg *sometimes* recognizes this and decides that it needs to install a package to supply libgcc_s.so.1:32. In particular, when we initially install the VM with 'pkg install [long list of FreeBSD-* packages]', pkg does not recognize that it wants this; but the *next* time 'pkg install' runs, it decides that it needs libgcc_s.so.1:32 -- even though that particular library is not needed by the particular package we're trying to install -- and goes looking for it... and ends up picking gcc12-devel as a provider. Later in the EC2 image building process, we run 'pkg autoremove' (which was added during 15.0 to get rid of the "bogus dependencies" which were added while installing other packages) and pkg is once again confused: It decides that gcc12-devel is an automatic port which is not required by anything else, but upon determining that it should be removed it then determines that FreeBSD-clang depends upon a port which is being removed and deletes FreeBSD-clang as well. It's not clear what is breaking in pkg, but as a temporary workaround add the FreeBSD-clibs-lib32 package to the "small" and "builder" EC2 image flavours in order to satisfy the libgcc_s.so.1 demand. This commit should be reverted if libclang_rt.asan-i386.so moves out of FreeBSD-clang, (i.e. if it becomes possible to install a 32-bit-free amd64 system) or when the pkg issue is resolved (i.e. pkg consistently recognizes the shared library dependency and installs clibs-lib32 automatically as a FreeBSD-clang dependency). MFC after: 3 days Sponsored by: Amazon Differential Revision: https://reviews.freebsd.org/D55978
* EC2: Fix comment re avoiding unicodeColin Percival2026-03-141-1/+2
| | | | | | | | We're avoiding *unicode*, not avoiding *ascii*. Reported by: marck Fixes: 277830b4d3ae ("EC2: Don't use unicode in boot loader") MFC after: 3 days
* EC2: Don't use unicode in boot loaderColin Percival2026-03-131-1/+3
| | | | | | | | | | | The boot loader menu is disabled by default in EC2, but if it is ever turned on, the default (unicode) output breaks EC2's web interface to the serial console. Set loader_menu_frame="ascii" instead. MFC after: 3 days Sponsored by: Amazon
* vmimage.subr: skip -dbg sets for WITHOUT_DEBUG_FILES/WITHOUT_KERNEL_SYMBOLSNavdeep Parhar2026-02-271-5/+5
| | | | | | | | | | This matches non-pkgbase behavior as installworld/installkernel skip the debug bits if these knobs are set. MFC after: 1 week Sponsored by: Chelsio Communications Reviewed by: cperciva Differential Revision: https://reviews.freebsd.org/D55572
* Retire GNU diff3Ed Maste2026-02-221-15/+0
| | | | | | | | | | | | We added the option to build BSD diff3 in commit 2201f7c49f11 ("Build BSD diff3 if GNU diff3 is disabled.") and made it the default in 4d5c434ed16e ("diff3: use bsd diff3 by default") after resolving deficiencies relative to GNU diff3. Thus, we can now remove the GNU diff3 build infrastructure and source. Reviewed by: bapt, ziaee Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D46878
* pkg-stage.sh: Add ext2 and ntfsColin Percival2026-02-221-0/+2
| | | | | | | | | Having these packages available on release media may help users who need to sneakernet other packages (e.g. firmware) from systems running Linux or Windows. Suggested by: vladlen, ziaee MFC after: 3 days
* release: Turn off debugging in pkg(8)Colin Percival2026-02-061-1/+1
| | | | | | | | | | Running `pkg -d` in pkg-stage.sh results in multiple GB of network traffic being written into the log files, which is less than helpful when it comes to tracking down build failures. Remove the -d flag. MFC after: 5 days X-MFC-note: The code in 15 has diverged from 14, but the flag is there, just in a different place.
* release: Pass optional VM_IMAGE_CONFIG to vm-imagePat Maddox2026-02-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | `make vm-image` calls mk-vmimage.sh, which supports `-c CONFFILE`. This file gets sourced before building the image. One example of how to use it is to define vm_extra_filter_base_packages() to filter the list of packages installed into the VM image: # vm-nodbg32.conf vm_extra_filter_base_packages() { grep -v -E '(-dbg|lib32)' } $ make VM_IMAGE_CONFIG=path/to/vm-nodbg32.conf \ VMFORMATS=raw \ -DWITH_VMIMAGES \ vm-image Signed-off-by: Pat Maddox <pat@patmaddox.com> Reviewed by: cperciva Closes: https://github.com/freebsd/freebsd-src/pull/1993
* pkgbase-stage.lua: Add '*-jail-dbg' variant to dvd1zxbv32026-02-011-2/+2
| | | | | | | | - Add *-jail-dbg variant to dvd1 to match the non-jail variant; - Remove assertion introduced in the previous commit for consistency with existing code. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1991
* pkgbase-stage.lua: Add *-jail metapackages to the offline repozxbv32026-02-011-0/+3
| | | | | | | Having *-jail metapackage variants on the installation media allows convenient offline jail creation. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1991
* release: Ship firmware from kmods repo on DVDColin Percival2026-01-302-7/+25
| | | | | | | | | | | | | | | | The packages for X.Y-RELEASE are a snapshot of the quarterly branch for stable/X, i.e. typically built on X.(Y-1)-RELEASE. (The case of Y=0 is an exception for obvious reasons.) This works for most ports but not for kernel modules, which may need to be built on the release in question; this is why we have a separate "kmods" repository. Make sure that we put the packages from the kmods repository onto the mini-pkg-repo on the DVD rather than shipping unusable firmware. Reviewed by: bz MFC after: 1 week Sponsored by: https://www.patreon.com/cperciva Differential Revision: https://reviews.freebsd.org/D52581
* release: Remove not-NO_ROOT casesEd Maste2026-01-296-149/+92
| | | | | | | | | | | | | | | We always use NO_ROOT for release artifact builds, so remove the alternate code paths. For the first step we set NO_ROOT unconditionally in cases that invoke submakes, and turn NO_ROOT being unset into an error in lover-level targets so that we can catch potential out-of-tree build scripts (or missed in-tree cases) that expect to run not-NO_ROOT builds. The second step will be to remove those entirely. Reviewed by: cperciva Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D54179
* loader: Prefer comma-separated list of values for "console"Michael Osipov2026-01-292-2/+2
| | | | | | | PR: 292595 Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D54923
* release/tools: use same pkg settings in containers as in /etc/pkg/FreeBSD.confDave Cottlehuber2026-01-271-5/+1
| | | | | | | | | | | | Instructions in /etc/pkg/FreeBSD.conf and elsewhere recommend putting changes in /usr/local/etc/pkg/repos/FreeBSD.conf so bring OCI containers into line as well. Reviewed by: dfr, ivy Differential Revision: https://reviews.freebsd.org/D54090 MFC after: 5 days Sponsored by: SkunkWerks, GmbH
* vmimage.subr: Install pkg on pkgbase imagesColin Percival2026-01-241-0/+3
| | | | | | | | When building VM and Cloud images with a packaged base system, install the pkg package; this makes it possible for the base system to be updated without installing pkg from the FreeBSD-ports repository. Sponsored by: Amazon
* EC2: Add extra SSM Parameter names for releasesColin Percival2026-01-111-1/+5
| | | | | | | | | | | | | | | Record releases in the SSM Parameter Store not just as e.g. /aws/service/freebsd/arm64/small/ufs/15.0/RELEASE but also as .../RELEASE/latest, e.g. /aws/service/freebsd/arm64/small/ufs/15.0/RELEASE/latest The latter parameters will be updated when new AMIs are built with security and errata updates appplied, and have been backfilled for 15.0. MFC after: 3 days MFC to: stable/15 (14.x will not get security-update AMIs) Sponsored by: Amazon
* powerpc: fix release image building for Apple partitionsAdrian Chadd2026-01-111-1/+1
| | | | | | | | | | | | | awk changed somewhere between 14 and 15 and it stopped accepting a hexadecimal number as its input - it will always return 0. This results in a very badly written apple boot block. So just remove it; do the math in shell. PR: kern/292341 Differential Revision: https://reviews.freebsd.org/D54639 Reviewed by: imp MFC after: 1 week
* release: remove powerpcspeMinsoo Choo2026-01-091-9/+0
| | | | | | Signed-off-by: Minsoo Choo <minsoochoo0122@proton.me> Reviewed by: jhibbits, emaste Pull request: https://github.com/freebsd/freebsd-src/pull/1914
* release: make sh the default shellBaptiste Daroussin2026-01-092-2/+2
| | | | | | | | | | The default shell for root has been changed to sh(1) followup changing in release images sh(1) the shell for the "freebsd" user. MFC After: 1 week Reviewed by: manu, emaste (re) Approved by: manu, emaste (re) Differential Revision: https://reviews.freebsd.org/D54602
* GCE: ARM64 Support: Add hw.pci.honor_msi_blacklist=0.William Carrel2026-01-081-0/+3
| | | | | | | | | | | | | This is required for MSI support on GCE ARM64 instances which is prerequisite to gve(4) not panicking at boot, and nvme(4) also has a real sad time without interrupts. Tested on a variety of c4a VMs. This is meant to be a temporary hack; long term fix would be to check for the hypervisor and quirk gve(4) device with PCI_QUIRK_ENABLE_MSI_VM. PR: kern/292081 MFC after: 1 week
* GCE: Enable vtnet(4) Multiqueue.William Carrel2026-01-081-1/+0
| | | | | | | | | | | | | | | Removes hw.vtnet.mq_disable=1. This workaround was originally introduced nearly a decade ago to address stability issues on KVM that have long since been resolved in both the FreeBSD driver and the GCE hypervisor. Removing this allows network interrupts to scale across multiple vCPUs. Tested on n2-highcpu-16 VM with 15.0-RELEASE and confirmed multiple queue pairs active and interrupts handling across cores. PR: kern/292081 MFC after: 1 day
* GCE: Fix growfs pathWilliam Carrel2026-01-081-1/+1
| | | | | | | | | | The sed command was missing the ${DESTDIR} prefix, meaning it was attempting to modify the build host's /etc/rc.d/growfs instead of the target image's script. Tested in an arm64 builder that builds as non-root. PR: kern/292081 MFC after: 1 day
* release: stop disabling sendmailBaptiste Daroussin2026-01-075-20/+0
| | | | | | | | | sendmail is already disabled by default everywhere since 14.0 MFC After: 1 week Approved by: emaste (re) Reviewed by: emaste (re) Differential Revision: https://reviews.freebsd.org/D54575