On my laptop I have three different BEs:
with
It looks like default's /usr/src was overwritten by one of the other two BEs:
otherwise I don't see how 14.3 source code may reference to 15.x . I then reinstalled 14.3 FreeBSD-src-sys and this is what I found:
That's half of them (15 instead of 30). Moreover, all of these instances are in "pkgsave" files:
Am I missing something obvious or is this really a bug in how BEs are handled in a pkgbase system, specifically /usr/src, which is a ZFS dataset?
Code:
[5:24][fmc000@tu45b-freebsd ~]$ bectl list
BE Active Mountpoint Space Created
FreeBSD-15.0-RELEASE - - 1.43G 2025-10-17 08:36
FreeBSD-15.0-STABLE - - 15.6G 2025-10-11 11:33
default NR / 31.0G 2025-06-24 14:32
[5:24][fmc000@tu45b-freebsd ~]$
default
being 14.3 . This morning I decided to update all of them and I found that FreeBSD-src-sys
was inconsistent:
Code:
[5:20][fmc000@tu45b-freebsd ~]$ doas pkg check -a
Checking all packages: 19%
FreeBSD-src-sys-14.snap20251020184531: checksum mismatch for /usr/src/sys/Makefile
FreeBSD-src-sys-14.snap20251020184531: checksum mismatch for /usr/src/sys/README.md
FreeBSD-src-sys-14.snap20251020184531: checksum mismatch for /usr/src/sys/amd64/Makefile
FreeBSD-src-sys-14.snap20251020184531: checksum mismatch for /usr/src/sys/amd64/acpica/acpi_machdep.c
FreeBSD-src-sys-14.snap20251020184531: checksum mismatch for /usr/src/sys/amd64/acpica/acpi_wakeup.c
...
FreeBSD-src-sys-14.snap20251020184531: checksum mismatch for /usr/src/sys/xen/xenbus/xenbusb.c
FreeBSD-src-sys-14.snap20251020184531: checksum mismatch for /usr/src/sys/xen/xenbus/xenbusb_back.c
FreeBSD-src-sys-14.snap20251020184531: checksum mismatch for /usr/src/sys/xen/xenbus/xenbusb_front.c
FreeBSD-src-sys-14.snap20251020184531: checksum mismatch for /usr/src/sys/xen/xenbus/xenbusvar.h
FreeBSD-src-sys-14.snap20251020184531: checksum mismatch for /usr/src/sys/xen/xenstore/xenstorevar.h
Checking all packages: 100%
[5:31][fmc000@tu45b-freebsd ~]$
Code:
[5:43][fmc000@tu45b-freebsd /usr/src/sys]$ find . -exec grep " 1500040" {} \;
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
[5:44][fmc000@tu45b-freebsd /usr/src/sys]$
Code:
[5:45][fmc000@tu45b-freebsd /usr/src/sys]$ find . -exec grep " 1500040" {} \;
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
#if __FreeBSD_version >= 1500040
[5:46][fmc000@tu45b-freebsd /usr/src/sys]$
Code:
[5:53][fmc000@tu45b-freebsd /usr/src/sys]$ doas find . -name "*.pkgsave" -exec rm {} \;
[5:53][fmc000@tu45b-freebsd /usr/src/sys]$ find . -exec grep " 1500040" {} \;
[5:54][fmc000@tu45b-freebsd /usr/src/sys]$ doas pkg check -a
Checking all packages: 100%
[5:57][fmc000@tu45b-freebsd /usr/src/sys]$
Am I missing something obvious or is this really a bug in how BEs are handled in a pkgbase system, specifically /usr/src, which is a ZFS dataset?
Code:
[5:57][fmc000@tu45b-freebsd /usr/src/sys]$ df -h .
Filesystem Type Size Used Avail Capacity Mounted on
zroot/usr/src zfs 13G 374M 13G 3% /usr/src
[6:01][fmc000@tu45b-freebsd /usr/src/sys]$