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