git: 9537aa02f404 - main - packages: Mark all sets as vital
Date: Wed, 17 Sep 2025 20:32:41 UTC
The branch main has been updated by ivy:
URL: https://cgit.FreeBSD.org/src/commit/?id=9537aa02f40454ba8243e8c877695876d3e4c150
commit 9537aa02f40454ba8243e8c877695876d3e4c150
Author: Lexi Winter <ivy@FreeBSD.org>
AuthorDate: 2025-09-17 20:12:21 +0000
Commit: Lexi Winter <ivy@FreeBSD.org>
CommitDate: 2025-09-17 20:14:18 +0000
packages: Mark all sets as vital
At least "minimal" must be vital, because it's required for a functional
system. For example, we might create new packages in the future which
are required for the multi-user system and are part of the minimal set,
so it's important that users don't remove set-minimal to ensure they get
those new packages.
For the other sets, it's debatable whether they should be vital or not,
but let's start out with the assumption that if the user installed a
set, they should have to have to explicit request it be removed. This
means if, for example, they install set-devel, then remove lldb, pkg
won't remove set-devel and cause the next "pkg autoremove" to remove
everything else that was in set-devel.
We might want to adjust this later (or possibly adjust the behaviour
of pkg(8) itself) based on user feedback.
While here, fix a typo in the description of the devel set.
Suggested by: bapt
MFC after: 3 seconds
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D52562
---
release/packages/sets/base.ucl | 2 ++
release/packages/sets/devel-dbg.ucl | 2 +-
release/packages/sets/devel.ucl | 4 +++-
release/packages/sets/lib32.ucl | 2 ++
release/packages/sets/minimal-jail.ucl | 2 ++
release/packages/sets/minimal.ucl | 2 ++
release/packages/sets/src.ucl | 2 ++
release/packages/sets/tests.ucl | 2 ++
8 files changed, 16 insertions(+), 2 deletions(-)
diff --git a/release/packages/sets/base.ucl b/release/packages/sets/base.ucl
index 42dd2095f808..2d94ff4f4f2e 100644
--- a/release/packages/sets/base.ucl
+++ b/release/packages/sets/base.ucl
@@ -1,5 +1,7 @@
comment = "Base system (metapackage)"
+vital = true
+
desc = <<EOD
This metapackage installs all packages which are part of the base system.
EOD
diff --git a/release/packages/sets/devel-dbg.ucl b/release/packages/sets/devel-dbg.ucl
index 5da492b93750..c3fcd9806272 100644
--- a/release/packages/sets/devel-dbg.ucl
+++ b/release/packages/sets/devel-dbg.ucl
@@ -1,4 +1,4 @@
-comment = "Developments tools debugging symbols (metapackage)"
+comment = "Development tools debugging symbols (metapackage)"
desc = <<EOD
This metapackage installs debugging symbols for the base system compiler and
diff --git a/release/packages/sets/devel.ucl b/release/packages/sets/devel.ucl
index ac6b6bab7ef8..08914a85a5b4 100644
--- a/release/packages/sets/devel.ucl
+++ b/release/packages/sets/devel.ucl
@@ -1,4 +1,6 @@
-comment = "Developments tools (metapackage)"
+comment = "Development tools (metapackage)"
+
+vital = true
desc = <<EOD
This metapackage installs development support for the base system, including
diff --git a/release/packages/sets/lib32.ucl b/release/packages/sets/lib32.ucl
index c1b921c30b2e..b23ae15d00ae 100644
--- a/release/packages/sets/lib32.ucl
+++ b/release/packages/sets/lib32.ucl
@@ -1,5 +1,7 @@
comment = "32-bit compatibility libraries (metapackage)"
+vital = true
+
desc = <<EOD
This metapackage installs compatibility libraries required for building and
running 32-bit applications on a 64-bit host system.
diff --git a/release/packages/sets/minimal-jail.ucl b/release/packages/sets/minimal-jail.ucl
index fed7a3355c31..04e71912898c 100644
--- a/release/packages/sets/minimal-jail.ucl
+++ b/release/packages/sets/minimal-jail.ucl
@@ -1,5 +1,7 @@
comment = "Basic multi-user jail system (metapackage)"
+vital = true
+
desc = <<EOD
This metapackage installs the packages required to bring up a basic multi-user
jail. This is equivalent to the minimal set, but without hardware support.
diff --git a/release/packages/sets/minimal.ucl b/release/packages/sets/minimal.ucl
index 0895f198824e..f2338f4c2e3b 100644
--- a/release/packages/sets/minimal.ucl
+++ b/release/packages/sets/minimal.ucl
@@ -1,5 +1,7 @@
comment = "Basic multi-user system (metapackage)"
+vital = true
+
desc = <<EOD
This metapackage installs the packages required to bring up a basic multi-user
system.
diff --git a/release/packages/sets/src.ucl b/release/packages/sets/src.ucl
index eada5dbde641..7ab94eb420df 100644
--- a/release/packages/sets/src.ucl
+++ b/release/packages/sets/src.ucl
@@ -1,5 +1,7 @@
comment = "System source code"
+vital = yes
+
desc = <<EOD
This metapackage installs source code for the base system and kernel.
EOD
diff --git a/release/packages/sets/tests.ucl b/release/packages/sets/tests.ucl
index 88426a54a807..07b463fb7d69 100644
--- a/release/packages/sets/tests.ucl
+++ b/release/packages/sets/tests.ucl
@@ -1,5 +1,7 @@
comment = "System test suite"
+vital = yes
+
desc = <<EOD
This metapackage installs the system test suite.
EOD