- Use the correct id(1) program. Fixes PR pkg/40691
- Avoid unprintable characters, some implementations of tr(1) have issues
with them. Instead go for what hopefully will be a unique string, as
well as making use of shell parameter substitution. Fixes PR pkg/42197
These changes combined make pkg_alternatives work correctly on Solaris.
INSTALL/DEINSTALL script creation within pkgsrc.
If an INSTALL or DEINSTALL script is found in the package directory,
it is automatically used as a template for the pkginstall-generated
scripts. If instead, they should be used simply as the full scripts,
then the package Makefile should set INSTALL_SRC or DEINSTALL_SRC
explicitly, e.g.:
INSTALL_SRC= ${PKGDIR}/INSTALL
DEINSTALL_SRC= # emtpy
As part of the restructuring of the pkginstall framework internals,
we now *always* generate temporary INSTALL or DEINSTALL scripts. By
comparing these temporary scripts with minimal INSTALL/DEINSTALL
scripts formed from only the base templates, we determine whether or
not the INSTALL/DEINSTALL scripts are actually needed by the package
(see the generate-install-scripts target in bsd.pkginstall.mk).
In addition, more variables in the framework have been made private.
The *_EXTRA_TMPL variables have been renamed to *_TEMPLATE, which are
more sensible names given the very few exported variables in this
framework. The only public variables relating to the templates are:
INSTALL_SRC INSTALL_TEMPLATE
DEINSTALL_SRC DEINSTALL_TEMPLATE
HEADER_TEMPLATE
The packages in pkgsrc have been modified to reflect the changes in
the pkginstall framework.
that these directories will be conditionally removed (based on reference
counts), regardless of the value of PKG_CONFIG. Bump the PKGREVISION
for packages that were modified as a result.
- Add support to explicitly select which wrappers are wanted on a system and
which ones are not. This is done through a configuration file that defines
a filter with a set of actions and regular expressions (example file
included).
- Add an examples section to the manual page with solutions for some FAQs.
- Add the destroy action, used to remove the alternatives database as well
as any known wrappers.
- Use the rebuild/destroy actions at install/deinstall time respectively
so that this package can be installed at any time and pick up automatically
available alternatives from PKG_DBDIR.
Per suggestion from reed@ in tech-pkg@.
pkg_alternatives is a tool to manage the alternatives system provided by
The NetBSD Packages Collection, also known as pkgsrc. It creates, configures
and destroys generic wrappers used to run programs with similar interfaces.
No objections in tech-pkg@. Agreed with jlam@, who has provided lots of
design suggestions.