diff options
Diffstat (limited to 'share')
31 files changed, 284 insertions, 158 deletions
diff --git a/share/man/man4/bridge.4 b/share/man/man4/bridge.4 index 2dff393ebc29..7048df4593bf 100644 --- a/share/man/man4/bridge.4 +++ b/share/man/man4/bridge.4 @@ -36,7 +36,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd July 5, 2025 +.Dd July 28, 2025 .Dt IF_BRIDGE 4 .Os .Sh NAME @@ -289,7 +289,7 @@ interface on the bridge and (if necessary) assign IP addresses there. By default no access control is enabled, so any interface may participate in any VLAN. .Pp -VLAN filtering may be enabled on an interface using the +VLAN filtering may be enabled on a bridge using the .Xr ifconfig 8 .Cm vlanfilter option. diff --git a/share/man/man4/epair.4 b/share/man/man4/epair.4 index 4bcb54c936cb..342b15b5612a 100644 --- a/share/man/man4/epair.4 +++ b/share/man/man4/epair.4 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 18, 2015 +.Dd August 12, 2025 .Dt EPAIR 4 .Os .Sh NAME @@ -79,12 +79,24 @@ and Like any other Ethernet interface, an .Nm needs to have a network address. -Each +If the tunable +.Va net.link.epair.ether_gen_addr Ns +=0, each .Nm -will be assigned a locally administered address by default, +will be assigned a random locally administered address, that is only guaranteed to be unique within one network stack. -To change the default addresses one may use the SIOCSIFADDR ioctl(2) or -ifconfig(8) utility. +The tunable +.Va net.link.epair.ether_gen_addr Ns +=1 will generate a stable MAC address with +.Fx +OUI using +.Xr ether_gen_addr 9 . +This tunable defaults to 1 in +.Fx 15.0 and might be removed in +.Fx 16.0 . +To change the default addresses one may use the SIOCSIFADDR +.Xr ioctl 2 or +.Xr ifconfig 8 utility. .Pp The basic intent is to provide connectivity between two virtual network stack instances. diff --git a/share/man/man4/sa.4 b/share/man/man4/sa.4 index 699a940a34d1..6c948a0f21ab 100644 --- a/share/man/man4/sa.4 +++ b/share/man/man4/sa.4 @@ -82,21 +82,19 @@ the case where a control mode device is opened. In the latter case, exclusive access is only sought when needed (e.g., to set parameters). .Sh SUB-MODES -Bits 0 and 1 of the minor number are interpreted as -.Sq sub-modes . The sub-modes differ in the action taken when the device is closed: .Bl -tag -width XXXX -.It 00 +.It Pa /dev/sa* A close will rewind the device; if the tape has been written, then a file mark will be written before the rewind is requested. The device is unmounted. -.It 01 +.It Pa /dev/nsa* A close will leave the tape mounted. If the tape was written to, a file mark will be written. No other head positioning takes place. Any further reads or writes will occur directly after the last read, or the written file mark. -.It 10 +.It Pa /dev/esa* A close will rewind the device. If the tape has been written, then a file mark will be written before the rewind is requested. diff --git a/share/man/man4/vt.4 b/share/man/man4/vt.4 index ad050bdd0d59..21d69bf9d495 100644 --- a/share/man/man4/vt.4 +++ b/share/man/man4/vt.4 @@ -1,4 +1,4 @@ -.\"- +.\" .\" SPDX-License-Identifier: BSD-2-Clause .\" .\" Copyright (c) 2014 Warren Block @@ -26,32 +26,32 @@ .\" SUCH DAMAGE. .\" .Dd July 7, 2024 -.Dt "VT" 4 +.Dt VT 4 .Os .Sh NAME .Nm vt .Nd virtual terminal system video console driver .Sh SYNOPSIS -.Cd "options TERMINAL_KERN_ATTR=_attribute_" -.Cd "options TERMINAL_NORM_ATTR=_attribute_" -.Cd "options VT_MAXWINDOWS=N" +.Cd "options TERMINAL_KERN_ATTR=<attribute>" +.Cd "options TERMINAL_NORM_ATTR=<attribute>" +.Cd "options VT_MAXWINDOWS=<N>" .Cd "options VT_ALT_TO_ESC_HACK=1" .Cd "options VT_TWOBUTTON_MOUSE" -.Cd "options VT_FB_MAX_WIDTH=X" -.Cd "options VT_FB_MAX_HEIGHT=Y" +.Cd "options VT_FB_MAX_WIDTH=<X>" +.Cd "options VT_FB_MAX_HEIGHT=<Y>" .Cd "options SC_NO_CUTPASTE" .Cd "device vt" .Pp In .Xr loader.conf 5 : -.Cd hw.vga.textmode=1 -.Cd hw.vga.acpi_ignore_no_vga=1 -.Cd kern.vty=vt -.Cd kern.vt.color.<colornum>.rgb="<colorspec>" -.Cd kern.vt.fb.default_mode="<X>x<Y>" -.Cd kern.vt.fb.modes.<connector>="<X>x<Y>" -.Cd kern.vt.slow_down=<delay>" -.Cd screen.font="<X>x<Y>" +.Cd "hw.vga.textmode=1" +.Cd "hw.vga.acpi_ignore_no_vga=1" +.Cd "kern.vty=vt" +.Cd "kern.vt.color.<colornum>.rgb=<colorspec>" +.Cd "kern.vt.fb.default_mode=<X>x<Y>" +.Cd "kern.vt.fb.modes.<connector>=<X>x<Y>" +.Cd "kern.vt.slow_down=<delay>" +.Cd "screen.font=<X>x<Y>" .Pp In .Xr loader.conf 5 or @@ -130,8 +130,8 @@ These kernel options control the .Nm driver. .Bl -tag -width MAXCONS -.It Dv TERMINAL_NORM_ATTR= Ns Pa attribute -.It Dv TERMINAL_KERN_ATTR= Ns Pa attribute +.It Dv TERMINAL_NORM_ATTR=<attribute> +.It Dv TERMINAL_KERN_ATTR=<attribute> These options change the default colors used for normal and kernel text. Available colors are defined in @@ -139,7 +139,7 @@ Available colors are defined in See .Sx EXAMPLES below. -.It Dv VT_MAXWINDOWS=N +.It Dv VT_MAXWINDOWS=<N> Set the number of virtual terminals to be created to .Fa N . The value defaults to 12. @@ -152,10 +152,10 @@ In effect, this makes the right-hand mouse button perform a paste. These options are checked in the order shown. .It Dv SC_NO_CUTPASTE Disable mouse support. -.It VT_FB_MAX_WIDTH=X +.It VT_FB_MAX_WIDTH=<X> Set the maximum width to .Fa X . -.It VT_FB_MAX_HEIGHT=Y +.It VT_FB_MAX_HEIGHT=<Y> Set the maximum height to .Fa Y . .El @@ -166,7 +166,7 @@ console device, These options will be removed in a future .Fx version. -.Bl -column -offset indent ".Sy vt VT_TWOBUTTON_MOUSE" ".Sy SC_TWOBUTTON_MOUSE" +.Bl -column -offset indent "TERMINAL_KERN_ATTR" "SC_KERNEL_CONS_ATTR" .It Sy vt Option Name Ta Sy sc Option Name .It Dv TERMINAL_KERN_ATTR Ta Dv SC_KERNEL_CONS_ATTR .It Dv TERMINAL_NORM_ATTR Ta Dv SC_NORM_ATTR @@ -230,7 +230,7 @@ Note that is not compatible with .Xr UEFI 8 boot. -.It Va kern.vt.color. Ns Ar colornum Ns Va .rgb +.It Va kern.vt.color. Ns Ar colornum Ns . Ns Va rgb Set this value to override default palette entry for color .Pa colornum which should be in a range from 0 to 15 inclusive. @@ -245,15 +245,15 @@ Note: The .Nm VGA hardware driver does not support palette configuration. .It Va kern.vt.fb.default_mode -Set this value to a graphic mode to override the default mode picked by the +Set this value to a graphic mode to override the default picked by the .Nm backend. The mode is applied to all output connectors. This is currently only supported by the .Cm vt_fb backend when it is paired with a KMS video driver. -.It Va kern.vt.fb.modes. Ns Pa connector_name -Set this value to a graphic mode to override the default mode picked by the +.It Va kern.vt.fb.modes.<connector_name> +Set this value to a graphic mode to override the default picked by the .Nm backend. This mode is applied to the output connector diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index 8954e872c231..a9ae823257a4 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -27,7 +27,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd July 9, 2025 +.Dd July 30, 2025 .Dt PF.CONF 5 .Os .Sh NAME @@ -392,50 +392,37 @@ See .Xr zone 9 for an explanation of memory pools. .Pp -For example, -.Bd -literal -offset indent -set limit states 20000 -.Ed -.Pp -sets the maximum number of entries in the memory pool used by state table -entries (generated by +Limits can be set on the following: +.Bl -tag -width pktdelay_pkts +.It Cm states +Set the maximum number of entries in the memory pool used by state table +entries (those generated by .Ar pass rules which do not specify -.Ar no state ) -to 20000. -Using -.Bd -literal -offset indent -set limit frags 20000 -.Ed -.Pp -sets the maximum number of entries in the memory pool used for fragment -reassembly (generated by the -.Ar set reassemble -option or -.Ar scrub -rules) to 20000. -Using -.Bd -literal -offset indent -set limit src-nodes 2000 -.Ed -.Pp -sets the maximum number of entries in the memory pool used for tracking +.Cm no state ) . +The default is 100000. +.It Cm src-nodes +Set the maximum number of entries in the memory pool used for tracking source IP addresses (generated by the .Ar sticky-address and .Ar src.track -options) to 2000. -Using -.Bd -literal -offset indent -set limit table-entries 100000 -.Ed -.Pp -sets the limit on the overall number of addresses that can be stored -in tables to 100000. +options). +The default is 10000. +.It Cm table-entries +Set the number of addresses that can be stored in tables. +The default is 200000. +.It Cm anchors +Set the number of anchors that can exist. +The default is 512. +.It Cm eth-anchors +Set the number of anchors that can exist. +The default is 512. +.El .Pp -Various limits can be combined on a single line: +Multiple limits can be combined on a single line: .Bd -literal -offset indent -set limit { states 20000, frags 20000, src-nodes 2000 } +set limit { states 20000, frags 2000, src-nodes 2000 } .Ed .It Ar set ruleset-optimization .Bl -tag -width xxxxxxxx -compact @@ -855,7 +842,15 @@ modifier to ensure unique IP identifiers. .It Ar min-ttl Aq Ar number Enforces a minimum TTL for matching IP packets. .It Ar max-mss Aq Ar number -Enforces a maximum MSS for matching TCP packets. +Reduces the maximum segment size (MSS) +on TCP SYN packets to be no greater than +.Ar number . +This is sometimes required in scenarios where the two endpoints +of a TCP connection are not able to carry similar sized packets +and the resulting mismatch can lead to packet fragmentation or loss. +Note that setting the MSS this way can have undesirable effects, +such as interfering with the OS detection features of +.Xr pf 4 . .It Xo Ar set-tos Aq Ar string .No \*(Ba Aq Ar number .Xc diff --git a/share/man/man5/rc.conf.5 b/share/man/man5/rc.conf.5 index de2181d638d1..5084e43f97c4 100644 --- a/share/man/man5/rc.conf.5 +++ b/share/man/man5/rc.conf.5 @@ -22,7 +22,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd July 15, 2025 +.Dd August 10, 2025 .Dt RC.CONF 5 .Os .Sh NAME @@ -2932,13 +2932,6 @@ is set to these are the flags to pass to the .Xr rpc.yppasswdd 8 daemon. -.It Va rpc_ypupdated_enable -.Pq Vt bool -If set to -.Dq Li YES , -run the -.Nm rpc.ypupdated -daemon at system boot time. .It Va bsnmpd_enable .Pq Vt bool If set to diff --git a/share/man/man5/src.conf.5 b/share/man/man5/src.conf.5 index a3db00aed42f..2e694bfe3293 100644 --- a/share/man/man5/src.conf.5 +++ b/share/man/man5/src.conf.5 @@ -1,5 +1,5 @@ .\" DO NOT EDIT-- this file is @generated by tools/build/options/makeman. -.Dd July 14, 2025 +.Dd August 8, 2025 .Dt SRC.CONF 5 .Os .Sh NAME @@ -411,8 +411,8 @@ Build clang-format. .It Va WITHOUT_CLANG_FULL Avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of the Clang C/C++ compiler. -.It Va WITH_CLEAN -Clean before building world and/or kernel. +.It Va WITHOUT_CLEAN +Do not clean before building world and/or kernel. .It Va WITHOUT_CPP Do not build .Xr cpp 1 . @@ -1302,8 +1302,8 @@ This must be set in the environment, make command line, or .Pa /etc/src-env.conf , not .Pa /etc/src.conf . -.It Va WITH_MITKRB5 -Set this to build MIT Kerberos 5 instead of KTH Heimdal. +.It Va WITHOUT_MITKRB5 +Set this to build KTH Heimdal instead of MIT Kerberos 5. .It Va WITHOUT_MLX5TOOL Do not build .Xr mlx5tool 8 diff --git a/share/man/man7/build.7 b/share/man/man7/build.7 index 0aae2c42ac04..4022b915c972 100644 --- a/share/man/man7/build.7 +++ b/share/man/man7/build.7 @@ -25,7 +25,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.Dd March 8, 2025 +.Dd August 8, 2025 .Dt BUILD 7 .Os .Sh NAME @@ -667,8 +667,12 @@ This is currently incompatible with building .Pa src into .Cm packages . -.Bd -literal -offset indent -make PORTS_MODULES=emulators/virtualbox-ose-kmod kernel +Each port must be specified as +.Ar category Ns Li / Ns Ar port Ns Op Li @ Ns Ar flavor , +e.g. +.Bd -literal +PORTS_MODULES=graphics/gpu-firmware-intel-kmod@kabylake +PORTS_MODULES+=graphics/drm-66-kmod .Ed .It Va LOCAL_MODULES A list of external kernel modules that should be built and installed diff --git a/share/man/man7/named_attribute.7 b/share/man/man7/named_attribute.7 index 4080dfce2fab..a0599ef71496 100644 --- a/share/man/man7/named_attribute.7 +++ b/share/man/man7/named_attribute.7 @@ -3,7 +3,7 @@ .\" .\" SPDX-License-Identifier: BSD-2-Clause .\" -.Dd July 20, 2025 +.Dd August 5, 2025 .Dt NAMED_ATTRIBUTE 7 .Os .Sh NAME @@ -153,6 +153,31 @@ property to will make the attribute(s) visible as both named attributes and via .Xr extattr 2 . +.It +For ZFS, it is also possible to create two attributes with the same +name by creating one when the ZFS +.Dv xattr +property is set to +.Dq sa +and then creating another one with the same name after the ZFS +property +.Dv xattr +has been changed to +.Dq dir . +The one created when the ZFS +.Dv xattr +property is set to +.Dq sa +may be removed via +.Xr rmextattr 8 . +.It +To avoid these issues for ZFS, it is strongly recommended that the ZFS +property +.Dv xattr +be set to +.Dq dir +as soon as the file system is created, if named attributes +are to be used on the file system. .El .Pp The named attribute mechanism/system call interface provides certain @@ -288,7 +313,8 @@ enters the named attribute directory for the file object .Xr truncate 2 , .Xr unlinkat 2 , .Xr write 2 , -.Xr zfsprops 7 +.Xr zfsprops 7 , +.Xr rmextattr 8 .Sh HISTORY This interface first appeared in .Fx 15.0 . diff --git a/share/man/man7/simd.7 b/share/man/man7/simd.7 index d5092348d9b3..2c3ed3de411e 100644 --- a/share/man/man7/simd.7 +++ b/share/man/man7/simd.7 @@ -24,7 +24,7 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE . -.Dd November 18, 2024 +.Dd July 29, 2025 .Dt SIMD 7 .Os .Sh NAME @@ -50,48 +50,43 @@ can be used to override this mechanism. .Pp Enhanced functions are present for the following architectures: .Bl -column FUNCTION_________ aarch64_ arm_ amd64_ i386_ ppc64_ -offset indent -.It Em FUNCTION Ta Em AARCH64 Ta Em ARM Ta Em AMD64 Ta Em I386 Ta Em PPC64 -.It bcmp Ta A Ta Ta S1 Ta S -.It bcopy Ta A Ta S Ta S Ta S Ta SV -.It bzero Ta A Ta S Ta S Ta S -.It div Ta Ta Ta S Ta S +.It Em FUNCTION Ta Em AARCH64 Ta Em ARM Ta Em AMD64 Ta Em PPC64 +.It bcmp Ta A Ta Ta S1 +.It bcopy Ta A Ta S Ta S Ta SV +.It bzero Ta A Ta S Ta S +.It div Ta Ta Ta S .It index Ta A Ta Ta S1 -.It ldiv Ta Ta Ta S Ta S +.It ldiv Ta Ta Ta S .It lldiv Ta Ta Ta S .It memchr Ta A Ta Ta S1 -.It memcmp Ta A Ta S Ta S1 Ta S +.It memcmp Ta A Ta S Ta S1 .It memccpy Ta A Ta Ta S1 -.It memcpy Ta A Ta S Ta S Ta S Ta SV -.It memmove Ta A Ta S Ta S Ta S Ta SV +.It memcpy Ta A Ta S Ta S Ta SV +.It memmove Ta A Ta S Ta S Ta SV .It memrchr Ta A Ta Ta S1 -.It memset Ta A Ta S Ta S Ta S -.It rindex Ta A Ta Ta S1 Ta S +.It memset Ta A Ta S Ta S +.It rindex Ta A Ta Ta S1 .It stpcpy Ta A Ta Ta S1 .It stpncpy Ta Ta Ta S1 -.It strcat Ta A Ta Ta S1 Ta S -.It strchr Ta A Ta Ta S1 Ta S +.It strcat Ta A Ta Ta S1 +.It strchr Ta A Ta Ta S1 .It strchrnul Ta A Ta Ta S1 -.It strcmp Ta A Ta S Ta S1 Ta S -.It strcpy Ta A Ta Ta S1 Ta S Ta S2 +.It strcmp Ta A Ta S Ta S1 +.It strcpy Ta A Ta Ta S1 Ta S2 .It strcspn Ta S Ta Ta S2 .It strlcat Ta A Ta Ta S1 .It strlcpy Ta A Ta Ta S1 .It strlen Ta A Ta S Ta S1 .It strncat Ta A Ta Ta S1 -.It strncmp Ta A Ta S Ta S1 Ta S -.It strncpy Ta Ta Ta S1 Ta Ta S2 +.It strncmp Ta A Ta S Ta S1 +.It strncpy Ta Ta Ta S1 Ta S2 .It strnlen Ta A Ta Ta S1 -.It strrchr Ta A Ta Ta S1 Ta S +.It strrchr Ta A Ta Ta S1 .It strpbrk Ta S Ta Ta S2 .It strsep Ta S Ta Ta S2 .It strspn Ta S Ta Ta S2 -.It swab Ta Ta Ta Ta S .It timingsafe_bcmp Ta A Ta Ta S1 .It timingsafe_memcmp Ta S Ta Ta S -.It wcschr Ta Ta Ta Ta S -.It wcscmp Ta Ta Ta Ta S -.It wcslen Ta Ta Ta Ta S -.It wmemchr Ta Ta Ta Ta S .El .Pp .Sy S Ns :\ scalar (non-SIMD), diff --git a/share/man/man9/cpuset.9 b/share/man/man9/cpuset.9 index 20485059a4c8..0ca04f921f82 100644 --- a/share/man/man9/cpuset.9 +++ b/share/man/man9/cpuset.9 @@ -22,7 +22,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd September 23, 2022 +.Dd August 7, 2025 .Dt CPUSET 9 .Os .Sh NAME @@ -50,8 +50,10 @@ .Nm CPU_ANDNOT , .Nm CPU_XOR , .Nm CPU_CLR_ATOMIC , +.Nm CPU_TEST_CLR_ATOMIC , .Nm CPU_SET_ATOMIC , .Nm CPU_SET_ATOMIC_ACQ , +.Nm CPU_TEST_SET_ATOMIC , .Nm CPU_AND_ATOMIC , .Nm CPU_OR_ATOMIC , .Nm CPU_COPY_STORE_REL @@ -93,8 +95,10 @@ .Fn CPU_XOR "cpuset_t *dst" "cpuset_t *src1" "cpuset_t *src2" .\" .Fn CPU_CLR_ATOMIC "size_t cpu_idx" "cpuset_t *cpuset" +.Fn CPU_TEST_CLR_ATOMIC "size_t cpu_idx" "cpuset_t *cpuset" .Fn CPU_SET_ATOMIC "size_t cpu_idx" "cpuset_t *cpuset" .Fn CPU_SET_ATOMIC_ACQ "size_t cpu_idx" "cpuset_t *cpuset" +.Fn CPU_TEST_SET_ATOMIC "size_t cpu_idx" "cpuset_t *cpuset" .\" .Fn CPU_AND_ATOMIC "cpuset_t *dst" "cpuset_t *src" .Fn CPU_OR_ATOMIC "cpuset_t *dst" "cpuset_t *src" @@ -143,6 +147,10 @@ The .Fn CPU_CLR_ATOMIC macro is identical, but the bit representing the CPU is cleared with atomic machine instructions. +The +.Fn CPU_TEST_CLR_ATOMIC +macro atomically clears the bit representing the CPU and returns whether it +was set. .Pp The .Fn CPU_COPY @@ -176,6 +184,10 @@ machine instructions. The .Fn CPU_SET_ATOMIC_ACQ macro sets the bit representing the CPU with atomic acquire semantics. +The +.Fn CPU_TEST_SET_ATOMIC +macro atomically sets the bit representing the CPU and returns whether it was +set. .Pp The .Fn CPU_ISSET diff --git a/share/man/man9/pci.9 b/share/man/man9/pci.9 index 8f772e76ba99..eeb62a63a2bd 100644 --- a/share/man/man9/pci.9 +++ b/share/man/man9/pci.9 @@ -664,10 +664,14 @@ Buses in this state can cause devices to lose some context. Devices .Em must be prepared for the bus to be in this state or higher. -.It Dv PCI_POWERSTATE_D3 +.It Dv PCI_POWERSTATE_D3_HOT State in which the device is off and not running. Device context is lost, and power from the device can -be removed. +be (but is not necessarily) removed. +.It Dv PCI_POWERSTATE_D3_COLD +Same as +.Dv PCI_POWERSTATE_D3_HOT , +except power has been removed from the device. .It Dv PCI_POWERSTATE_UNKNOWN State of the device is unknown. .El diff --git a/share/misc/Makefile b/share/misc/Makefile index d92a359ec367..4ddc910c891e 100644 --- a/share/misc/Makefile +++ b/share/misc/Makefile @@ -2,8 +2,9 @@ .PATH: ${.CURDIR}/../../sys/dev/usb +FILESGROUPS= FILES FILES= ascii birthtoken bsd-family-tree committers-doc.dot committers-ports.dot \ - committers-src.dot flowers init.ee \ + committers-src.dot flowers \ iso3166 iso639 latin1 mdoc.template operator pci_vendors \ scsi_modes usb_vendors \ organization.dot @@ -15,4 +16,11 @@ FILES+= usb_hid_usages FILES+= usbdevs .endif +.if ${MK_EE} != "no" +FILESGROUPS+= EE +EE= init.ee +EEDIR= ${FILESDIR} +EEPACKAGE= ee +.endif + .include <bsd.prog.mk> diff --git a/share/misc/bsd-family-tree b/share/misc/bsd-family-tree index 07f79008257f..3f13f72de17e 100644 --- a/share/misc/bsd-family-tree +++ b/share/misc/bsd-family-tree @@ -980,6 +980,15 @@ URL: https://web.archive.org/web/20090427195917/http://ezine.daemonnews.org/2001 ("what are the differences between FreeBSD, NetBSD, and OpenBSD?") +End-of-Life (EOL) +----------------- +The FreeBSD family tree shows when a release was published. +If you would like to know when the support ends, just look at +https://www.freebsd.org/security/#sup and +https://www.freebsd.org/security/unsupported +For other operating systems, see https://endoflife.date + + Acknowledgments --------------- @@ -989,5 +998,5 @@ original BSD announcements from Usenet or tapes. Steven M. Schultz for providing 2.8BSD, 2.10BSD, 2.11BSD manual pages. -- -Copyright (c) 1997-2024 Wolfram Schneider <wosch@FreeBSD.org> +Copyright (c) 1997-2025 Wolfram Schneider <wosch@FreeBSD.org> URL: https://cgit.freebsd.org/src/tree/share/misc/bsd-family-tree diff --git a/share/mk/bsd.confs.mk b/share/mk/bsd.confs.mk index ea702cece28d..77b573c7e42c 100644 --- a/share/mk/bsd.confs.mk +++ b/share/mk/bsd.confs.mk @@ -49,7 +49,7 @@ ${group}TAGS+= package=${PACKAGE:Uutilities} . endif . endif ${group}TAGS+= config -${group}TAG_ARGS= -T ${${group}TAGS:[*]:S/ /,/g} +${group}TAG_ARGS= -T ${${group}TAGS:ts,:[*]} . endif diff --git a/share/mk/bsd.dirs.mk b/share/mk/bsd.dirs.mk index 317ff61cd604..1f81bda80eab 100644 --- a/share/mk/bsd.dirs.mk +++ b/share/mk/bsd.dirs.mk @@ -22,7 +22,7 @@ ${dir}_FLAG= -f ${${dir}_FLAGS} . if !defined(${dir}TAGS) || ! ${${dir}TAGS:Mpackage=*} ${dir}TAGS+= package=${${dir}PACKAGE:Uutilities} . endif -${dir}TAG_ARGS= -T ${${dir}TAGS:[*]:S/ /,/g} +${dir}TAG_ARGS= -T ${${dir}TAGS:ts,:[*]} . endif installdirs: installdirs-${dir} diff --git a/share/mk/bsd.doc.mk b/share/mk/bsd.doc.mk index ea8c68e87d50..675639db7611 100644 --- a/share/mk/bsd.doc.mk +++ b/share/mk/bsd.doc.mk @@ -82,7 +82,7 @@ TRFLAGS+= -t .if !defined(TAGS) || ! ${TAGS:Mpackage=*} TAGS+= package=${PACKAGE:Uutilities} .endif -TAG_ARGS= -T ${TAGS:[*]:S/ /,/g} +TAG_ARGS= -T ${TAGS:ts,:[*]} .endif DCOMPRESS_EXT?= ${COMPRESS_EXT} diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk index aedc414d6a28..3ec4da010577 100644 --- a/share/mk/bsd.files.mk +++ b/share/mk/bsd.files.mk @@ -39,14 +39,14 @@ STAGE_SETS+= ${group:C,[/*],_,g} .if ${group} == "FILES" FILESPACKAGE?= ${PACKAGE:Uutilities} -FILESTAGS+= ${TAGS} +FILESTAGS+= ${TAGS:Npackage=*} .endif .if defined(NO_ROOT) .if !defined(${group}TAGS) || ! ${${group}TAGS:Mpackage=*} -${group}TAGS+= package=${${group}PACKAGE:Uutilities} +${group}TAGS+= package=${${group}PACKAGE:U${PACKAGE:Uutilities}} .endif -${group}TAG_ARGS= -T ${${group}TAGS:[*]:S/ /,/g} +${group}TAG_ARGS= -T ${${group}TAGS:ts,:[*]} .endif diff --git a/share/mk/bsd.incs.mk b/share/mk/bsd.incs.mk index df4cf4641141..848ee0aa2ea9 100644 --- a/share/mk/bsd.incs.mk +++ b/share/mk/bsd.incs.mk @@ -37,7 +37,7 @@ ${group}TAGS+= package=${${group}PACKAGE:Uutilities},dev ${group}TAGS+= package=${PACKAGE:Uutilities},dev .endif .endif -${group}TAG_ARGS= -T ${${group}TAGS:[*]:S/ /,/g} +${group}TAG_ARGS= -T ${${group}TAGS:ts,:[*]} .endif _${group}INCS= diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 01dd979af155..3013f32c2b36 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -72,7 +72,7 @@ TAGS+= lib${_libcompat} .if !defined(TAGS) || ! ${TAGS:Mpackage=*} TAGS+= package=${PACKAGE:Uutilities} .endif -TAG_ARGS= -T ${TAGS:[*]:S/ /,/g} +TAG_ARGS= -T ${TAGS:ts,:[*]} .endif # ELF hardening knobs diff --git a/share/mk/bsd.links.mk b/share/mk/bsd.links.mk index 437ffd0d3b34..509520a24a3a 100644 --- a/share/mk/bsd.links.mk +++ b/share/mk/bsd.links.mk @@ -7,7 +7,7 @@ .if !defined(TAGS) || ! ${TAGS:Mpackage=*} TAGS+= package=${PACKAGE} .endif -TAG_ARGS= -T ${TAGS:[*]:S/ /,/g} +TAG_ARGS= -T ${TAGS:ts,:[*]} .endif afterinstall: _installlinks diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk index a5a4fd528268..66155d1b4cd9 100644 --- a/share/mk/bsd.man.mk +++ b/share/mk/bsd.man.mk @@ -114,7 +114,7 @@ ${__group}TAGS+= package=${${__group}PACKAGE:U${PACKAGE:Uutilities}}-man .endif .endif -${__group}TAG_ARGS= -T ${${__group}TAGS:[*]:S/ /,/g} +${__group}TAG_ARGS= -T ${${__group}TAGS:ts,:[*]} .endif # defined(NO_ROOT) ${__group}INSTALL?= ${INSTALL} ${${__group}TAG_ARGS} \ @@ -137,13 +137,15 @@ ZEXT= CLEANFILES+= ${${__group}:T:S/$/${FILTEXTENSION}/g} CLEANFILES+= ${${__group}:T:S/$/${CATEXT}${FILTEXTENSION}/g} .for __page in ${${__group}} -.for __target in ${__page:T:S/$/${FILTEXTENSION}/g} +# Escape colons in target names to support manual pages whose +# filenames contain colons. +.for __target in ${__page:T:S/:/\:/g:S/$/${FILTEXTENSION}/g} all-man: ${__target} ${__target}: ${__page} ${MANFILTER} < ${.ALLSRC} > ${.TARGET} .endfor .if defined(MANBUILDCAT) && !empty(MANBUILDCAT) -.for __target in ${__page:T:S/$/${CATEXT}${FILTEXTENSION}/g} +.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}${FILTEXTENSION}/g} all-man: ${__target} ${__target}: ${__page} ${MANFILTER} < ${.ALLSRC} | ${MANDOC_CMD} > ${.TARGET} @@ -156,7 +158,7 @@ ${__target}: ${__page} CLEANFILES+= ${${__group}:T:S/$/${CATEXT}/g} .if defined(MANBUILDCAT) && !empty(MANBUILDCAT) .for __page in ${${__group}} -.for __target in ${__page:T:S/$/${CATEXT}/g} +.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}/g} all-man: ${__target} ${__target}: ${__page} ${MANDOC_CMD} ${.ALLSRC} > ${.TARGET} @@ -176,7 +178,7 @@ ZEXT= ${MCOMPRESS_EXT} CLEANFILES+= ${${__group}:T:S/$/${MCOMPRESS_EXT}/g} CLEANFILES+= ${${__group}:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g} .for __page in ${${__group}} -.for __target in ${__page:T:S/$/${MCOMPRESS_EXT}/} +.for __target in ${__page:T:S/:/\:/g:S/$/${MCOMPRESS_EXT}/} all-man: ${__target} ${__target}: ${__page} .if defined(MANFILTER) @@ -186,7 +188,7 @@ ${__target}: ${__page} .endif .endfor .if defined(MANBUILDCAT) && !empty(MANBUILDCAT) -.for __target in ${__page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/} +.for __target in ${__page:T:S/:/\:/g:S/$/${CATEXT}${MCOMPRESS_EXT}/} all-man: ${__target} ${__target}: ${__page} .if defined(MANFILTER) @@ -286,11 +288,11 @@ manlinksinstall-${__group}: .endif .endfor -manlint: +manlint: .PHONY checkmanlinks .if defined(${__group}) && !empty(${__group}) .for __page in ${${__group}} -manlint: ${__page}lint -${__page}lint: ${__page} +manlint: ${__page:S/:/\:/g}lint +${__page:S/:/\:/g}lint: .PHONY ${__page} .if defined(MANFILTER) ${MANFILTER} < ${.ALLSRC} | ${MANDOC_CMD} -Tlint .else @@ -299,4 +301,18 @@ ${__page}lint: ${__page} .endfor .endif +checkmanlinks: .PHONY +.if defined(${__group}LINKS) +checkmanlinks: checkmanlinks-${__group} +checkmanlinks-${__group}: .PHONY +.for __page __link in ${${__group}LINKS} +checkmanlinks-${__group}: checkmanlinks-${__group}-${__link} +checkmanlinks-${__group}-${__link}: .PHONY ${__page} + @if ! egrep -q "^(\.\\\\\" )?\.Nm ${__link:R}( ,)?$$" ${.ALLSRC}; then \ + echo "${__group}LINKS: '.Nm ${__link:R}' not found in ${__page}"; \ + exit 1; \ + fi >&2 +.endfor # __page __link in ${${__group}LINKS} +.endif # defined(${__group}LINKS) + .endfor # __group in ${MANGROUPS} diff --git a/share/mk/bsd.mkopt.mk b/share/mk/bsd.mkopt.mk index f93101544bf7..4d67ba04294d 100644 --- a/share/mk/bsd.mkopt.mk +++ b/share/mk/bsd.mkopt.mk @@ -19,14 +19,6 @@ # If both WITH_FOO and WITHOUT_FOO are defined, WITHOUT_FOO wins and # MK_FOO is set to "no" regardless of which list it was in. # -# All of __DEFAULT_YES_OPTIONS, __DEFAULT_NO_OPTIONS and -# __DEFAULT_DEPENDENT_OPTIONS are undef'd after all this processing, -# allowing this file to be included multiple times with different lists. -# -# Other parts of the build system will set BROKEN_OPTIONS to a list -# of options that are broken on this platform. This will not be unset -# before returning. Clients are expected to always += this variable. -# # Users should generally define WITH_FOO or WITHOUT_FOO, but the build # system should use MK_FOO={yes,no} when it needs to override the # user's desires or default behavior. @@ -35,6 +27,19 @@ # defined and __FOO_DEFAULT if not. Valid values for FOO are specified # by __FOO_OPTIONS. # +# All of __REQUIRED_OPTIONS, __DEFAULT_DEPENDENT_OPTIONS, +# __DEFAULT_YES_OPTIONS, __DEFAULT_NO_OPTIONS, and __SINGLE_OPTIONS +# are undef'd after all this processing, allowing this file to be +# included multiple times with different lists. However, we keep +# deduplicated lists of these options in similarly-named variables +# without the leading underscores (i.e. FOO_OPTIONS is the complete +# deduplicated list of all values of __FOO_OPTIONS across all +# invokations of this file). +# +# Other parts of the build system will set BROKEN_OPTIONS to a list +# of options that are broken on this platform. This will not be unset +# before returning. Clients are expected to always += this variable. +# # Other parts of the build system will set BROKEN_SINGLE_OPTIONS to a # list of 3-tuples of the form: "OPTION broken_value replacment_value". # This will not be unset before returning. Clients are expected to @@ -42,6 +47,33 @@ # # +# These variables accumulate all the options from our possibly +# multiple callers so they're available to build tools such as +# tools/build/options/makeman. +# +DEFAULT_NO_OPTIONS+=${__DEFAULT_NO_OPTIONS} +DEFAULT_NO_OPTIONS:=${DEFAULT_NO_OPTIONS:O:u} +DEFAULT_YES_OPTIONS+=${__DEFAULT_YES_OPTIONS} +DEFAULT_YES_OPTIONS:=${DEFAULT_YES_OPTIONS:O:u} +DEFAULT_DEPENDENT_OPTIONS+=${__DEFAULT_DEPENDENT_OPTIONS} +DEFAULT_DEPENDENT_OPTIONS:=${DEFAULT_DEPENDENT_OPTIONS:O:u} +REQUIRED_OPTIONS+=${__REQUIRED_OPTIONS} +REQUIRED_OPTIONS:=${REQUIRED_OPTIONS:O:u} +SINGLE_OPTIONS+=${__SINGLE_OPTIONS} +SINGLE_OPTIONS:=${SINGLE_OPTIONS:O:u} + +# +# All options defined by our caller; we will undef this before +# returning. +# +__ALL_OPTIONS:= \ + ${__DEFAULT_NO_OPTIONS} \ + ${__DEFAULT_YES_OPTIONS} \ + ${__REQUIRED_OPTIONS} \ + ${__DEFAULT_DEPENDENT_OPTIONS:H} \ + ${__SINGLE_OPTIONS} + +# # MK_* options which default to "yes". # .for var in ${__DEFAULT_YES_OPTIONS} @@ -72,6 +104,7 @@ MK_${var}:= yes .endif MK_${var}:= yes .endfor +.undef __REQUIRED_OPTIONS # # MK_* options which default to "no". @@ -142,3 +175,22 @@ MK_${vv:H}?= ${MK_${vv:T}} MK_${vv:H}:= ${MK_${vv:H}} .endfor .undef __DEFAULT_DEPENDENT_OPTIONS + +# +# Define SRC_OPT_DEFS and SRC_OPT_LIST +# +SRC_OPT_DEFS?=-D__${MACHINE_ARCH}__ +SRC_OPT_LIST?=TARGET=${MACHINE} TARGET_ARCH=${MACHINE_ARCH} +.for option in ${__ALL_OPTIONS:O:u} +.if defined(OPT_${option}) +SRC_OPT_DEFS+=-D${option}=${OPT_${option}:Q} +SRC_OPT_LIST+=${option}=${OPT_${option}:Q} +.elif ${MK_${option}} == yes +SRC_OPT_DEFS+=-D${option} +SRC_OPT_LIST+=WITH_${option}=1 +.elif ${MK_${option}} == no +SRC_OPT_DEFS+=-U${option} +SRC_OPT_LIST+=WITHOUT_${option}=1 +.endif +.endfor +.undef __ALL_OPTIONS diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk index f44556ef9b75..9350d4786cec 100644 --- a/share/mk/bsd.prog.mk +++ b/share/mk/bsd.prog.mk @@ -129,7 +129,7 @@ STRIP?= -s .if !defined(TAGS) || ! ${TAGS:Mpackage=*} TAGS+= package=${PACKAGE:Uutilities} .endif -TAG_ARGS= -T ${TAGS:[*]:S/ /,/g} +TAG_ARGS= -T ${TAGS:ts,:[*]} .endif .if defined(NO_SHARED) && ${NO_SHARED:tl} != "no" diff --git a/share/mk/src.init.mk b/share/mk/src.init.mk index 01ea5437e5a7..fd3f3501f609 100644 --- a/share/mk/src.init.mk +++ b/share/mk/src.init.mk @@ -3,7 +3,7 @@ __<src.init.mk>__: .NOTMAIN .if !target(buildenv) -buildenv: .PHONY +buildenv: .PHONY .NOTMAIN ${_+_}@env BUILDENV_DIR=${.CURDIR} ${MAKE} -C ${SRCTOP} buildenv .endif diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk index 0fe352dffaf4..9ca043e7733c 100644 --- a/share/mk/src.libnames.mk +++ b/share/mk/src.libnames.mk @@ -78,6 +78,7 @@ _INTERNALLIBS= \ smdb \ smutil \ telnet \ + util++ \ vers \ wpaap \ wpacommon \ @@ -471,7 +472,11 @@ _DP_ncursesw= tinfow _DP_formw= ncursesw _DP_nvpair= spl _DP_panelw= ncursesw +.if ${MK_MITKRB5} == "no" _DP_rpcsec_gss= gssapi +.else +_DP_rpcsec_gss= gssapi_krb5 +.endif _DP_smb= kiconv _DP_ulog= md _DP_fifolog= z @@ -694,6 +699,9 @@ LIBPKGECC?= ${LIBPKGECCDIR}/libpkgecc${PIE_SUFFIX}.a LIBPMCSTATDIR= ${_LIB_OBJTOP}/lib/libpmcstat LIBPMCSTAT?= ${LIBPMCSTATDIR}/libpmcstat${PIE_SUFFIX}.a +LIBUTIL++DIR= ${_LIB_OBJTOP}/lib/libutil++ +LIBUTIL++?= ${LIBUTIL++DIR}/libutil++${PIE_SUFFIX}.a + LIBWPAAPDIR= ${_LIB_OBJTOP}/usr.sbin/wpa/src/ap LIBWPAAP?= ${LIBWPAAPDIR}/libwpaap${PIE_SUFFIX}.a diff --git a/share/mk/src.opts.mk b/share/mk/src.opts.mk index ef43d3c939b2..6000da865332 100644 --- a/share/mk/src.opts.mk +++ b/share/mk/src.opts.mk @@ -80,6 +80,7 @@ __DEFAULT_YES_OPTIONS = \ CDDL \ CLANG \ CLANG_BOOTSTRAP \ + CLEAN \ CPP \ CROSS_COMPILER \ CRYPT \ @@ -200,7 +201,6 @@ __DEFAULT_NO_OPTIONS = \ BHYVE_SNAPSHOT \ CLANG_EXTRAS \ CLANG_FORMAT \ - CLEAN \ DIALOG \ DETECT_TZ_CHANGES \ DISK_IMAGE_TOOLS_BOOTSTRAP \ diff --git a/share/syscons/Makefile.inc b/share/syscons/Makefile.inc index 07cde30e3d52..d4635b273f40 100644 --- a/share/syscons/Makefile.inc +++ b/share/syscons/Makefile.inc @@ -1 +1 @@ -FILESPACKAGE= syscons +FILESPACKAGE= syscons-data diff --git a/share/syscons/fonts/Makefile b/share/syscons/fonts/Makefile index e1b6614b5684..ba3341da87e3 100644 --- a/share/syscons/fonts/Makefile +++ b/share/syscons/fonts/Makefile @@ -1,5 +1,3 @@ -PACKAGE= syscons-data - FILES= armscii8-8x8.fnt armscii8-8x14.fnt armscii8-8x16.fnt \ cp437-8x8.fnt cp437-8x14.fnt cp437-8x16.fnt \ cp437-thin-8x8.fnt cp437-thin-8x16.fnt \ diff --git a/share/syscons/keymaps/Makefile b/share/syscons/keymaps/Makefile index 139834abcd2b..bf0099288a19 100644 --- a/share/syscons/keymaps/Makefile +++ b/share/syscons/keymaps/Makefile @@ -1,5 +1,3 @@ -PACKAGE= syscons-data - FILES= INDEX.keymaps \ be.iso.kbd be.iso.acc.kbd \ bg.bds.ctrlcaps.kbd bg.phonetic.ctrlcaps.kbd \ diff --git a/share/syscons/scrnmaps/Makefile b/share/syscons/scrnmaps/Makefile index 8da31ed32be4..ffbd6be3df4d 100644 --- a/share/syscons/scrnmaps/Makefile +++ b/share/syscons/scrnmaps/Makefile @@ -1,5 +1,3 @@ -PACKAGE= syscons-data - SCRMAPS = armscii8-2haik8.scm \ iso-8859-1_to_cp437.scm iso-8859-4_for_vga9.scm \ iso-8859-7_to_cp437.scm \ |