Zstd is a discrete, self-contained system component. To match how we
package zlib, bzip2 and xz, move it to its own package, with a separate
lib package.
Add the new package to the minimal set, since this is a core component
that users expect to be installed.
This change adds a new package to the system so, until we have a proper
policy on how to handle this in release/stable branches, it should not
be MFC'd.
MFC after: never
Reviewed by: bapt
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D53603
Currently, we have very long timeouts for the initial probing
commands. However, these are not appropriate for modern (post 2010) SCSI
disks. Sandards since SPC3 state that these commands should not wait for
media access. Since we retry them several times during the initial bus
scan, these delays can delay the boot by minutes (5 minutes per errant
disk in our expereince). These delays don't help and only hurt, so
reduce the TESTUNITREADY, INQUIRY and MODESENSE commands (during the
initial probe). Provide sysctl/tuneables to change the time for these
and also the REPORTLUNS commands for people that might need to adjust
them for devices that violate this belief but none-the-less work with
longer timeouts.
kern.cam.tur_timeout (default was 60s, now 1s)
kern.cam.inquiry_timeout (default was 60s, now 1s)
kern.cam.reportluns_timeout (default is 60s)
kern.cam.modesense_timeout (default was 60s, now 1s)
This can be partially merged: the sysctls can, but the new defaults likely
shouldn't.
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D52427
I've received a report of a failure from resolving kern_kmq_open.
Revert for now as we are currently in stabweek.
This reverts commit 9562994a7a.
Reported by: mav
In 95c20faf11 and ecd8245e0d kib introduced support to have the
kernel linker stop resolving local symbols from other files, but did
not enable it by default to avoid surprises. Flip the default now,
before FreeBSD 16.0.
The debug.link_elf_leak_locals and debug.link_elf_obj_leak_locals
sysctls are available to revert to the previous behaviour if necessary.
PR: 207898
Reviewed by: bz
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D47742
OpenPAM is a discrete, largely self-contained system component.
Users may not need PAM for many use-cases (e.g. jails, containers),
so move it to its own package.
Use LIB_PACKAGE to create a separate pam-lib package for libpam,
so that applications that support PAM don't need to bring in all
the PAM modules if PAM isn't actually in use.
Add pam to the minimal sets, since this is a core system component that
people expect to be installed. This means all supported installation
methods will install the PAM modules by default, so don't add explicit
dependencies on the PAM modules from things that use PAM (e.g. runtime),
allowing custom/embedded systems to omit these easily.
This change adds a new package to the system so, until we have a proper
policy on how to handle this in release/stable branches, it should not
be MFC'd.
MFC after: never
Reviewed by: des, bapt
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D53602
flua is a standalone third-party component that deserves its own
package. In particular, this means things can use flua without
having to depend on FreeBSD-utilities, which will be useful as
more base utilities use flua.
This saves ~500kB in FreeBSD-utilities for systems which don't
need flua.
MFC after: 3 days
Reviewed by: kevans
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D53161
The size of an embedded struct has changed and might possibly be a
problem. Allow this change to be detected by bumping __FreeBSD_version.
MFC after: 3 days
This more accurately reflects its purpose, and its contents, since
everything in the package is prefixed with "local-".
While here, add a message on upgrade about regenerating the config.
MFC after: 3 seconds
Requested by: des
Reviewed by: des
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D53056
Add an UPDATING entry about the renaming of blocklist.
Approved by: emaste (mentor)
Fixes: 7238317403 ("blocklist: Rename blacklist to blocklist")
MFC after: 1 day
Put virtual_oss, /etc/devd/snd.conf and the other audio-related tools
into a new "sound" package. Don't create a separate -lib package,
since it's unlikely someone will want mixer(3) without mixer(8).
Put the sound package in the optional set rather than minimal, since
it's not actually required for audio hardware support, and many systems
(including nearly all servers) won't want it installed.
MFC after: 3 seconds
Reviewed by: christos
Sponsored by: https://www.patreon.com/bsdivy
Differential Revision: https://reviews.freebsd.org/D52823
Both drm-kmod and nvidia-drm were updated to keep compiling and/or
working after the latest LinuxKPI PCI changes. Some of what should
have worked for a long time but did not or conflicted was hidden
behind native PCI calls instead of using LinuxKPI. We cleaned this
up. Bump __FreeBSD_version so that users will get the updated packages.
MFC after: 3 days
PR: 289647
This was previously deprecated and is slated for removal in 15.0.
Users who still need ftpd(8) can install the ftp/freebsd-ftpd port.
Retain the ftp(d) PAM services since other FTP daemons use them.
Update /etc/inetd.conf to point to /usr/local.
Add ftpd to ObsoleteFiles, but do not list configuration files since
users may want to preserve these to use with the freebsd-ftpd port.
There is still some language in the manual referring to ftpd(8)
which is relevant to the port, which has been retained but updated
to reference the port.
MFC after: 3 days
Relnotes: yes
Reviewed by: cperciva
Differential Revision: https://reviews.freebsd.org/D52739
Currently libbz2 is in the libbz2 package, while bzip2 itself is in
-utilities, which is inconsistent. Move both the library and the
utility to a new -bzip2 package, and use LIB_PACKAGE to create a
separate -bzip2-lib package for runtime dependencies.
Add the bzip2 package to the minimal set, and since newsyslogd uses
bzip2 for logfile compression, add a dependency from there.
MFC after: 1 day
Reviewed by: manu
Differential Revision: https://reviews.freebsd.org/D52663
Due to the size of libpmc.so.5, this reduces the size of the -utilities
package by 10%.
MFC after: 1 day
Reviewed by: manu, adrian, emaste
Differential Revision: https://reviews.freebsd.org/D52662
Nearly everyone wants powerd to manage CPU frequency scaling on real
hardware, even if -utilities isn't installed. Conversely, very small
jails might want -utilities but don't need powerd.
Move it to its own package and add it to the minimal set.
MFC after: 1 day
Reviewed by: manu, imp
Differential Revision: https://reviews.freebsd.org/D52645
Move mandoc to its own package so users can install it independently of
-utilities. Put the package in the minimal set, since we also ship
manpages in minimal and "man" is a basic Unix utility.
Add a pkg-triggers(5) hook to run makewhatis when new manpages are
installed, so that apropos(1) works. This depends on a new pkg(8)
feature expected to be in in the upcoming 2.3.2 release; in the mean
time, this is a no-op (i.e., having an older pkg doesn't break anything,
it just won't run the trigger).
MFC after: 3 seconds
Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D52564
We don't want a tests-dev package, because this means set-devel depends
on tests-dev, which transitively depends on tests, which means you can't
install set-devel without also getting tests.
The only real "dev" files in tests-dev are from ATF (libprivateatf),
so move that to its own package and add a dependency from tests.
Also move Kyua to its own package, since this might be useful for
running tests even when the user doesn't want the whole set of base
tests installed.
Add a dependency from -tests to both -atf and -kyua, and a dependency
on -set-base, since the tests won't work without the full base system
installed.
The remaining "dev" files in tests are actually test artifacts, not real
development libraries. Add a new NO_DEV_PACKAGE option to bsd.lib.mk,
which causes dev files to be installed in the base package instead of
creating a -dev package, and set this option for everything that
installs test libraries.
While here, add a slightly more informative description for the tests
package.
MFC after: 3 seconds
Reviewed by: bapt, emaste
Differential Revision: https://reviews.freebsd.org/D52597
Manpages are very small, and having a separate manpages package for
every base package is quite annoying for users. Turn this option
off by default.
Discussed with: bapt
Reviewed by: manu, emaste
MFC after: 3 days
Differential Revision: https://reviews.freebsd.org/D52417
* Bumps to versions in lib/clang
* Bumps to sys/conf/newvers.sh and sys/sys/param.h
* Update to UPDATING
Approved by: re (implicit)
Sponsored by: https://www.patreon.com/cperciva
There's no need for an implied value judgement.
Suggested by: jhb
Reviewed by: kib, jhb
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D52351
For some packages (OpenSSL, Kerberos) we want to ship runtime libraries
in a separate package, e.g. openssl and openssl-lib. Currently this is
done using PACKAGE=openssl-lib, but that creates packages with strange
names like openssl-lib-lib32.
Instead, add a new LIB_PACKAGE option to bsd.lib.mk that causes runtime
libraries to be placed in a new -lib subpackage. This significantly
improves the set of packages we create; for example, OpenSSL goes from:
FreeBSD-openssl
FreeBSD-openssl-dbg
FreeBSD-openssl-lib
FreeBSD-openssl-lib-dbg
FreeBSD-openssl-lib-dbg-lib32
FreeBSD-openssl-lib-dev
FreeBSD-openssl-lib-dev-lib32
FreeBSD-openssl-lib-lib32
FreeBSD-openssl-lib-man
FreeBSD-openssl-man
to:
FreeBSD-openssl
FreeBSD-openssl-dbg
FreeBSD-openssl-dbg-lib32
FreeBSD-openssl-dev
FreeBSD-openssl-dev-lib32
FreeBSD-openssl-lib
FreeBSD-openssl-lib32
FreeBSD-openssl-man
While here, move /usr/bin/krb5-config and /usr/bin/compile_et into
the kerberos-dev package.
Reviewed by: des
Differential Revision: https://reviews.freebsd.org/D51925
When new fields were added to struct ifbreq in 15.0, the decision was
made to not use the padding to preserve binary compatibility. However
this causes some issues, including the inability for 14.x jails to use
bridges, and a failure to bring up networking when booting a 15 kernel
with a 14.x userland, e.g. during upgrade.
Restore the old size of struct ifbreq by eating some of the padding.
This only requires 4 bytes of padding; we have 28 bytes left, and in
the medium term this problem will be solved with a netlink interface,
so running out of padding should not be a concern.
Fixes: 65ed1a035c ("bridge: allow member interface vlan to be configured")
Fixes: f94c370de6 ("bridge: Allow VLAN protocol to be configured")
Reviewed by: zlei, kevans, flo
Differential Revision: https://reviews.freebsd.org/D52028
For MIT Kerberos, MK_GSSAPI has no meaning: GSSAPI is a required part of
Kerberos and is always built if MK_KERBEROS is enabled. Backport this
behaviour to Heimdal so it works the same way.
While here, change Heimdal's libcom_err and compile_et to be selected by
MK_KERBEROS, not MK_KERBEROS_SUPPORT, since these are part of Kerberos
and third-party users might need it even if Kerberos support is disabled
in the base system. This means MK_KERBEROS_SUPPORT installs the same
files with both MIT and Heimdal.
Reviewed by: cy
Differential Revision: https://reviews.freebsd.org/D51859
Now that we have the notion of a build epoch, we have sufficient tooling
to handle changes that might need a larger hammer to unbreak the build.
Future changes may extend our cleanup to avoid scenarios like with the
MITKRB5 knob where flipping it will still require a cleanup, but on the
whole most users aren't regularly flipping breaking knobs enough for
this to cause the same level of problems. Those users are advised to do
a CLEAN build when they flip it until we start recording build options
and doing another clean for important knob switches (see D52011).
When knobs of that sort are newly introduced or switch defaults, we can
explicitly record an epoch for them in the interim until
option-switching is detected and handled properly.
This reverts commit 6dab48b9de.
Reviewed by: jrtc27, markj
Differential Revision: https://reviews.freebsd.org/D51923
There have been too many issues with non-META_MODE incremental builds
recently, and it is clear that most users, even developers, were not
aware that the default had been switched.
This will be revisited once more work has been done to help prevent
future breakage.
This reverts commit ba373fca78.
Reviewed by: markj, jhb
Differential Revision: https://reviews.freebsd.org/D51828
These are deprecated, but in the mean time, move them to another
package. routed in particularly doesn't need to be in -runtime.
Reviewed by: manu
Differential Revision: https://reviews.freebsd.org/D51783
Now if_epair(4) uses ether_gen_addr(9) to generate a stable MAC.
This feature was committed in 590493c141.
Approved by: kp
MFC after: never
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D51157
Now that rc.subr(8) no longer depends on sysrc(8), bsdconfig does not
need to be part of -utilities. Move it to a -bsdconfig package.
Differential Revision: https://reviews.freebsd.org/D51543
Enabling and disabling LLVM assertions changes the ABI. There have
been multiple reports on the freebsd-current@ mailing list of broken
'cc'.
Out of caution, you may wish to do a clean build while crossing this
commit after building the reverted commit if you do not set
LLVM_ASSERTIONS in your src.conf.
Discussed with: kevans, jrtc27
This reverts commit 9b3055d0d4.