An important part of a *binary-only* environment is to support something similar
to the existing options framework, but produce different combinations of pkgs.
There is an undefined amount of work required to accomplish this, and also a set
of standards and naming conventions to be applied for the output of these pkgs.
This project should also save on having to rebuild "base" components of software
to support different options: see amanda-base for an example.
OpenBSD supports this now and should be leveraged heavily for borrowing.
Preliminary work were done during Google Summer of Code 2016 as part of
[Split debug symbols for pkgsrc builds](https://summerofcode.withgoogle.com/projects/#5193596953165824)
project. However, the support is far from being complete. In particular to
complete the project the following tasks need to be accomplished:
- Complete the `SUBPACKAGES` support similar to what was done during
the GSoC (with `SUBPACKAGES` and `!SUBPACKAGES` case code duplication)
- When the `SUBPACKAGES` support is complete we can switch to an
implicit (and hidden) subpackage as suggested by [[joerg|users/joerg]] in
order to get rid of code duplication and having a single control
flow relative to `SUBPACKAGES`. In other words: every package
will always have at least one subpackage.
- Adapt `mk/bsd.debugdata.mk` to `SUBPACKAGES` and other possible
other candidates like `tex-*-doc`, etc. After doing that look
at less trivial possible `SUBPACKAGES` candidate like
CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb