Annotation of wikisrc/projects/project/pkgsrc_binpkg_depends.mdwn, revision 1.4

1.1       jmmv        1: [[!template id=project
                      2: 
                      3: title="Add dependency information to binary packages"
                      4: 
                      5: contact="""
                      6: [tech-pkg](mailto:tech-pkg@NetBSD.org)
                      7: """
                      8: 
                      9: mentors="""
                     10: [Thomas Klausner](mailto:wiz@NetBSD.org)
                     11: """
                     12: 
1.2       jmmv       13: category="pkgsrc"
                     14: difficulty="hard"
1.1       jmmv       15: duration="3 months"
                     16: 
                     17: description="""
                     18: Change infrastructure so that dependency information (currently in buildlink3.mk files) is installed with a binary package and is used from there
                     19: 
                     20: This is not an easy project.
                     21: 
                     22: pkgsrc currently handles dependencies by including buildlink3.mk files spread over pkgsrc. The problem is that these files describe the current state of pkgsrc, not the current state of the installed packages.
                     23: 
                     24: For this reason and because most of the information in the files is templated, the buildlink3.mk files should be replaced by the relevant information in an easily parsable manner (not necessarily make syntax) that can be installed with the package.
                     25: Here the task is to come up with a definitive list of information necessary to replace all the stuff that's currently done in buildlink3.mk files (including: dependency information, lists of headers to pass through or replace by buildlink magic, conditional dependencies, ...)
                     26: 
                     27: 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.
                     28: 
                     29: 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.
                     30: 
                     31: It would be good to provide scripts that convert from the current state to the new one, and test it with a bulk build.
                     32: 
                     33: 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.
1.3       mspo       34: 
                     35: goals/milestones:
1.4     ! leot       36: 
1.3       mspo       37: * invent a replacement for buildlink3.mk files, keeping current features
                     38: * demonstrate your new tool as a buildlink3.mk replacement including new features
                     39: * execute a bulk build with as many packages as possible using the new buildlink
                     40: 
1.1       jmmv       41: """
                     42: ]]
                     43: 
                     44: [[!tag gsoc]]

CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb