On 8 Aug 2025, at 15:02, Santiago Martinez <s...@codenetworks.net> wrote: > > 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.
Why? > 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) What is the reason that you would want to install updates for packages built by ports and *not* want to install updates to the base system? Currently, you need to do these separately because they are managed by two separate tools, but that’s an accident. It was never a deliberate usability choice to have different ways of updating different parts of the system. Fixing this is one of the goals of pkgbase. > 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. Fixing this is one of the benefits of pkgbase: there is a single upgrade command, unless you explicitly restrict what it is updating (via -r) then it will upgrade everything that is out of date. > Nothing stops the user from upgrading base (target base) then upgrading the > rest. Or to have a target that is “all”. This is still possible with pkgbase. If you want to stage things, simply use the `-r` flag. But when do you *actively want* that? > 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) This is a gross mischaracterisation driven by Vermaden’s love of hyperbole. No one is removing the distinction between the base system and ports. The base system remains: - The thing installed in /, not in /usr/local (or whatever else you put in $LOCALBASE when you build the ports). - A uniform set of things maintained by the project. - The set of things with stable ABI guarantees during a major release. - A self-contained set of things with no external dependencies. - A set of things with a support lifecycle maintained by the FreeBSD Release Engineering team. Every single one of these properties (and probably others I haven’t thought of) are preserved. The only difference is that upgrades are simpler because I have a uniform tool that manages all of the things that the FreeBSD project distributes (and other things that other people distribute as package repos). Every upgrade flow I have on every FreeBSD machine I use is simplified by pkgbase. Having fewer tools is a usability win. Having a single command upgrade everything is a usability win. If you *want to* upgrade only some things, that’s one extra command-line flag. David