Re: best practices for updating?

From: Emmanuel Vadot <manu_at_bidouilliste.com>
Date: Mon, 12 Jul 2021 10:05:52 UTC
 Hi Chuck,

On Thu, 8 Jul 2021 12:03:20 -0700
Chuck Tuffli <ctuffli@gmail.com> wrote:

> Hi
> 
> I'm new to pkgbase and am running into problems with pkg upgrade of
> the base packages. I should note that this is my first update of base.
> 
> I installed the system from a -CURRENT snapshot USB image and boot
> strapped it using the HOWTO [1] from alpha.pkgbase.live
> This process went smoothly, and the system has been running well.
> Yesterday I tried to upgrade, but both attempts resulted in a
> non-operational system. The first attempt did a naive pkg upgrade -r
> FreeBSD-base. There were error messages indicating mismatched
> libraries and other odd things. My guess was doing the upgrade in one
> step failed because of an ABI mismatch between user space applications
> and the kernel.
> 
> So I rolled back to the previous boot environment upgraded the kernel
> package, rebooted, and upgraded the remaining components. The kernel
> upgrade seemed to work, but upgrading the user space components
> resulted in a non-booting system with errors from /etc/rc about
> missing /sbin/sysctl and kenv (which appears to be true).
> 
> My question is, what step(s) did I miss when doing the upgrade?
> 
> [1] https://alpha.pkgbase.live/howto/bootstrap.html
> 
> --chuck
> 

 What I do on my systems is :

 pkg upgrade --fetch-only
 bectl create XXX
 pkg upgrade FreeBSD-kernel-generic (or FreeBSD-kernel-generic-nodebug
on some machines)
 nextboot -o "-s"
 shutdown -r now
 pkg upgrade FreeBSD-clibs (this takes care on ABI mismatch or new
syscalls)
 pkg upgrade FreeBSD-runtime
 pkg upgrade -r base

 There is sometimes some others step needed when we move stuff from
packages to packages or creates new packages
(https://cgit.freebsd.org/src/commit/UPDATING?id=1c2ab28f598a9598b3c50d9001c70ff51f88e445
is a good example of such workaround sometimes needed).

 Cheers,

-- 
Emmanuel Vadot <manu@bidouilliste.com> <manu@freebsd.org>