Hi David, I see your point. For me, no pkg command (upgrade / install : delete / lock) should act on base without the user explicitly targeting base.
This is the same we have today. No extra complexity or confusion, actually it is quite simple , if you want to touch your base system just explicitly targeting it ( what we do today with FreeBSD-update) Regarding the non-base package dependencies with base, it will be also the same as today. If this is something we are looking to get rid of then is a different situation. Nothing stops the user from upgrading base (target base) then upgrading the rest. Or to have a target that is “all”. I think most of the FreeBSD user like the separation of base and non base and the current status seems to get rid of it. Hence some of us are putting attention to it ( maybe too much) Santi > On 8 Aug 2025, at 15:47, David Chisnall <[email protected]> wrote: > > On 8 Aug 2025, at 14:20, Santiago Martinez <[email protected]> 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 >
