git: 8f1cddbf0c9a - stable/15 - packages: Mark all sets as vital

From: Lexi Winter <ivy_at_FreeBSD.org>
Date: Fri, 19 Sep 2025 01:20:00 UTC
The branch stable/15 has been updated by ivy:

URL: https://cgit.FreeBSD.org/src/commit/?id=8f1cddbf0c9a36ba88a0130c3c00703c4a0f4886

commit 8f1cddbf0c9a36ba88a0130c3c00703c4a0f4886
Author:     Lexi Winter <ivy@FreeBSD.org>
AuthorDate: 2025-09-17 20:12:21 +0000
Commit:     Lexi Winter <ivy@FreeBSD.org>
CommitDate: 2025-09-19 01:17:28 +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
    
    (cherry picked from commit 9537aa02f40454ba8243e8c877695876d3e4c150)
---
 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