Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Dec 2025 08:28:18 +0000
From:      Lexi Winter <ivy@freebsd.org>
To:        FreeBSD questions <freebsd-questions@freebsd.org>
Subject:   Re: (2517) the error message when removing a dependency of a vital package is uninformative (was: Trying to understand base system packages)
Message-ID:  <aTkvIvFJHLf4WxUa@amaryllis.le-fay.org>
In-Reply-To: <20251207081139.7e2f65b97b4c089ac0add431@gmail.com>
References:  <20251205122830.cb88058f193987b47a95a77c@gmail.com> <20251205134510.6fae5caf@dorfdsl.de> <20251205143119.441cc1bd8722345d074a4480@gmail.com> <16e766b9-f442-4cef-a991-c940f6b8182a@gmail.com> <20251207081139.7e2f65b97b4c089ac0add431@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Sad Clouds wrote in <20251207081139.7e2f65b97b4c089ac0add431@gmail.com>:
> - I don't understand the design of base meta packages (sets?) and there
> is no documentation that describes this well. The freebsd-base(7)
> mentions briefly that some packages are grouped into sets, but does not
> go deeper, does not explain about the "vital" dependency flag and does
> not provide examples of how to view and manage packages sets. In fact
> the pkg(8) man page is missing the new "sets" command.

there is no "sets" command.

you're right, this is not well documented.  i was hoping someone would
write Handbook content for this before release, but no one did, and i
did not have time to do it myself.

fwiw, we expect to replace these metapackages with proper package groups
once pkg supports this; pkg developers are currently working on this.

> - I'm still stuck with a system where I cannot delete individual
> packages which I do not need.

the procedure to remove a package which is part of an installed set is:

- remove the installed set using pkg delete -f

- mark all packages which were previously part of the set as manually
  installed, using pkg set -A0.  (you may check "pkg autoremove" to see
  which packages need to be modified).  this is to ensure that pkg
  doesn't unexpected autoremove these packages later.

- remove the packages you actually want to remove, without using -f.
  (if you need -f here, something went wrong in a previous step.)

> I'm sorry but the optional meta package and sendmail (which is part of
> it) are not vital and there needs to be an easier way to remove them.
> Isn't this the whole point of having base packages, so that the system
> can be customised much easier by installing/removing individual
> packages, instead of building custom release with custom src.conf
> options for different use cases?
 
yes, this is precisely the point of pkgbase.  however, pkgbase in 15.0
is shipped as a tech preview, and there are several features and edge
cases which do not work as well as we would like.

> The base set includes all other sets, why?

because the base set means "the entire base system", which implies that
it also installs all other sets.  if you do not want to install "the
entire base system", you should remove (or not install) the base set.

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCaTkvHwAKCRD1nT63mIK/
YBFIAP90uRzdBmitgHaba5urMM6s001uF9yDt5bleJyw2JgoxQEAxsVpljRHWFS5
ZsQzlsDWAhtUqnT9okWJ8bdFdKYY4ww=
=lTPT
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?aTkvIvFJHLf4WxUa>