Re: PKGBASE Removes FreeBSD Base System Feature

From: Baptiste Daroussin <bapt_at_freebsd.org>
Date: Wed, 30 Jul 2025 07:30:26 UTC
On Wed 30 Jul 02:28, vermaden wrote:
> Hi,
> 
> after short discussion here:
> - https://github.com/freebsd/pkg/issues/2485
> 
> I got REALLY concerned.
> 
> One of THE features and selling points of a FreeBSD UNIX system is the 'untouchable' Base System.

untouchable is really subjective and has always been, there are so many build
options and one of the selling point for many is the customizability, in
particular for the wildly deploy use case of appliances.

But even on desktops people keeps tweaking the build options...
> 
> Without PKGBASE all the features are preserved.
> 
> But when You convert to PKGBASE its ... GONE!

> 
> Consider this command:
> 
> # pkg delete -af
> 
> What it does?
> 
> It removes all third party packages on 'classic' FreeBSD system without touching the FreeBSD Base System.

No it remove all the packages. semantic matters.
> 
> What the same "pkg delete -af" command does on a PKGBASE FreeBSD system?
> 
> It kills/destroys almost all of the FreeBSD Base System and leaves only two PKGBASE packages called:
> 
> - FreeBSD-clibs
> - FreeBSD-runtime

This is why the vital flag are designed for.
> 
> All the rest of Base System is GONE. Destroyed.
> 
> You do not even have vi(1) editor ad /rescue is separate not protected FreeBSD-rescue package and its also removed.
> 
> WTF?!
> 
> POLA is the principle that made FreeBSD such predictable system. Where is the POLA now?
> 
> Why the same *pkg delete -af* command on 'classic' FreeBSD system without PKGBASE only removes all third party packages and the same *pkg delete -af* literally destroys most of the FreeBSD PKGBASE Base System?
> 
> Its crazy ...

Before jumping straight into making a drama, maybe ask for the plan? or discuss
with people involved, or even better propose some help?

The plan is the following for years: either create meta packages which will be
flagged as vital for various combinaison of pkgbase: base, base-minimal,
base-oci etc., etc. and use groups (marked as vital as well) if they are ready
by then. This part has been delayed because: groups are now ready yet in pkg but
might be there by the time 15.0-RELEASE is there.

Bapt