Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
244 commits
Select commit Hold shift + click to select a range
4c87cff
libm: remainder: make sure x is zero
VexedUXR Oct 10, 2025
53eda63
zfs: Emit warning upon use of legacy sysctls
emaste Oct 9, 2025
330b918
sys/rpc: UNIX auth: Rename 'ngroups' => 'supp_ngroups' for clarity
OlCe2 Oct 7, 2025
f647564
sys/rpc: UNIX auth: Fix OOB accesses, notably writes on decode
OlCe2 Oct 7, 2025
ed62b31
sys/rpc: Define AUTH_SYS_MAX_{GROUPS,HOSTNAME}
OlCe2 Oct 7, 2025
fc3b621
sys/rpc: UNIX auth: Use AUTH_SYS_MAX_{GROUPS,HOSTNAME} as limits (1/2)
OlCe2 Oct 7, 2025
d14f6f1
sys/rpc: UNIX auth: Use AUTH_SYS_MAX_{GROUPS,HOSTNAME} as limits (2/2)
OlCe2 Oct 7, 2025
f96df7e
sys/rpc: UNIX auth: Fix OOB reads on too short message
OlCe2 Oct 7, 2025
082e48e
sys/rpc: UNIX auth: Support XDR_FREE
OlCe2 Oct 13, 2025
2dda215
sys/rpc: UNIX auth: Style: Remove unnecessary headers, minor changes
OlCe2 Oct 7, 2025
77a00e8
sys/rpc: UNIX auth: Do not log on bogus AUTH_SYS messages
OlCe2 Oct 14, 2025
8f5eb72
packages: Compress in parallel
cperciva Oct 12, 2025
6fc227a
Ping: Make build reproducible
cperciva Oct 13, 2025
dc5aae1
release: Switch back to latest packages for now
cperciva Oct 17, 2025
b5d5181
pkg-stage: Correct /packages permissions
emaste Oct 15, 2025
8d2dcf9
vmimage.subr: Add missing directories to METALOG
cperciva Oct 17, 2025
b05f153
unix/stream: repair SO_SNDTIMEO
glebius Oct 15, 2025
4940dc8
socket(2): refactor the manual page
glebius Oct 14, 2025
46d39e9
sockstat: show path state column only when useful
tuexen Oct 9, 2025
25d7786
sockstat: improve handling of path state
tuexen Oct 14, 2025
7060c79
vm_object: Reset kvo_path on each iteration in vm_object_list_handler()
markjdb Oct 10, 2025
cb75271
vm_object: Export the number of wired pages in vm_object_list_handler()
markjdb Oct 10, 2025
ecce77b
vmstat: Print the number of wired pages in each object
markjdb Oct 10, 2025
bdb41ce
certctl.8: Update documentation of BUNDLE
markjdb Oct 14, 2025
1ae34f2
linker: Make it easier to find the VNET section layout
markjdb Oct 3, 2025
3edefa7
15.0: Update to BETA2
cperciva Oct 17, 2025
a441f8e
release.7: Update RPI example + CHROOTDIR + SPDX
concussious Oct 16, 2025
0798de7
nvd.4: Add a HARDWARE section for HW Relnotes
concussious Oct 16, 2025
a4198ef
tcp: bump max snd buffer size for autoscaling
tuexen Oct 15, 2025
a95febd
tcp: bump max rcv buffer size for autoscaling
tuexen Oct 15, 2025
aa2f726
socket: bump socket buffer limit to 8MB
tuexen Oct 15, 2025
7cd9d3f
vmrun.sh: Don't require firmware on amd64 unless -E was specified
markjdb Oct 16, 2025
e3bd658
login.conf: Remove never used ignoretime/ignoretime@
Sep 6, 2019
5773d05
manpages: Use canonical names for Linux filesystems
michael-o Oct 17, 2025
30b015e
linprocfs: Add nodes for inotify
markjdb Oct 17, 2025
9554bb1
vm: Fix iterator usage in vm_thread_stack_create()
markjdb Oct 16, 2025
b15ff72
vm_domainset: Ensure round-robin works properly
OlCe2 Sep 25, 2025
07d7f0e
fwget: pci: mediatek: correct package name
Oct 13, 2025
71f065a
dc(4): fix argument to if_foreach_llmaddr() for 21143.
kiwichris Oct 17, 2025
cafb77e
pci: add quirk to disable Function-Level Reset (FLR)
Sep 25, 2025
e27e5b6
release: split up Oracle Cloudware tools
dch Oct 20, 2025
98c5396
inpcb: Ignore SO_REUSEPORT_LB on connected sockets
markjdb Oct 6, 2025
aaf0414
so_reuseport_lb_test: Add a test case for connected UDP sockets
markjdb Oct 22, 2025
c43777c
Add UPDATING entries and bump version
markjdb Oct 22, 2025
06e48a8
vmimage.subr: Fix when/where we fix up METALOG
cperciva Oct 19, 2025
6f1622d
Revert "release: Switch back to latest packages for now"
cperciva Oct 22, 2025
74cd979
release: Add pkg .conf to METALOG on dvd
cperciva Oct 19, 2025
90cbdfa
bsdinstall: Use pkgbase release URL for BETA/RC
emaste Oct 20, 2025
945500c
exec: Check for errors when mapping the shared object
markjdb Oct 14, 2025
eaafcf8
ipfw: Check for errors from sooptcopyin() and sooptcopyout()
markjdb Oct 14, 2025
95f60a3
libnv: Fix a length check in nvpair_unpack_string_array()
markjdb Oct 15, 2025
b1faa50
imgact_elf: Check note body sizes
markjdb Oct 15, 2025
0948c4d
libc: Add "Z" as TZ designator for strptime.
tetlowgm Oct 15, 2025
f138688
pf: fix 'no rdr'
kprovost Oct 18, 2025
e01c7d0
bsd.man.mk: Support MANGROUPS.yes
llfw Oct 17, 2025
ecaa234
tar: Move to the utilities package
llfw Oct 17, 2025
72fbd38
ncurses: Move utilities to the ncurses package
llfw Oct 17, 2025
1998d70
Makefile: Don't allow install{world,kernel} with pkgbase
llfw Oct 17, 2025
7bdd04a
libc: Import OpenBSD's inet_net_{ntop,pton}
llfw Oct 18, 2025
257376b
LinuxKPI: add __counted_by_le() and __counted_by_be()
Oct 11, 2025
8c34b2e
LinuxKPI: add three skeleton functions to etherdevice.h
Oct 11, 2025
b691171
LinuxKPI: platform_device return type change
Oct 11, 2025
1a71288
LinuxKPI: device_driver add (*coredump)()
Oct 11, 2025
5440f67
LinuxKPI: add fips.h
Oct 17, 2025
18bb10c
LinuxKPI: add skeleton pci_enable_wake()
Oct 17, 2025
4a2f779
LinuxKPI: page_pool headers moved; add netmem.h
Oct 19, 2025
6457853
LinuxKPI: soc/mediatek add pr_debug calls
Oct 19, 2025
f6fe2cf
LinuxKPI: skbuff: add a misplaced socket operation to skbuff.h for now
Oct 11, 2025
70d9247
LinuxKPI: netdevice add attach/detach skeleton functions
Oct 17, 2025
3435388
LinuxKPI: 802.11: additions for Linux v6.17 based wireless drivers
Oct 11, 2025
2c40d6e
UPDATING: bump __FreeBSD_version for LinuxKPI changes
Oct 20, 2025
369ef36
sockstat: fix column length for PROTO
tuexen Oct 20, 2025
24718d1
dtb: sort by vendor on riscv
mhorne Oct 20, 2025
f2c15ac
riscv: build allwinner DTBs
mhorne Oct 20, 2025
a4eedfc
riscv: build starfive JH7110 DTBs
mhorne Oct 20, 2025
a653824
packages: Update the METALOG when (un)installing the caroot package
markjdb Oct 22, 2025
0fc5b40
15.0: Update to BETA3
cperciva Oct 23, 2025
9c31c1a
include/stdckdint.h: make the header compatible with C++
kostikbel Oct 17, 2025
595ddf0
inet_net_test: Compare pointers against nullptr
bsdjhb Oct 20, 2025
42cf7ea
inet_net_test: Use int to hold expected return values from inet_net_pton
bsdjhb Oct 20, 2025
9c14848
UDP: let udp_pcblist() support UDP and UDP-Lite
tuexen Oct 20, 2025
573270b
UDP-Lite: export pcblist via sysctl interface
tuexen Oct 23, 2025
7201675
netstat: add support for UDP-Lite endpoints
tuexen Oct 23, 2025
978615d
sockstat: add support for UDP-Lite endpoints
tuexen Oct 23, 2025
d9f8e8a
tcp over udp: don't copy more bytes than avaiable
tuexen Oct 23, 2025
5224542
find: fix pathnames printed by the SIGINFO handler
asomers Oct 19, 2025
30459f5
iwlwifi: update Intel's mvm/mld drivers
Oct 17, 2025
8bf92b4
rtw88: update Realtek's rtw88 driver
Oct 17, 2025
dd5a80b
rtw89: update Realtek's rtw89 driver
Oct 17, 2025
3dc891b
LinuxKPI: 802.11: additions for Linux v6.17 based wireless drivers
Oct 11, 2025
74a6de9
deadfs: Return ENXIO instead of EIO when the device is gone.
bsdphk Oct 24, 2025
470fae9
sndctl(8): Modify vchans only on supported directions
christosmarg Oct 22, 2025
6bf158d
zfs: merge openzfs/zfs@814f9afba (zfs-2.4-release) into stable/15
mmatuska Oct 25, 2025
ed0083d
zfs: update zfs_config.h and zfs_gitrev.h after ce7e1f86a (zfs-2.4.0-…
mmatuska Oct 25, 2025
f30ddc7
tcp rack: cleanup
peterlei Oct 24, 2025
df023b0
tcp: save progress timeout cause in connection end status
peterlei Oct 24, 2025
8376d05
x86: Reduce amount of time the MCA lock is held while emitting records
Oct 6, 2025
4db0093
unbound: Vendor import 1.24.0
cschuber Oct 7, 2025
fef4de6
local-unbound-setup: Set so-sndbuf to 0
dag-erling Oct 8, 2025
a988846
unbound: Vendor import 1.24.1
cschuber Oct 23, 2025
bdbb235
udp: honor IPV6_TCLASS socket option for UDP/IPv4 packets
tuexen Oct 26, 2025
54da444
udp: honor IPV6_TCLASS cmsg for UDP/IPv4 packets
tuexen Oct 26, 2025
71f94c1
tcp: improve credential handling in syncache
tuexen Oct 27, 2025
245d95c
sys/arm64: fix COMPAT_FREEBSD32 __syscall()
clausecker Oct 21, 2025
3c8ae8b
sys/arm: add fp[gs]et* prototypes to <ieeefp.h>
clausecker Oct 17, 2025
a91a62c
pt: Switch to swi(9)
bnovkov Aug 11, 2025
c40e634
release: Use PKG_CMD when installing pkgbase packages in vmimage.subr
markjdb Oct 23, 2025
81a98c3
netmap: Fix error handling in nm_os_extmem_create()
markjdb Oct 17, 2025
61d4640
fdisk: Bump removal to FreeBSD 16.0
emaste Oct 24, 2025
d67ed83
le(4): Update depreciation notice
emaste Oct 24, 2025
1dc5e05
sys: Bump GIANT device removal to 16.0
emaste Oct 24, 2025
c2c8f9d
sys: Bump non-ISA PNP removal to 16.0
emaste Oct 24, 2025
901603a
cam: Bump deprecated sysctl removal to 16
emaste Oct 24, 2025
392061b
agp.4: Bump deprecation to 16.0
emaste Oct 24, 2025
b17920a
upgt.4: bump removal to 16.0
emaste Oct 24, 2025
a085b67
getrlimitusage.2: Update HISTORY section
emaste Oct 24, 2025
6652930
closefrom.2: Add introduction of close_range to HISTORY
emaste Oct 21, 2025
883230a
ipfw: Update warning/error setsockopt references
emaste Oct 24, 2025
a986bf1
ipfw: Correct error message
emaste Oct 25, 2025
37580e6
ipfw: Remove IP_DUMMYNET_GET case
emaste Oct 24, 2025
87b73c2
ipfw: Remove more unused IP_FW_* cases
emaste Oct 25, 2025
9620ee8
jail: fix an error condition that was returned without setting errno.
Oct 21, 2025
c37d958
jail: fix a regression that creates zombies when removing dying jails
Oct 20, 2025
b39a387
libpfctl: Fix displaying deeply nested anchors
jlduran Oct 25, 2025
8ea3c27
MFV: Import blocklist 2025-10-25 (156df4f)
jlduran Oct 25, 2025
c4f2ac4
blocklist: blacklist: Chase recent upstream changes
jlduran Oct 25, 2025
4afb96f
MFV: Import blocklist 2025-10-26 (ff13526)
jlduran Oct 27, 2025
bc59efc
blocklist: blacklist: Chase recent upstream changes
jlduran Oct 27, 2025
4ae6078
Merge commit e24f90190c77 from llvm git (by Brad Smith):
DimitryAndric Oct 29, 2025
32b6de9
zlib: Move to a new zlib package
llfw Oct 28, 2025
84e42ef
packages: Install development manpages in the -dev package
llfw Oct 25, 2025
873f086
mandoc: Also run makewhatis for /usr/share/openssl/man
llfw Oct 25, 2025
2b0a1e6
packages: dhclient, local-unbound require resolvconf
llfw Oct 25, 2025
325663f
man: Conditionally install ar.5 in toolchain package
emaste Oct 3, 2025
a3fde3a
share/man/man5: Use MANGROUPS.yes
llfw Oct 25, 2025
bcb4095
packages: Put dhclient in the minimal-jail set
llfw Oct 25, 2025
ac849c0
flua: Move to a new flua package
llfw Oct 25, 2025
a3cf750
packages: Remove the /boot hack from mtree-to-plist.awk
llfw Oct 25, 2025
fcf8720
bsdlabel: Bump removal to FreeBSD 16.0.
emaste Oct 28, 2025
443258a
pmcstat: Remove no-op -k option
emaste Oct 28, 2025
660255b
ipfw: Retire obsolete compat code
emaste Oct 24, 2025
c824a13
release: Only check no-root/no-qemu when building
cperciva Oct 30, 2025
65a3f9c
pkg: Die if make -V BRANCH fails
cperciva Oct 30, 2025
e392a6d
id: Clean up
dag-erling Oct 28, 2025
02de2f3
id: Add -d and -s options
dag-erling Oct 28, 2025
ac84e69
rc.subr: Fix slow shutdown issue
dag-erling Oct 28, 2025
936ef70
pwait: Avoid calling getpid(2) for each proc.
bdrewery Oct 10, 2025
b763c11
pwait: Add an option to print remaining processes
dag-erling Oct 28, 2025
8cf76cb
w: Trim whitespace and commas from time and uptime
dag-erling Oct 23, 2025
6038432
quot: Fix benign buffer overflow
dag-erling Oct 17, 2025
b0fdefb
quot: Clean up
dag-erling Oct 17, 2025
dedf740
quot: Drop the COMPAT version
dag-erling Oct 17, 2025
08dda8c
quot: Drop the -h option
dag-erling Oct 17, 2025
1825be3
quot: Add tests
dag-erling Oct 17, 2025
201038a
quot: Make nusers unsigned
dag-erling Oct 20, 2025
4dc6fd2
realpath: Additional test cases
dag-erling Oct 13, 2025
38c42ca
realpath: Report correct path on failure
dag-erling Oct 13, 2025
8c478bb
realpath: Belatedly document POSIX conformance
dag-erling Oct 13, 2025
f0b1ca5
15.0: Update to BETA4
cperciva Oct 31, 2025
a7707f2
Revert "Merge commit e24f90190c77 from llvm git (by Brad Smith):"
cperciva Oct 31, 2025
1b7bd82
random: add RDSEED as a provably unique entropy source
Oct 17, 2025
4002a34
random: garbage collect the RANDOM_PURE_OCTEON entropy source
Oct 17, 2025
10858b0
snd_dummy: Round channel pointer after each write
christosmarg Oct 27, 2025
f38a2cf
nfs_nfsdserv.c: Add a sanity check for layout commit cnt
Oct 27, 2025
9c47506
nfs_clrpcops.c: Add sanity checks for the slot cnts
Oct 27, 2025
82579ee
nfs_clrpcops.c: Fix two possible large NFSM_DISSECT()s
Oct 27, 2025
5d37e69
nfs_clrpcops.c: Check for too large a write reply
Oct 27, 2025
e5fc5bc
nfs_commonsubs.c: Add a sanity check for nid_ngroup
Oct 28, 2025
8a0b57b
libarchive: merge from vendor branch
mmatuska Oct 21, 2025
c3f3b96
fusefs: fix page fault triggered by async notification when unmounted
asomers Oct 26, 2025
258cc34
bus_attach_children.9: fix typo
VexedUXR Oct 30, 2025
6bbf1d2
bsd.prog.mk: Skip warnings if compiler.mk was not included
emaste Oct 31, 2025
1d4a308
igb(4): Fix out-of-bounds register access on VFs
Oct 24, 2025
97fa2bf
ixl(4): fix multicast promiscuous mode state tracking and filter mana…
bf-ybhosale Oct 16, 2025
99fdcac
ice(4): Add PCI IDs for E835 devices
Oct 10, 2025
83a23ce
ice(4): Add support for E835-XXV-4 adapter
Oct 27, 2025
1445291
nvme: Add handling for bar5
jtranoleary Oct 28, 2025
0595e10
contrib/bsddialog: Import version 1.0.5
alfonsosiciliano Oct 9, 2025
88c5a49
ifconfig: Fix invalid free() in ifbridge
llfw Nov 4, 2025
593f5b2
static_libpam: Don't install pam.d.5 twice
llfw Nov 1, 2025
433730c
mtree: Remove stray an (Aironet) directory
jlduran Oct 22, 2025
eef41b0
mtree: Remove stray wi directory
jlduran Oct 22, 2025
6e1d440
mtree: Remove stray atm directory
jlduran Oct 22, 2025
72777e9
mld6: Properly initialize MLD packet options
bu7cher Nov 2, 2025
4e80f9f
dtrace/arm64: properly traverse the symbol table
kwitaszczyk Oct 28, 2025
290b9b6
id: Fix WITHOUT_AUDIT build
dag-erling Nov 2, 2025
508f9b6
ipfw: pmod: avoid further rule processing after tcp-mod failures
kevans91 Nov 1, 2025
8b1dd80
Update the installed manpages to match OpenSSL 3.5.1
ngie-eign Sep 7, 2025
2e31b96
crypto/openssl: apply polish to new vendor import process
ngie-eign Aug 22, 2025
136987f
crypto/openssl: update component to 3.5.3
ngie-eign Sep 22, 2025
27ae9da
crypto/openssl: update build artifacts for the 3.5.3 release
ngie-eign Sep 18, 2025
c0366f9
crypto/openssl: update to 3.5.4
ngie-eign Oct 4, 2025
af0eda4
crypto/openssl: update generated files to match 3.5.4 artifacts
ngie-eign Oct 7, 2025
a7c692e
openssl: add a simple smoke test for the legacy provider
ngie-eign Oct 11, 2025
1b0202b
crypto/openssl: remove autogenerated files
ngie-eign Oct 11, 2025
f7717bb
OpenSSL: install .pc files from the exporters subdir
ngie-eign Oct 11, 2025
054da4a
riscv: Treat pointer register as an input in fpe_store
bsdjhb Oct 30, 2025
2e2e70b
libcasper: Move everything to the libcasper package
llfw Nov 5, 2025
190e1cd
libkadm5clnt: Fix library symlink install
llfw Nov 4, 2025
011bfe6
packages: Make set-base-dbg depend on set-optional-dbg
llfw Nov 4, 2025
ba5626d
etc/mtree: Add package tags for /usr/include
llfw Nov 4, 2025
a711949
fusefs: respect the server's FUSE_SETXATTR_EXT flag
asomers Oct 26, 2025
914064c
fusefs: fix intermittency in the BadServer.ShortWrite test
asomers Oct 14, 2025
06edf53
fusefs: Fix intermittency in the BadServer.ShortWrite test case
asomers Oct 25, 2025
05c3c8c
pf: improve add state validation
kprovost Oct 29, 2025
1e5405d
pf: improve DIOCRCLRTABLES validation
kprovost Oct 29, 2025
c3a27fa
kern: Fix credentials leaks on RACCT but no RCTL
OlCe2 Oct 29, 2025
76fb5c2
setcred(): Fix RACCT resource accounting on credentials change
OlCe2 Oct 29, 2025
0888e32
release: Spell metalog_add_data conventionally
cperciva Nov 2, 2025
299dfb3
Makefile.incl1: .WAIT before distribute in etc
cperciva Nov 2, 2025
f438cf7
vmimage.subr: pkg autoremove after pkg install
cperciva Nov 3, 2025
f512ec4
release: GCE builds depend on ftp
cperciva Nov 3, 2025
dab5efb
release: Don't try to fetch distfiles for pkgbase
cperciva Nov 3, 2025
4291f03
release: Make fetch happen in GCE images
cperciva Nov 3, 2025
1860271
etc/mtree/BSD.include.dist: Remove libipt-dev
llfw Nov 6, 2025
3d59882
Add FENESTRASX to LINT to avoid breakage
Oct 17, 2025
08515bd
random: fenestrasX: Add missing entropy sources
Oct 23, 2025
7d106aa
random: CTASSERT check sizeof random_source_descr[]
Oct 22, 2025
6efc9b0
ifconfig.8: Mention max name length
wac- Oct 30, 2025
5f6d85c
gshsec.8: Fix list alignment, tag spdx
concussious Oct 30, 2025
02eabc4
bhyve.8: Correct description for -c flag, tag spdx
concussious Oct 30, 2025
d1ee21d
ice.4: Avoid first person language
brd Oct 3, 2025
3a63ca9
ice.4: Add ToC and E835 and editorial pass
concussious Nov 5, 2025
776626f
dumpon(8): Add a SYSCTL VARIABLES section
felixthered Nov 6, 2025
c66b978
ciss.4: Add p440ar to HARDWARE
concussious Nov 6, 2025
715cc30
sysrc.8: Rewrite examples for mdoc conformance
concussious Nov 6, 2025
58f2085
release: Comply with Azure Marketplace requirements for aarch64
lwhsu Nov 7, 2025
db99e6c
15.0: Update to BETA5
cperciva Nov 7, 2025
5bee2fd
libcrypto: Install tests in the tests package
llfw Nov 5, 2025
3447fc0
atf: Move the tests back to the tests package
llfw Nov 5, 2025
69c726c
virtio: Fix polling in virtqueue_dequeue()
markjdb Nov 4, 2025
854651d
release: Add WITHOUT_QEMU to IMAKE
cperciva Nov 7, 2025
ee234a8
freebsd-update: Swap pkg(8) flags in check_pkgbase()
markjdb Nov 6, 2025
40056e8
netlink: plug lock leak in genl_register_family()
brunoos Nov 8, 2025
0339b24
random: Have RANDOM_PURE_START be a cross-platform source
Nov 8, 2025
dd1ed08
openssh: Handle localtime_r() failure by return "UNKNOWN-TIME"
emaste Oct 31, 2025
e55b2f0
bsdinstall: Fix newfs bsddialog menu
emaste Nov 7, 2025
bd4cf77
tcp: drop SYN ACK segment for listening sockets
tuexen Nov 3, 2025
b91bf9f
vtnet: don't provide VIRTIO_NET_HDR_F_DATA_VALID
tuexen Nov 10, 2025
c50312b
vtnet: fix enabling/disabling tso
tuexen Nov 10, 2025
c5977a9
bsdinstall: Use fat32 EFI system partition for ZFS
emaste Nov 7, 2025
f490eae
LinuxKPI: 802.11: clear CONF_IDLE earlier
Nov 10, 2025
bee506b
Azure: Fix image names
cperciva Nov 11, 2025
b855515
Merge remote-tracking branch 'freebsd/releng/15.0' into releng/15.0-u…
ericbsd Nov 13, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
56 changes: 40 additions & 16 deletions Makefile.inc1
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,7 @@ SUBDIR+= ${_DIR}
# by calling 'makedb' in share/man. This is only relevant for
# install/distribute so they build the whatis file after every manpage is
# installed.
.if make(installworld) || make(install)
.if make(installworld) || make(install) || make(distributeworld) || make(distribute)
SUBDIR+=.WAIT
.endif
SUBDIR+=etc
Expand Down Expand Up @@ -600,7 +600,16 @@ PKG_VERSION:= ${_PKG_REVISION}${EXTRA_REVISION:C/[[:space:]]//g}
.endif
.endif # !defined(_MKSHOWCONFIG)

PKG_NAME_PREFIX?= FreeBSD
PKG_MAINTAINER?= re@FreeBSD.org
PKG_WWW?= https://www.FreeBSD.org
PKG_WORKERS_COUNT?= 1

.if make(*package*)
.export PKG_NAME_PREFIX
.export PKG_MAINTAINER
.export PKG_WWW

.if !defined(PKG_TIMESTAMP)
.if !empty(GIT_CMD) && exists(${GIT_CMD}) && exists(${SRCDIR}/.git)
SOURCE_DATE_EPOCH!= ${GIT_CMD} -C ${SRCDIR} show -s --format=%ct HEAD
Expand All @@ -611,14 +620,6 @@ SOURCE_DATE_EPOCH= ${TIMEEPOCHNOW:gmtime}
.else
SOURCE_DATE_EPOCH= ${PKG_TIMESTAMP}
.endif
PKG_WORKERS_COUNT?= 1

PKG_NAME_PREFIX?= FreeBSD
PKG_MAINTAINER?= re@FreeBSD.org
PKG_WWW?= https://www.FreeBSD.org
.export PKG_NAME_PREFIX
.export PKG_MAINTAINER
.export PKG_WWW
.endif

.if !defined(_MKSHOWCONFIG)
Expand Down Expand Up @@ -1366,6 +1367,28 @@ __installcheck_DESTDIR: .PHONY
.endif
.endif

#
# Don't allow installworld or installkernel on a pkgbase system. This avoids
# accidentally updating a pkgbase system with install{world,kernel}, causing
# the installed system to become out of date with the package database.
#
# Skip the check if DESTDIR is defined on the assumption the user knows what
# they're doing. This means the check can be disabled for the running system
# using DESTDIR=/.
#
.if !make(distributeworld) && !defined(DESTDIR)
_installcheck_world: __installcheck_PKG
_installcheck_kernel: __installcheck_PKG
__installcheck_PKG: .PHONY
.if exists(${LOCALBASE}/sbin/pkg-static)
@if ${LOCALBASE}/sbin/pkg-static info -e ${PKG_NAME_PREFIX}-runtime; then \
echo >&2 "ERROR: This target should not be used on a system installed from packages." ; \
echo >&2 " To override this check, set DESTDIR=/."; \
false; \
fi
.endif
.endif

.if !defined(DB_FROM_SRC)
#
# Check for missing UIDs/GIDs.
Expand Down Expand Up @@ -1977,6 +2000,7 @@ REPODIR?= ${OBJROOT}repo
PKG_FORMAT?= tzst
PKG_LEVEL?= -1
PKG_CLEVEL?= ${"${PKG_FORMAT:Mtar}" != "":?:-l ${PKG_LEVEL}}
PKG_CTHREADS?= 0
PKG_REPO_SIGNING_KEY?= # empty
PKG_OUTPUT_DIR?= ${PKG_VERSION}
PKG_ABI_FILE?= ${WSTAGEDIR}/usr/bin/uname
Expand Down Expand Up @@ -2157,7 +2181,7 @@ create-source-src-package: _pkgbootstrap .PHONY
${SSTAGEDIR}/src.ucl
${PKG_CMD} -o ABI=${PKG_ABI} \
-o OSVERSION="${SRCRELDATE}" \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${SSTAGEDIR}/src.ucl \
-p ${SSTAGEDIR}/src.plist \
-r ${SRCDIR} \
Expand All @@ -2183,7 +2207,7 @@ create-source-src-sys-package: _pkgbootstrap .PHONY
${SSTAGEDIR}/src-sys.ucl
${PKG_CMD} -o ABI=${PKG_ABI} \
-o OSVERSION="${SRCRELDATE}" \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${SSTAGEDIR}/src-sys.ucl \
-p ${SSTAGEDIR}/src-sys.plist \
-r ${SRCDIR} \
Expand Down Expand Up @@ -2226,7 +2250,7 @@ create-world-package-${pkgname}: .PHONY
fi
${PKG_CMD} -o ABI=${PKG_ABI} -o ALLOW_BASE_SHLIBS=yes \
-o OSVERSION="${SRCRELDATE}" \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${WSTAGEDIR}/${pkgname}.ucl \
-p ${WSTAGEDIR}/${pkgname}.plist \
-r ${WSTAGEDIR} \
Expand All @@ -2245,7 +2269,7 @@ create-sets-packages: .PHONY
@for manifest in ${WSTAGEDIR}/set-*.ucl; do \
echo "--> Processing manifest: $$manifest"; \
${PKG_CMD} -o ABI=${PKG_ABI} -o OSVERSION="${SRCRELDATE}" \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M $$manifest \
-o "${REPODIR}/${PKG_ABI}/${PKG_OUTPUT_DIR}" \
|| exit 1; \
Expand Down Expand Up @@ -2275,7 +2299,7 @@ create-dtb-package: .PHONY
${KSTAGEDIR}/${DISTDIR}/dtb.ucl ; \
${PKG_CMD} -o ABI=${PKG_ABI} -o ALLOW_BASE_SHLIBS=yes \
-o OSVERSION="${SRCRELDATE}" \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${KSTAGEDIR}/${DISTDIR}/dtb.ucl \
-p ${KSTAGEDIR}/${DISTDIR}/dtb.plist \
-r ${KSTAGEDIR}/${DISTDIR} \
Expand Down Expand Up @@ -2312,7 +2336,7 @@ create-kernel-packages-flavor${flavor:C,^""$,${_default_flavor},}: _pkgbootstrap
${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl ; \
${PKG_CMD} -o ABI=${PKG_ABI} -o ALLOW_BASE_SHLIBS=yes \
-o OSVERSION="${SRCRELDATE}" \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.ucl \
-p ${KSTAGEDIR}/${DISTDIR}/kernel.${INSTALLKERNEL}${flavor}.plist \
-r ${KSTAGEDIR}/${DISTDIR} \
Expand Down Expand Up @@ -2352,7 +2376,7 @@ create-kernel-packages-extra-flavor${flavor:C,^""$,${_default_flavor},}-${_kerne
${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl ; \
${PKG_CMD} -o ABI=${PKG_ABI} -o ALLOW_BASE_SHLIBS=yes \
-o OSVERSION="${SRCRELDATE}" \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} \
create -f ${PKG_FORMAT} ${PKG_CLEVEL} -T${PKG_CTHREADS} \
-M ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.ucl \
-p ${KSTAGEDIR}/kernel.${_kernel}/kernel.${_kernel}${flavor}.plist \
-r ${KSTAGEDIR}/kernel.${_kernel} \
Expand Down
15 changes: 15 additions & 0 deletions UPDATING
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,21 @@ Items affecting the ports and packages system can be found in
/usr/ports/UPDATING. Please read that file before updating system packages
and/or ports.

20251030:
flua(1) has moved to the new FreeBSD-flua package. If you use flua,
you may want to install this package if it's not otherwise installed
as a dependency of something else. This change only affects pkgbase
users.

20251023:
Bump __FreeBSD_version to 1500068 for LinuxKPI. An embedded struct
has changed size and might possibly be an issue otherwise.

20251022:
15.0-BETA2-p1 SA-25:09.netinet

SO_REUSEPORT_LB breaks connect(2) for UDP sockets. [SA-25:09.netinet]

20251015:
The "FreeBSD-unbound" package is renamed to "FreeBSD-local-unbound".
If you have set-optional or set-base installed, the new package will
Expand Down
6 changes: 4 additions & 2 deletions bin/pwait/pwait.1
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
.\" USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
.\" OF SUCH DAMAGE.
.\"
.Dd January 21, 2021
.Dd October 22, 2025
.Dt PWAIT 1
.Os
.Sh NAME
Expand All @@ -39,7 +39,7 @@
.Sh SYNOPSIS
.Nm
.Op Fl t Ar duration
.Op Fl ov
.Op Fl opv
.Ar pid
\&...
.Sh DESCRIPTION
Expand All @@ -51,6 +51,8 @@ The following option is available:
.Bl -tag -width indent
.It Fl o
Exit when any of the given processes has terminated.
.It Fl p
On exit, print a list of processes that have not terminated.
.It Fl t Ar duration
If any process is still running after
.Ar duration ,
Expand Down
102 changes: 68 additions & 34 deletions bin/pwait/pwait.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@

#include <sys/types.h>
#include <sys/event.h>
#include <sys/sysctl.h>
#include <sys/time.h>
#include <sys/tree.h>
#include <sys/wait.h>

#include <err.h>
Expand All @@ -46,10 +48,25 @@
#include <sysexits.h>
#include <unistd.h>

struct pid {
RB_ENTRY(pid) entry;
pid_t pid;
};

static int
pidcmp(const struct pid *a, const struct pid *b)
{
return (a->pid > b->pid ? 1 : a->pid < b->pid ? -1 : 0);
}

RB_HEAD(pidtree, pid);
static struct pidtree pids = RB_INITIALIZER(&pids);
RB_GENERATE_STATIC(pidtree, pid, entry, pidcmp);

static void
usage(void)
{
fprintf(stderr, "usage: pwait [-t timeout] [-ov] pid ...\n");
fprintf(stderr, "usage: pwait [-t timeout] [-opv] pid ...\n");
exit(EX_USAGE);
}

Expand All @@ -61,21 +78,28 @@ main(int argc, char *argv[])
{
struct itimerval itv;
struct kevent *e;
struct pid k, *p;
char *end, *s;
double timeout;
size_t sz;
long pid;
int i, kq, n, nleft, opt, status;
bool oflag, tflag, verbose;
pid_t mypid;
int i, kq, n, ndone, nleft, opt, pid_max, ret, status;
bool oflag, pflag, tflag, verbose;

oflag = false;
pflag = false;
tflag = false;
verbose = false;
memset(&itv, 0, sizeof(itv));

while ((opt = getopt(argc, argv, "ot:v")) != -1) {
while ((opt = getopt(argc, argv, "opt:v")) != -1) {
switch (opt) {
case 'o':
oflag = 1;
oflag = true;
break;
case 'p':
pflag = true;
break;
case 't':
tflag = true;
Expand Down Expand Up @@ -127,16 +151,18 @@ main(int argc, char *argv[])
usage();
}

kq = kqueue();
if (kq == -1) {
if ((kq = kqueue()) < 0)
err(EX_OSERR, "kqueue");
}

e = malloc((argc + tflag) * sizeof(struct kevent));
if (e == NULL) {
sz = sizeof(pid_max);
if (sysctlbyname("kern.pid_max", &pid_max, &sz, NULL, 0) != 0) {
pid_max = 99999;
}
if ((e = malloc((argc + tflag) * sizeof(*e))) == NULL) {
err(EX_OSERR, "malloc");
}
nleft = 0;
ndone = nleft = 0;
mypid = getpid();
for (n = 0; n < argc; n++) {
s = argv[n];
/* Undocumented Solaris compat */
Expand All @@ -145,35 +171,37 @@ main(int argc, char *argv[])
}
errno = 0;
pid = strtol(s, &end, 10);
if (pid < 0 || *end != '\0' || errno != 0) {
if (pid < 0 || pid > pid_max || *end != '\0' || errno != 0) {
warnx("%s: bad process id", s);
continue;
}
if (pid == getpid()) {
if (pid == mypid) {
warnx("%s: skipping my own pid", s);
continue;
}
for (i = 0; i < nleft; i++) {
if (e[i].ident == (uintptr_t)pid) {
break;
}
if ((p = malloc(sizeof(*p))) == NULL) {
err(EX_OSERR, NULL);
}
if (i < nleft) {
p->pid = pid;
if (RB_INSERT(pidtree, &pids, p) != NULL) {
/* Duplicate. */
free(p);
continue;
}
EV_SET(e + nleft, pid, EVFILT_PROC, EV_ADD, NOTE_EXIT, 0, NULL);
if (kevent(kq, e + nleft, 1, NULL, 0, NULL) == -1) {
if (errno != ESRCH)
err(EX_OSERR, "kevent()");
warn("%ld", pid);
if (oflag) {
exit(EX_OK);
}
RB_REMOVE(pidtree, &pids, p);
free(p);
ndone++;
} else {
nleft++;
}
}

if (nleft > 0 && tflag) {
if ((ndone == 0 || !oflag) && nleft > 0 && tflag) {
/*
* Explicitly detect SIGALRM so that an exit status of 124
* can be returned rather than 142.
Expand All @@ -188,7 +216,8 @@ main(int argc, char *argv[])
err(EX_OSERR, "setitimer");
}
}
while (nleft > 0) {
ret = EX_OK;
while ((ndone == 0 || !oflag) && ret == EX_OK && nleft > 0) {
n = kevent(kq, NULL, 0, e, nleft + tflag, NULL);
if (n == -1) {
err(EX_OSERR, "kevent");
Expand All @@ -198,29 +227,34 @@ main(int argc, char *argv[])
if (verbose) {
printf("timeout\n");
}
exit(124);
ret = 124;
}
pid = e[i].ident;
if (verbose) {
status = e[i].data;
if (WIFEXITED(status)) {
printf("%ld: exited with status %d.\n",
(long)e[i].ident,
WEXITSTATUS(status));
pid, WEXITSTATUS(status));
} else if (WIFSIGNALED(status)) {
printf("%ld: killed by signal %d.\n",
(long)e[i].ident,
WTERMSIG(status));
pid, WTERMSIG(status));
} else {
printf("%ld: terminated.\n",
(long)e[i].ident);
printf("%ld: terminated.\n", pid);
}
}
if (oflag) {
exit(EX_OK);
k.pid = pid;
if ((p = RB_FIND(pidtree, &pids, &k)) != NULL) {
RB_REMOVE(pidtree, &pids, p);
free(p);
ndone++;
}
--nleft;
}
}

exit(EX_OK);
if (pflag) {
RB_FOREACH(p, pidtree, &pids) {
printf("%d\n", p->pid);
}
}
exit(ret);
}
Loading
Loading