Commit Graph

777 Commits

Author SHA1 Message Date
Enji Cooper b78806b156 Remove additional libtpool and libuutil-related files
This change removes additional library files and tests orphaned in the
commit referenced below.

MFC with:	8b78d412a
Fixes: 8b78d412a ("zfs: world changes after 89f729dcc merge")
2026-02-03 23:33:04 -08:00
Enji Cooper e1f36b9db9 usr.bin/tftp: remove tests when MK_TFTP=no
These tests require the tftp client, which is not installed when
`MK_TFTP=no`. Remove them when that's not true.

MFC after:	1 week
2026-02-02 21:44:47 -08:00
Enji Cooper 7baa76c30c usr.bin/factor: remove tests when MK_GAMES=no
factor(1) is only installed when MK_GAMES != no. Ergo, remove the tests
when that's not true.

MFC after:	1 week
2026-02-02 21:42:03 -08:00
Enji Cooper 1ccee516ed tftpd: remove tests when MK_TFTP=no
MFC after:	1 week
2026-02-02 21:24:33 -08:00
Enji Cooper 51509500ac Remove bsnmpd tests when MK_BSNMP == no
MFC after:	1 week
2026-02-02 21:12:25 -08:00
Enji Cooper cea2683bb6 Remove example tests when MK_EXAMPLES=no
This change cleans up example tests for atf, googletest, plain, and TAP
when MK_EXAMPLES=no. Not having this in results
`kyua test -k /usr/tests/share/examples/Kyuafile` being broken on a host
where the content in that directory tree is stale. I ran into that case
because at some point in time in the past I had specified
`MK_GOOGLETEST=no` one of my dev instances.

MFC after:	1 week
2026-02-01 09:12:44 -08:00
John Baldwin 8e1c85f032 OptionalObsoleteFiles.inc: Treat compat runtime loaders as libraries
Binaries require the runtime loader to use shared libraries, and
removing the runtime loader in `make delete-old` while leaving the
libraries around makes it impossible to use those shared libraries.
Treat rtld as a de facto dependency of shared libraries to ensure it
is not removed until the corresponding shared libraries are removed.

Differential Revision:	https://reviews.freebsd.org/D52210
2026-01-20 12:07:21 -05:00
Cy Schubert 1876de606e krb5: Expose missing symbols
Add symbols found in the port but not in base. This requires replacing
a shared libkrb5profile.so with libkrb5profile.a (with -fPIC so it can
be used by shared libraries). We do this by making libkrb5profile
INTERNALLIB.

Base currently has libkrb5profile in a shared library. The patch moves
those functions to the various "consumer" libraries as the port does.

Symbols that should be in the other libraries are in libkrb5profile.so.
This is causing some ports issues.

PR:		291695
Reported by:	michaelo, markj,  Chris Inacio <inacio@andrew.cmu.edu>
Tested by:	michaelo
Fixes:		ae07a5805b
Reviewed by:	michaelo (previous version)
MFC after:	2 weeks
Differential revision:	https://reviews.freebsd.org/D54323
2026-01-20 05:41:02 -08:00
Baptiste Daroussin 68ad2b0d7a ncurses: merge update to ncurses 6.6
6.6 is ABI compatible with 6.5 (tested with abidiff)
Remove html documentation to ease updates

MFC After:	1 month
2026-01-14 14:48:32 +01:00
Christos Margiolis f74f891581 src.opts: Introduce MK_SOUND
PR:		291853
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
Reviewed by:	zarychtam_plan-b.pwste.edu.pl, markj
Differential Revision:	https://reviews.freebsd.org/D54456
2026-01-12 16:16:35 +02:00
Dimitry Andric 160077a4d7 OptionalObsoleteFiles.inc: fix up WITH_LLVM_LINK_STATIC_LIBRARIES cases
In commit cf1eaaf41c I added the WITH_LLVM_LINK_STATIC_LIBRARIES
src.conf(5) build knob, which also affects OptionalObsoleteFiles.inc.

However, the checks were incorrect: when WITH_LLVM_LINK_STATIC_LIBRARIES
is active, the OLD_LIBS libprivatellvm.so.19, libprivateclang.so.19 and
libprivatelldb.so.19 should always be cleaned up.

Fixes:		cf1eaaf41c
MFC after:	1 week
2025-12-24 16:52:48 +01:00
Dimitry Andric 8d5a11cd01 src.conf: Add WITH_LLVM_LINK_STATIC_LIBRARIES build knob
In commit 2e47f35be5 libllvm, libclang and liblldb were converted into
private shared libraries. This allowed clang, lld, lldb, and other llvm
tools to be linked against these shared libraries, which makes them
smaller and avoids duplication.

However, this also comes at the cost of some performance, since the
dynamic libraries are quite large, and contain lots of long symbols
(mangled C++ identifiers).

Add a WITH_LLVM_LINK_STATIC_LIBRARIES build knob that can be used to go
back to the previous behavior: libllvm, libclang and liblldb are built
as internal static libraries, i.e. only available during buildworld, and
fully linked into the various executables such as clang, lld, etc.

PR:		287447
Reviewed by:	emaste
MFC after:	1 week
Differential Revision: https://reviews.freebsd.org/D50956
2025-12-23 22:01:40 +01:00
John Baldwin f63a8c0a09 bsdinstall: Mount /dev and /packages after using the shell to partition disks
Normally after partitions are created by the installer, the 'mount'
script is used to mount the target disk partitions under /mnt.  The
tail end of this script also mounts a couple of additional filesystems
under /mnt so that chrooted programs can work such as devfs and
/packages.

When the "Shell" option is used to permit the user to manually mount
the destination filesystem, the "mount" script is not used as the user
is instructed to mount the target filesystems and construct
/mnt/etc/fstab, etc.  However, this means that the user is responsible
for mounting devfs (which is not included in /etc/fstab) and /packages
as well.  The help message for the "Shell" option doesn't mention
these requirements, so users may not know to do so.  This can lead to
confusing errors as chrooted commands can fail to find needed /dev
entries.  For example, running fwget to fetch wireless firmware fails
because /dev/pci doesn't exist.

To make this less painful for users using this option, split out the
bottom half of the 'mount' script that mounts these non-fstab-related
filesystems into a separate 'mount_aux' script.  Invoke 'mount_aux'
after using "Shell" to create the filesystem to ensure that these
filesystems are always present.

PR:		290901
Reported by:	Peter <freebsd@peterk.org>
Tested by:	Peter <freebsd@peterk.org>
Differential Revision:	https://reviews.freebsd.org/D53770
2025-12-08 16:33:30 -05:00
Cy Schubert 0ff0c19e7f ipfilter: Disable ipfs(8) by default
At the moment ipfs(8) is a tool that can be easily abused. Though the
concept is sound the implementation needs some work.

ipfs(8) should be considered experimental at the moment.

This commit also makes ipfs support in the kernel optional.

Reviewed by:		emaste, glebius
MFC after:		1 week
Differential revision:	https://reviews.freebsd.org/D53787
2025-12-08 08:15:18 -08:00
Jose Luis Duran 7238317403 blocklist: Rename blacklist to blocklist
Follow up upstream rename from blacklist to blocklist.

- Old names and rc scripts are still valid, but emitting an ugly warning
- Old firewall rules and anchor names should work, but emitting an ugly
  warning
- Old MK_BLACKLIST* knobs are wired to the new ones

Although care has been taken not to break current configurations, this
is a large patch containing mostly duplicated code.  If issues arise, it
will be swiftly reverted.

Reviewed by:	ivy (pkgbase)
Approved by:	emaste (mentor)
MFC after:	2 days
Relnotes:	yes
2025-10-12 17:14:27 +00:00
Lexi Winter 614c8750ce Remove ftpd(8)
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
2025-09-29 22:53:34 +01:00
Mark Johnston ceb5792d1e OptionalObsoleteFiles.inc: Add more ATF libraries
PR:		289653
Reported by:	Trond Endrestøl <Trond.Endrestol@ximalas.info>
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D52676
2025-09-27 08:11:19 +00:00
Vladimir Kondratyev aef807876c moused(8): Add support for evdev protocol
The new daemon have following properties as compared with previous
incarnation:
- evdev protocol support for mices and touchpads. Additionally to
  relative PS/2 and USB devices it enables console support for I2C/USB
  touchpads and bluetooth mices.
- Other aged protocols like COM, raw PS/2 and X10 are dropped with only
  exception of sysmouse. For those who still use them there is an
  utility called msconvd(8).
- single daemon per system where hotplug is processed via devd socket.
  Per device mode still supported too.
- Configuration and quirks files in libinput-compatible format.
  Actually, the new moused config parser is taken from libinput.

The moused(8) can work in 2 modes:
1. Evdev support mode. It enables all previously mentioned devices.
   It is enabled by deault.
2. Sysmouse support mode. All should work as before.
   No new devices supported. To enable it add following lines to
   /etc/rc.conf:
      moused_port="/dev/psm0"
      moused_nondefault_enable="YES"
   One may add hw.usb.usbhid.enable=0 to /boot/loader.conf to enable
   ums(4) driver which supports sysmouse protocol.

Differential Revision:	https://reviews.freebsd.org/D52164
2025-09-05 00:07:25 +03:00
John Baldwin 6d0016aea2 ObsoleteFiles.inc: Treat usr/lib/libwind.so.11 as a library
Reviewed by:	ivy
Fixes:		721c98dd89 ("OptionalObsoleteFiles: Update Kerberos entries")
Differential Revision:	https://reviews.freebsd.org/D52208
2025-08-28 13:35:34 -04:00
Lexi Winter 721c98dd89 OptionalObsoleteFiles: Update Kerberos entries
Consolidate the various lists of Kerberos files into three sets:
common files, files only installed by MIT Kerberos, and files only
installed by Heimdal.  This avoids having to list the same files in
multiple places and makes the logic a lot easier to maintain.

The new file lists were created by comparing the actual result of
make installworld with the various options enabled or disabled.

Reviewed by:	des, cy
Differential Revision:	https://reviews.freebsd.org/D51874
2025-08-20 20:00:06 +01:00
Lexi Winter dc5ba6b8b4 Remove MK_GSSAPI
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
2025-08-20 19:42:20 +01:00
Enji Cooper 19c8cc3162 Remove inotify example code when MK_EXAMPLES == no
This change adds the needed entries to OLD_DIRS and OLD_FILES to ensure
that the paths are properly cleaned up when `make delete-old` is run and
MK_EXAMPLES == no.

MFC after:	2 months
Fixes:		1d8664d690 ("examples: Add a demo program for inotify")
Differential Revision:	https://reviews.freebsd.org/D51934
2025-08-18 18:09:12 -07:00
Lexi Winter 837b13af68 Revert "Remove Secure RPC DES authentication"
This reverts commit 7ac276298b.

Requested by:	kib
2025-08-15 17:59:18 +01:00
Lexi Winter 7ac276298b Remove Secure RPC DES authentication
Following the earlier removal of keyserv, none of this functionality
works since it requires keyserv.

Remove the relevant symbols from libc's Symbol.map.  Leave compatibility
symbols for existing applications, but since the functions don't work
without keyserv, stub them out to return an error.

Remove some private symbols that were only used by keyserv; these don't
get compatibility symbols.

Remove the documentation for the old functions.

Remove rpc.ypupdated since it requires DES authentication.

Reviewed by:		manu, des, emaste
Differential Revision:	https://reviews.freebsd.org/D50442
2025-08-10 16:36:40 +01:00
Lexi Winter 2fb03d6c11 gssd: Be consistent about Makefile conditionals
gssd itself is only built when both MK_GSSAPI and MK_KERBEROS_SUPPORT
are enabled, but the init script and OptionalObsoleteFiles entries
only checked MK_GSSAPI.  Check both variables everywhere.

Reviewed by:		des
Differential Revision:	https://reviews.freebsd.org/D51812
2025-08-08 14:16:06 +01:00
Cy Schubert e26259f48a gssapi,krb5: Replace libgssapi with the MIT version
lib/libgssapi is based on Heimdal. As on Linux systems, the MIT
libgssapi_krb5 replaces it. With both gssapi libraries and header files
installed results in broken buildworld (gssd) and ports that will not
build without modifications to support the MIT gssapi in an alternate
location.

73ed0c7992 removed the MIT GSSAPI headers from /usr/include. Apps using
MIT KRB5 gssapi functions and structures will fail to build without this
patch.

This patch includes a temporary patch to usr.sbin/gssd to allow it
to build with this patch. rmacklem@ has a patch for this and for
kgssapi that uses this patch to resolve kgssapi issues for NFS with
Kerberos.

This patch is an updated version of D51661 to allow it to build following
additional patchs to the tree.

This should have been implmented with 7e35117eb0.

Fixes:			7e35117eb0, 73ed0c7992
Differential Revision:	https://reviews.freebsd.org/D51661
2025-08-07 10:17:00 -07:00
Lexi Winter 3958a0eb7e share/misc: Move init.ee to the correct package
Also, only install it if MK_EE is enabled.

Reviewed by:		manu (previous version)
Differential Revision:	https://reviews.freebsd.org/D51787
2025-08-07 13:36:59 +01:00
Cy Schubert 3a99a0961d krb5: Remove Heimdal library when MK_MITKRB5 is enabled
Fixes:		af2593e321
2025-08-05 09:32:43 -07:00
John Baldwin a3b72d89c7 zfsboot: Remove zfsboot(8) program used to boot ZFS from MBR + BIOS
This has not worked since the import of OpenZFS in FreeBSD 13.0.
Trying to fix it at this point would probably entail rearchitecting
how it works (e.g. using a dedicated freebsd-boot slice to hold
zfsboot).  However, it's not really worth doing that at this point.

PR:		271262
Reported by:	Henryk Paluch <hpaluch@seznam.cz>
Reviewed by:	imp, emaste
Relnotes:	yes
Differential Revision:	https://reviews.freebsd.org/D51545
2025-07-28 10:58:02 -04:00
Cy Schubert dd0ec030f8 krb5: Bump DSO version for version map creation
Differential Revision:	https://reviews.freebsd.org/D51520
2025-07-27 05:59:34 -07:00
Dag-Erling Smørgrav a3d4ae7cf3 dma: Don't install dma.conf world-readable
While here, install auth.conf into /etc as well.

MFC after:	3 days
PR:		288409
Reviewed by:	ivy, bapt
Differential Revision:	https://reviews.freebsd.org/D51529
2025-07-26 11:59:53 +02:00
Gleb Smirnoff 777123969d libbsnmp: make binding of client UNIX socket optional and configurable
Before this change snmp_open(3) would always bind(2) client socket to a
random "/tmp/snmpXXXXXXXXXXXXXX" name.  However, this binding is not
required for SOCK_STREAM transport.  Also, any attempt to specify a
different name would fail, as open_client_local() would blindly rewrite
the name to the default.

Make this binding optional.  If application had initialized
snmp_client.local_path, then try to bind to the specified pathname,
otherwise perform the random name binding only if we are in the
SOCK_DGRAM mode.

While here change snmp_client.local_path size to SUNPATHLEN, so that any
legitimate local socket name can be used.  This requires library version
bump.

Note that this code has been broken by 81e0e7b9e3 for three years, thus
it is known not to be widely used.

Reviewed by:		harti
Differential Revision:	https://reviews.freebsd.org/D51070
2025-07-25 13:10:17 -07:00
Dag-Erling Smørgrav 57ee56578c libc: Test time zone change detection.
While here, clean the detection code up a bit.

Sponsored by:	Klara, Inc.
Sponsored by:	NetApp, Inc.
Reviewed by:	markj
Differential Revision:	https://reviews.freebsd.org/D51343
2025-07-18 19:49:57 +02:00
Jessica Clarke 8f0a6a9aad share: Delete bitrotted make_*_driver.sh scripts
These scripts have not seen the necessary changes to keep them up to
date with current KPIs and coding practices. They use I/O ports directly
rather than any bus abstractions, use i386 (which is on the way out for
kernel configs) as the architecture of choice for generated kernel
configs, use ISA KPIs, use INTR_TYPE_FAST (renamed in 2000 to INTR_FAST
and removed in 2011), and likely have other issues too that render them
more harm than good for the uninitiated developer looking for a driver
template. If anyone wants to invest time in modernising them they can do
so and bring them back, but for now delete them.

Reviewed by:	cperciva, imp, emaste
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D50468
2025-07-10 20:36:08 +01:00
Cy Schubert aad5020c70 OptionalObsoleteFiles: libkadm5clnt.so is used by MIT and Heimdal
Reported by:	fluffy, "Herbert J. Skuhra" <herbert@gojira.at>
Fixes:		af2593e321
2025-07-07 16:03:10 -07:00
Cy Schubert 111607db6a OptionalObsoleteFiles: Keep Heimdal man pages when switching back
Additional man pages that should not be removed when switching back to
Heimdal.

Fixes:          af2593e321
2025-06-26 09:00:13 -07:00
Cy Schubert 5bd818785a OptionalObsoleteFiles: Keep Heimdal files when switching back
Additional files that should not be removed when switching back to
Heimdal.

Fixes:		af2593e321
2025-06-26 08:22:30 -07:00
Cy Schubert b499fefd6d OptionalObsoleteFiles: Remove an MIT .a file when switching back
When switching back to Heimdal remove libverto.a, an MIT KRB5 library.

Fixes:		af2593e321
2025-06-26 07:35:40 -07:00
Cy Schubert 2b43d77af3 OptionalObsoleteFiles: Keep Heimdal files when switching back
When switching back to Heimdal keep Heimdal's .a files.

Fixes:		af2593e321
2025-06-26 07:35:40 -07:00
Alexander Ziaee daf2a13802 MK_FORTH: Allow removing loader.4th w/ delete-old
The lua loader is quite mature, and /boot is getting a bit cluttered.
Allow removing the Forth loader with `make delete-old` if WITHOUT_FORTH
is set, instead of the previous behavior of only removing the doc.

MFC:			no, I think this is a breaking change
Approved by:		kevans (src)
Reviewed by:		kevans (UPDATING note tweaked since)
Discussed with:		imp, tsoome (thanks!)
Differential Revision:	https://reviews.freebsd.org/D50708
2025-06-25 19:13:18 -04:00
Cy Schubert 18a8f5714c krb5: Do not remove krb5.h when selecting Heimdal 2025-06-23 09:02:20 -07:00
Cy Schubert 0b9a631e07 krb5: Remove artifaccts of my initial builds
The files being removed were artifacts of my initial builds using
a process to extract files used by the port during its build. It
was later discovered they were not needed but they were not removed
from the build at the time.

tools/build/mk/OptionalObsoleteFiles.inc removes the extraneous files
from an installed system. These files are not supposed to be installed.

There are three parts of this patch.

1. Don't install them in the first place.

2. Remove the files if they were previously installed.

3. Ensure they are removed when switching back to Heimdal from MIT.

Reported by:	fluffy
Fixes:		ee3960cba1
2025-06-20 08:12:43 -07:00
Cy Schubert 990a088612 OptionalObsoleteFiles: Keep common files between MIT and Heimdal
Reported by:	"Herbert J. Skuhra" <herbert@gojira.at>
Original by:	"Herbert J. Skuhra" <herbert@gojira.at>
Fixes:		7e35117eb0
2025-06-16 20:30:34 -07:00
Cy Schubert af2593e321 OptionalObsoleteFiles: Support MIT KRB5
If no Kerberos is wanted (MK_KERBEROS == no) remove whatever kerberos
is installed.

If MIT KRB5 is wanted (MK_MITKRB5 == yes) remove the Heimdal files.

If Heimdal is wanted (MK_MITKRB5 == no) remove the MIT KRB5 files.

Sponsored by:		The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D50814
2025-06-15 19:49:37 -07:00
Lexi Winter 0ddc223c6d OptionalObsoleteFiles.inc: add some now-optional rc.d scripts
After f91d251b39, some rc.d scripts are gated behind the src.conf knob
for the services they start.  Add them to OptionalObsoleteFiles.inc so
they are properly removed when the knob is disabled.

Fixes: f91d251b39 ("rc.d: move some rc scripts to their packages")
Reviewed by:	kevans, jhb
Approved by:	kevans (mentor)
Differential Revision:	https://reviews.freebsd.org/D50560
2025-06-04 06:45:10 +01:00
Andriy Gapon 28d74f18f1 OptionalObsoleteFiles: etc/rc.d/powerd is used/useful without ACPI/APM
Just like powerd daemon does not depend on ACPI/APM, its rc script does
not either.

Fixes:		20eb6bd8c5
MFC after:	1 week
2025-05-19 12:29:06 +03:00
Ed Maste 2ffd04bbab OptionalObsoleteFiles: Add recent bsdinstall additions
Reported by: garga
Fixes: a6d202077d ("bsdinstall: revisit the finalconfig step")
Fixes: bbe2a1da2d ("bsdinstall: add menu to install firmware")
2025-05-08 09:08:24 -04:00
Ed Maste af4c34e4db OptionalObsoleteFiles: Add bsdinstall pkgbase
Reported by: garga
Fixes: ee9cfd7275 ("bsdinstall: add pkgbase target")
2025-05-08 08:59:30 -04:00
Dimitry Andric 2e47f35be5 Convert libllvm, libclang and liblldb into private shared libraries
This allows clang, lld, lldb, and other llvm tools to be linked against
these shared libraries, which makes them smaller and avoids duplication.

Since these are not quite the same as the shared libraries shipped by
the upstream llvm build system, and we do not want to expose the ABI to
external programs such as ports, make them private libraries.

Note that during the cross-tools stage they are still built as static
libraries, so the cross compiler and linker are static binaries, as they
have always been.

This also requires a depend-cleanup.sh kludge which will be added in a
follow-up commit, to ensure binaries are rebuilt against the shared
libraries in case of incremental builds.

MFC after:      2 weeks
Differential Revision: https://reviews.freebsd.org/D49967
2025-04-25 19:56:39 +02:00
Ed Maste b885643b63 boot: Always use ELF Tool Chain elfcopy for EFI builds
We now use llvm-objcopy by default (as of commit 1cae7121c6), but it
does not support efi-app-x86_64 and similar ouptut formats (for more
detail see LLVM issue 108609[1]).

Go back to installing ELF Tool Chain's version of objcopy as elfcopy
(the standard upstream name) and use it for EFI builds.

[1] https://github.com/llvm/llvm-project/issues/108609).

PR:		280771
Reviewed by:	andrew
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D49362
2025-03-23 18:17:03 -04:00