[Bug 253989] freebsd-update: workdir should default to ${basedir}/var/db/freebsd-update

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Mar 3 16:48:05 UTC 2021


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=253989

            Bug ID: 253989
           Summary: freebsd-update: workdir should default to
                    ${basedir}/var/db/freebsd-update
           Product: Base System
           Version: CURRENT
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: bin
          Assignee: bugs at FreeBSD.org
          Reporter: asomers at FreeBSD.org

freebsd-update works quite well in tandem with boot environments.  When doing
minor upgrades (e.g. 12.0 -> 12.1), I can complete the entire upgrade in the BE
and then boot into an upgraded system.  But it's a little less convenient when
doing major upgrades, because one must do "freebsd-update install" a final time
after reinstalling ports, which must happen after the reboot.  The sequence
looks like this:

# bectl create 13.0-BETA3
# bectl mount 13.0-BETA3
# freebsd-update -b /tmp/whatever -d /tmp/whatever/var/db/freebsd-update
upgrade -r 13.0-RELEASE
# freebsd-update -b /tmp/whatever -d /tmp/whatever/var/db/freebsd-update
install
# freebsd-update -b /tmp/whatever -d /tmp/whatever/var/db/freebsd-update
install
# reboot
# pkg update
# pkg upgrade
# freebsd-update install

It's easy to accidentally forget the "-d" argument.  If you do that, then the
final "freebsd-update install" won't work, and the only remedy is to revert to
the old boot environment and try again.

I propose that freebsd-update's workdir should default to
${BASEDIR}/var/db/freebsd-update .  That would eliminate the need to specify
"-d" in most cases, and it would be backwards compatible with the common use
case where "-b" is not specified.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list