Re: PKGBASE Removes FreeBSD Base System Feature

From: Santiago Martinez <sm_at_codenetworks.net>
Date: Fri, 08 Aug 2025 14:02:47 UTC
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 <theraven@freebsd.org> wrote:
> 
> 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
>