File:  [NetBSD Developer Wiki] / wikisrc / projects / project / pkgsrc_binpkg_depends.mdwn
Revision 1.5: download - view: text, annotated - select for diffs
Tue Mar 1 10:38:49 2022 UTC (8 months, 4 weeks ago) by martin
Branches: MAIN
CVS tags: HEAD
Adapt open gsoc project suggestion to new gsoc rules, mark as 175/350h

[[!template id=project

title="Add dependency information to binary packages (350h)"


[Thomas Klausner](


Change infrastructure so that dependency information (currently in files) is installed with a binary package and is used from there

This is not an easy project.

pkgsrc currently handles dependencies by including files spread over pkgsrc. The problem is that these files describe the current state of pkgsrc, not the current state of the installed packages.

For this reason and because most of the information in the files is templated, the files should be replaced by the relevant information in an easily parsable manner (not necessarily make syntax) that can be installed with the package.
Here the task is to come up with a definitive list of information necessary to replace all the stuff that's currently done in files (including: dependency information, lists of headers to pass through or replace by buildlink magic, conditional dependencies, ...)

The next step is to come up with a proposal how to store this information with installed packages and how to make pkgsrc use it.

Then the coding starts to adapt the pkgsrc infrastructure to do it and show with a number of trivial and non-trivial packages that this proposal works.

It would be good to provide scripts that convert from the current state to the new one, and test it with a bulk build.

Of course it's not expected that all packages be converted to the new framework in the course of this project, but the further steps should be made clear.


* invent a replacement for files, keeping current features
* demonstrate your new tool as a replacement including new features
* execute a bulk build with as many packages as possible using the new buildlink


[[!tag gsoc]]
[[!tag gsoc350h]]

CVSweb for NetBSD wikisrc <> software: FreeBSD-CVSweb