#
9537aa02 |
| 17-Sep-2025 |
Lexi Winter <ivy@FreeBSD.org> |
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
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
show more ...
|
#
66f36c36 |
| 12-Sep-2025 |
Lexi Winter <ivy@FreeBSD.org> |
packages: Add meta-package sets
Add several metapackages which contain no files themselves, but depend on other packages. This allows the user to install a system by using a set like "FreeBSD-set-m
packages: Add meta-package sets
Add several metapackages which contain no files themselves, but depend on other packages. This allows the user to install a system by using a set like "FreeBSD-set-minimal" instead of having to know which specific packages are required, and it means if we add more package in the future, existing installations will get them automatically as long as they were installed using a set.
The defined sets are significantly less granular than the actual packages; the assumption is that users who want a very specific set of packages installed can do that manually, while sets are intended more for typical users who just want to install FreeBSD.
The following sets are defined:
* minimal: the set of packages required to boot the system and bring up a multi-user UNIX system. This includes hardware support, networking (wireless, DHCP), basic functionality like syslogd, cron and periodic. It does not include a kernel, because the kernels are quite large and the user might want to use a custom kernel.
sendmail and DMA are not included in minimal. Since we provide two MTAs, the user should select which one they want, or install one from ports. sshd is not included because it's not required for the base system, and the user might want to install it from ports.
Some other significant subsystems (e.g. NFS, Kerberos) are also not included.
The minimal set does not include any libraries itself, since we rely on dependencies to pull these in. This implies it doesn't include library manpages, which is fine, since users won't want manpages for libraries unless they've also installed the development packages.
* devel: the compiler toolchain for building software, along with all "-dev" packages which include header files and static libraries.
* lib32: 32-bit compatibility packages. This includes both runtime and development packages.
* kernels: the kernel packages. For freebsd.org builds, this will be GENERIC, GENERIC-DEBUG, etc., for custom builds it will be whatever was set in $KERNCONF.
* base: everything else; this includes the entire base system.
For each set, also generate a <setname>-dbg set containing the debug packages for the set.
The sets are built along with the rest of the packages using a new script called create-sets.sh, which examines the "set" annotation in each package and puts it in the appropriate set. This is in anticipation of the later "groups" feature appearing in pkg itself, at which point we can simply replace the set annotation with the group.
MFC after: 3 days Reviewed by: imp, bapt Differential Revision: https://reviews.freebsd.org/D52412
show more ...
|