Re: PKGBASE Removes FreeBSD Base System Feature

From: Daniel Morante <daniel_at_morante.net>
Date: Fri, 08 Aug 2025 14:48:02 UTC
> In this particular case, while someone might
> indeed be astonished that "forcibly delete everything" deletes 
> everything,
> someone else could well be astonished if "pkg delete -f clang" doesn't in
> fact delete clang. 
I'm from the group of people that believes if you ask a computer to do 
something, no matter what that thing is (even if it's destructive and 
dangerous) the computer should do it.  There is nothing that I hate more 
than someone else deciding what I can and can not do with my computer.  
FreeBSD is one of the few remaining operating systems that retains this 
freedom.

The problem isn't the action of deleting all your base packages. The 
problem is the fact that this was designed in such a way where we are 
having this conversation.

This needs to be re-designed with user experience and FreeBSD philosophy 
in mind.  In a previous reply I had suggested a isolated tool called 
'freebsd-setup' which would be a merged/renamed/refactored version of 
'bsdinsall' and 'freebsd-update'.  The two package systems should never 
cross paths.  'pkg' is the software management tool for the userland and 
that's what the user interacts with regularly.  'freebsd-setup' is the 
tool you bring out when you need to manage FreeBSD.

On 8/7/2025 10:17 PM, Colin Percival wrote:
> On 8/7/25 18:20, vermaden wrote:
>> OK, Colin Percival just announced 15.0-PRERELEASE - yet the PKGBASE 
>> concept - besides 'kinda working' - does not holds to the POLA 
>> principle at all - and if anyone will chose to use PKGBASE instead of 
>> 'classic' install the 'pkg delete -af' will not only delete all the 
>> third party packages but will also WIPE almost ENTIRE BASE SYSTEM of 
>> FreeBSD ... this is not unacceptable to say the least.
>
> POLA is inherently subjective; what astonishes one person might be 
> exactly
> what another person expects.  In this particular case, while someone 
> might
> indeed be astonished that "forcibly delete everything" deletes 
> everything,
> someone else could well be astonished if "pkg delete -f clang" doesn't in
> fact delete clang.
>
>> My 'vote' here does not changed.
>>
>> Lets keep pkg(8) for third party packages with:
>> - /etc/pkg
>> - /usr/local/etc/pkg
>> - /var/db/pkg
>>
>> Lets have pkgbase(8) for FreeBSD Base System PKGBASE with:
>> - /etc/pkgbase
>> - /usr/local/etc/pkgbase
>> - /var/db/pkgbase
>
> I would like this idea, except for one wrinkle: I don't think it would 
> work.
> In particular, packages installed from ports might depend on packages 
> from
> the base system, so having a single tool which knows about both is 
> necessary.
>