Porting Pkgsrc to Minix
This page is about the now-finished GSOC 2010 project. The living pkgsrc page is at Testing Pkgsrc.
About the project
Student: Gautam Tirumala [gautam (dot) bt (at) gmail (dot) com]
Mentors: Arun Thomas and Ben Gras
Branch Info: src.r7062.pkgsrc
About this page
This is the project page for the GSoC project 'Porting pkgsrc to Minix'. Following is a brief overview of the project and the roadmap. This page will also describe any progress made on the project.
The current Minix package manager - packman - does not scale to managing the growing number of packages being ported to Minix. There is a need for a new package manager. Pkgsrc seems to be the favorite. Pkgsrc, the NetBSD package manager, has already been ported to several other platforms. This project aims to port pkgsrc to Minix.
The project can be divided into two parts:
Bootstrapping pkgsrc on Minix
Bootstrapping pkgsrc is done by running bootstrap/bootstrap script. Three things have to be done for this:
- Modify bootstrap/bootstrap to identify the right settings for Minix (architecture, sed, awk programs etc)
- Modify mk/* and pkgtools/bootstrap-mk-files to suit Minix
- Port pkgtools/libnbcompat, pkgtools/pkg_install, pkgtools/digest, devel/bmake, net/tnftp to Minix.
Moving packages into pkgsrc
For most packages this should only involve applying any Minix specific patches to the code and modifying the Makefile. Since pkgsrc already has a mechanism to apply patches, this should be straight forward for most packages. Also, for most packages, the order of porting does not matter because all libraries are currently statically linked. Note that the process cannot be automated as on one hand build.minix is a shell script with no special requirements about various build stages and pkgsrc Makefiles have specific targets for each build stage.
- Bulk builds
- Create locally-hosted git tree that tracks NetBSD's pkgsrc git repo
- Submit changes upstream to pkgsrc