Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Sep 2025 21:48:27 +0100
From:      Lexi Winter <ivy@freebsd.org>
To:        "Enji Cooper (yaneurabeya)" <yaneurabeya@gmail.com>
Cc:        "src-committers@freebsd.org" <src-committers@freebsd.org>, "dev-commits-src-all@freebsd.org" <dev-commits-src-all@freebsd.org>, "dev-commits-src-main@freebsd.org" <dev-commits-src-main@freebsd.org>
Subject:   Re: git: 9537aa02f404 - main - packages: Mark all sets as vital
Message-ID:  <aMsem9euzXnc788r@amaryllis.le-fay.org>
In-Reply-To: <B950ADA7-6F85-43CA-A3DB-577928DA3B14@gmail.com>
References:  <202509172032.58HKWfxp028171@gitrepo.freebsd.org> <B950ADA7-6F85-43CA-A3DB-577928DA3B14@gmail.com>

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

--Bc92YJQSj8SFyY8D
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Enji Cooper (yaneurabeya) wrote in <B950ADA7-6F85-43CA-A3DB-577928DA3B14@gm=
ail.com>:
> On Sep 17, 2025, at 1:32=E2=80=AFPM, Lexi Winter <ivy@FreeBSD.org> wrote:
> > packages: Mark all sets as vital
>
> I actually wouldn=E2=80=99t consider `src` or `tests` to be vital (many
> users don=E2=80=99t install them on their systems). Is there a reason
> why they should be considered vital that I=E2=80=99m not aware of? I=E2=
=80=99ve
> not been paying a ton of attention to work being done in the
> pkg-base space, so I might have missed some important points.

"vital" doesn't mean they have to be installed, it only means that once
they are installed, they can only be removed explicitly (using -f):

	# pkg remove freebsd-set-tests
	Checking integrity... done (0 conflicting)
	The following package(s) are locked or vital and may not be removed:

		FreeBSD-set-tests

originally i only marked "minimal" and "base" as vital, but based on
review feedback, we decided to mark all the sets as vital for now.  the
reason is to avoid something like this:

	# pkg install freebsd-set-devel
	# pkg remove freebsd-lldb	# this also removes freebsd-set-devel

	  ... 6 months later ...

	# pkg autoremove
	  (now all the other packages installed by freebsd-set-devel
	  are also removed.)

marking the sets as vital means that users have to explicitly opt-in to
removing the set if they remove a dependency of the set, which avoids
this exciting behaviour.

there is a pkg(8) issue that means this doesn't work quite as well as it
should do: https://github.com/freebsd/pkg/issues/2517, however, i still
feel this is better than the alternative.

--Bc92YJQSj8SFyY8D
Content-Type: application/pgp-signature; name=signature.asc

-----BEGIN PGP SIGNATURE-----

iHUEABYKAB0WIQSyjTg96lp3RifySyn1nT63mIK/YAUCaMselwAKCRD1nT63mIK/
YPdJAQDBRdXunLGF/S7gdBiV/XNSnobevl4Hqp1Y1R6JobVu5AD/YJjPm59sgEka
trIC2qtMmNcI21Azdg4Ohz4+EYRIJwU=
=3Lrd
-----END PGP SIGNATURE-----

--Bc92YJQSj8SFyY8D--



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