Date: Wed, 20 Aug 2025 01:15:37 +0300 From: Vadim Goncharov <vadimnuclight@gmail.com> To: Mark Johnston <markj@freebsd.org> Cc: freebsd-pkgbase@freebsd.org, freebsd-arch@freebsd.org, re@freebsd.org Subject: Re: freebsd-update and pkgbase Message-ID: <20250820011537.7a3ccb3e@nuclight.lan> In-Reply-To: <aKSgDAqct9o1MiNZ@nuc> References: <aJPGX9zXE3MeiuhP@nuc> <aKSgDAqct9o1MiNZ@nuc>
index | next in thread | previous in thread | raw e-mail
On Tue, 19 Aug 2025 12:02:20 -0400 Mark Johnston <markj@freebsd.org> wrote: > Adding freebsd-arch@ and re@ to see if anyone not on -pkgbase has > opinions here. > > On Wed, Aug 06, 2025 at 05:17:19PM -0400, Mark Johnston wrote: > > 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). Of course. As was said earlier, the whole pkgbase idea in it's current form is harmful, leading to unexpected breakages etc. after mass deployment, not mentioning not very good quality of pkg itself. The whole distinction between base and ports (packages) is (was) major FreeBSD strength, compared to Linux distros or just plain "zfs delete /usr/local" if something goes wrong. May be freebsd-update will be redone to be just a frontend to pkg, may be some other way, but the whole wall between base and ports must continue to exist. I think it probably should be even special fork of pkg(8) for pkgbase, just as private (renamed) versions of some ports libraries exist in the base (like sqlite or expat). One of reasons for this is different pace of development of pkg and base support policy for several years - ports have no more than 3 months and can afford breakages of pkg itself. > > 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. +1 > > 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. What if it will get broken after update? > > - 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. See above, that should be fork of pkg so e.g. /etc/pkgbase name. -- WBR, @nuclighthome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20250820011537.7a3ccb3e>
