History log of /freebsd/release/packages/sets/devel.ucl (Results 1 – 2 of 2)
Revision Date Author Comments
# 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 ...