#
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 ...
|
#
29121751 |
| 07-Jul-2025 |
Lexi Winter <ivy@FreeBSD.org> |
packages: create UCL files for package descriptions
Mechanically convert Makefile.package into individual UCL files for each package and delete it.
Move handling of the 'comment' and 'desc' fields
packages: create UCL files for package descriptions
Mechanically convert Makefile.package into individual UCL files for each package and delete it.
Move handling of the 'comment' and 'desc' fields from generate-ucl.sh to template.ucl; this provides the default values for some packages which don't have a UCL file yet.
Reviewed by: des, bapt, emaste Approved by: des (mentor) Differential Revision: https://reviews.freebsd.org/D50280
show more ...
|