[[!template id=project title="multipkg pkgsrc" contact=""" [tech-pkg](mailto:tech-pkg@NetBSD.org), [Leonardo Taccari](mailto:leot@NetBSD.org) """ category="pkgsrc" difficulty="medium" description=""" 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 `databases/postegresql*-*`. """ ]]