The future of freebsd-update post 15.0 isn't totally clear. There have been proposals to remove it in 15.0. IMO we can't remove it outright, since may be needed in order to upgrade 13.x and 14.x jails on a 15.0 host. It is also a shame to lose a simple upgrade utility that is well-documented and that many users are familiar with; compare "freebsd-update upgrade -r 14.3-RELEASE" with the upgrade instructions on the pkgbase wiki page.
pkgbase offers a lot of flexibility but I suspect many users don't need it; they need a one-shot "upgrade my system, please" utility that will automatically create a boot environment, configure pkg repositories as needed for major/minor/security upgrades, fetch packages, and handle package installation order (i.e., kernel first, followed by a reboot). I don't really think this functionality belongs in pkg itself. So, seeing as freebsd-update already handles some of the above, and users are already familiar with it, I propose extending freebsd-update to work in a pkgbase world. Users would be free to not use it and instead use pkg directly if they so desire, but this would provide a simple alternative to those who don't want or need that flexibility. I'm going to try implementing this, if only to see if there are any unexpected issues that come up. Feedback would be appreciated, both on the proposal itself and on any technical hurdles you see. Aside from the internal changes needed to make freebsd-update subcommands use pkg, I see a few tasks and requirements: - freebsd-update should be able to bootstrap pkgbase; in practice, I think this means that we should import pkgbaseify and make freebsd-update able to run it if the user so requests. - freebsd-update should possibly live in its own pkgbase package so that it can upgrade itself before the rest of the system. - freebsd-update should configure a pkgbase repository using a file in /etc/pkg, disabled by default so that regular "pkg upgrade" doesn't try to touch the base system. I'm not sure yet how repository configurations should be managed: should they be dynamically generated, or should we provide some bundle of configurations (e.g., one for every supported release), or? - We need to figure out how to handle freebsd-update.conf options which don't make sense in a pkgbase world.