On 8 Aug 2025, at 14:20, Santiago Martinez <s...@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


Reply via email to