the constraints on what needs to be installed in a specific to
maintain consistency during upgrades.
Create a new clibs package containing libraries that are needed
as a bare minimum for consistency.
With much help and input from: kib
Sponsored by: The FreeBSD Foundation
libedit is needed for sh(1), which if updated before runtime,
can cause undesirable behavior.
For the rest, the installation order needs to be:
1) librtld
2) libc
3) libthr
The dependency listing and shilbs_required entries ensure this
behavior.
Sponsored by: The FreeBSD Foundation
One of the major pain points with how this was implemented
is the requirement of in-tree, hard-coded <name>.ucl, as
well as <name>-<suffix>.ucl where <suffix> can be lib32,
profile, development, debug, or any combination of the four.
This created significant overhead when adding new packages
and any of the files in any of the combinations were missing.
Instead of test(1)-ing if the <packagename>.ucl file exists,
hand off to a script to figure out what the final ucl file
name should be before invoking pkg(8).
The default behavior is 'template.ucl' is used as a fallback.
This affects only the userland packages, as the kernel code
is already smart enough to handle these variations.
Sponsored by: The FreeBSD Foundation