15.0: commands such as 'freebsd-update fetch' may be non-responsive on a freshly-installed system

From: Graham Perrin <grahamperrin_at_gmail.com>
Date: Mon, 08 Sep 2025 23:36:29 UTC
From <https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=289368#c5> 
(off-topic from stable/14):

> IIRC (without wishing to confuse this RELEASE report): no response 
> when I ran a freebsd-update command on pkgbase ALPHA1, so I keyed 
> Control-C. 


Reproducible. No response to 'freebsd-update fetch' on a 
freshly-installed system.

I realised what was wrong after also getting no response to this (with 
piping):

pkg prime-origins | grep base | wc -l

Details in the typescript below. Initially, I thought of it as an edge 
case. Now, I'm in two minds.


For the essence of what's in the typescript, I see no need to change
usr.sbin/freebsd-update/freebsd-update.sh


Instead, the installer for 15.0 should:

- not just install FreeBSD-pkg-bootstrap

- install pkg(8), so that bootstrapping is not required.

Possible?


----

Script started on Sun Sep  7 22:05:08 2025
root@alpha-pkgbase-zfs:~ # echo $SHELL

/bin/csh
root@alpha-pkgbase-zfs:~ # uname -mvKU

FreeBSD 15.0-PRERELEASE main-n280086-851dc7f859c2 GENERIC amd64 1500063 
1500063
root@alpha-pkgbase-zfs:~ # freebsd-update fetch

load: 0.17  cmd: pkg 1993 [ttyin] 7.36r 0.00u 0.00s 0% 6716k
mi_switch+0x172 sleepq_switch+0x109 sleepq_catch_signals+0x276 
sleepq_wait_sig+0x9 _cv_wait_sig+0x165 tty_wait+0x42 ttydisc_read+0x2dd 
ttydev_read+0x6c devfs_read_f+0xe4 dofileread+0x80 sys_read+0x127 
amd64_syscall+0x169 fast_syscall_common+0xf8
load: 0.14  cmd: pkg 1993 [ttyin] 16.12r 0.00u 0.00s 0% 6716k
mi_switch+0x172 sleepq_switch+0x109 sleepq_catch_signals+0x276 
sleepq_wait_sig+0x9 _cv_wait_sig+0x165 tty_wait+0x42 ttydisc_read+0x2dd 
ttydev_read+0x6c devfs_read_f+0xe4 dofileread+0x80 sys_read+0x127 
amd64_syscall+0x169 fast_syscall_common+0xf8
^C

root@alpha-pkgbase-zfs:~ # pkg prime-origins | grep base | wc -l

load: 0.07  cmd: wc 1996 [piperd] 9.92r 0.00u 0.00s 0% 3164k
mi_switch+0x172 sleepq_switch+0x109 sleepq_catch_signals+0x276 
sleepq_wait_sig+0x9 _sleep+0x29b pipe_read+0x450 dofileread+0x80 
sys_read+0x127 amd64_syscall+0x169 fast_syscall_common+0xf8
load: 0.06  cmd: wc 1996 [piperd] 20.76r 0.00u 0.00s 0% 3164k
mi_switch+0x172 sleepq_switch+0x109 sleepq_catch_signals+0x276 
sleepq_wait_sig+0x9 _sleep+0x29b pipe_read+0x450 dofileread+0x80 
sys_read+0x127 amd64_syscall+0x169 fast_syscall_common+0xf8
^C

root@alpha-pkgbase-zfs:~ # pkg

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]: y
Bootstrapping pkg from 
pkg+https://pkg.FreeBSD.org/FreeBSD:15:amd64/latest, please wait...
Verifying signature with trusted certificate 
pkg.freebsd.org.2013102301... done
Installing pkg-2.2.2...
Extracting pkg-2.2.2:   0%
…
Extracting pkg-2.2.2: 100%
pkg: not enough arguments
Usage: pkg [-v] [-d] [-l] [-N] [-j <jail name or id>|-c <chroot path>|-r 
<rootdir>] [-C <configuration file>] [-R <repo config dir>] [-o 
var=value] [-4|-6] <command> [<args>]

For more information on available commands and options see 'pkg help'.
root@alpha-pkgbase-zfs:~ # pkg prime-origins | grep base | wc -l

      566
root@alpha-pkgbase-zfs:~ # freebsd-update fetch

freebsd-update is incompatible with the use of packaged base. Please see
https://wiki.freebsd.org/PkgBase for more information.
root@alpha-pkgbase-zfs:~ # exit

exit

Script done on Sun Sep  7 22:07:46 2025