Re: PKGBASE Removes FreeBSD Base System Feature

From: David Chisnall <theraven_at_FreeBSD.org>
Date: Fri, 08 Aug 2025 13:47:34 UTC
On 8 Aug 2025, at 14:20, Santiago Martinez <sm@codenetworks.net> wrote:
> 
> For example “pkg upgrade -t base”, to act on FreeBSD base and “pkg upgrade” to perform actions on non-base packages.

You are assuming that there are two repositories.  Since its introduction, `pkg` has supported an unlimited number of repositories, and in a pkgbase world, I’d expect large-scale systems to have four:

 - Packages built from base.
 - Packages built from ports that are tied to the kernel version.
 - Packages built from ports that are expected to work across all of the supported base systems in a major release series.
 - Packages built from other sources for local deployment.

The last three exist today even without pkgbase.  There may also be other third-party (non-ports) package sets.

You can already act on a specific repository by passing -r to `pkg`.  The thing you seem to want is for *some* actions to not apply to all repositories.  I think that will lead to far more confusion in the long term.  For example:

If I do `pkg upgrade`, do you expect everything to be upgraded?  I do.  And if it doesn’t, I expect there will be a lot of confusion because a minor release dropping out of the support window will change the minimum requirements for the base system and so failing to upgrade base-system packages will cause breakage in packages built from ports.  

So if we avoid that breakage, and say that `pkg upgrade` applies to all packages, but `pkg delete -a` doesn’t.  Now we have inconsistency across subcommands.  And that’s also confusing.

David