[Bug 289368] If $BASEDIR is undefined, then refusal to run freebsd-update is ineffective on a pkgbase system

From: <bugzilla-noreply_at_freebsd.org>
Date: Mon, 08 Sep 2025 13:04:22 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289368

--- Comment #6 from Mark Millard <marklmi26-fbsd@yahoo.com> ---
(In reply to Ed Maste from comment #4)
(In reply to Dave Cottlehuber from comment #2)

# sh -x /usr/sbin/freebsd-update fetch
+ CONFIGOPTIONS='KEYPRINT WORKDIR SERVERNAME MAILTO ALLOWADD ALLOWDELETE
    KEEPMODIFIEDMETADATA COMPONENTS IGNOREPATHS UPDATEIFUNMODIFIED
    BASEDIR VERBOSELEVEL TARGETRELEASE STRICTCOMPONENTS MERGECHANGES
    IDSIGNOREPATHS BACKUPKERNEL BACKUPKERNELDIR BACKUPKERNELSYMBOLFILES'
+ export
'PATH=/sbin:/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/home/root/bin'
+ [ -z less ]
+ export 'LC_ALL=C'
+ unset GREP_OPTIONS
+ check_pkgbase
+ pkg -c -N
+ return
. . .

Note the lack of anything between the -c and the -N in the pkg command
executed by check_pkgbase .

Note: This was executed on pkgbase'd stable/14 chroot. For
reference:

# uname -apKU
FreeBSD 7950X3D-ZFS 15.0-PRERELEASE FreeBSD 15.0-PRERELEASE
main-n279819-6ea7e1f92882 GENERIC-NODEBUG amd64 amd64 1500063 1403506


The cotnrast with main 15 is calling get_params before
calling check_pkgbase :

. . .
# Parse command line options and the configuration file.
get_params "$@"

# Disallow use with packaged base.
if check_pkgbase; then
        cat <<EOF
freebsd-update is incompatible with the use of packaged base.  Please see
https://wiki.freebsd.org/PkgBase for more information.
EOF
        exit 1
fi

get_params initializes BASEDIR

-- 
You are receiving this mail because:
You are on the CC list for the bug.