GSoC: Separation of Ports Build Process from Local Installation

Theron theron.tarigo at gmail.com
Tue May 28 22:51:16 UTC 2019


Hello All,

For Google Summer of Code 2019 I am working on FreeBSD's ports tree 
makefiles towards eliminating the dependency of the ports building 
process on the local system's installed packages.  Currently this level 
of separation can only be accomplished in practice through chroot or 
Jail.  The project will eliminate the need for cooperation of the root 
user since /usr/local will not need to be touched.

The major technical obstacle to be overcome is that ports expect to find 
files of their dependencies installed in /usr/local.  To support this 
without touching that location on the installed system, file accesses 
will be redirected to a location controlled by the ports build process 
through use of a library to intercept file accesses.

Once I have that working (well enough to build one port at a time) I 
will move on to modify bsd.port.mk itself (and related files) to utilize 
this mechanism for virtual installation of port dependencies during builds.

The full project proposal can be seen at 
https://docs.google.com/document/d/1B30U9csgY299W59tNraSX1LYjzsba2i04OrYAUpdIZs/edit 
.

My goal is that this work can be integrated well enough into 
/usr/ports/Mk so that unlike Jail, no set up work should be required for 
using ports tree to build a set of installable packages.

Please let me know if you are interested in this project; feedback is 
appreciated.  If someone would like to provide ongoing feedback or 
mentorship that would be especially helpful.  Bakul Shah is my mentor 
officially for GSoC but I would be happy to have additional support from 
someone who is experienced with internals of the port infrastructure 
makefiles.

Theron Tarigo


More information about the soc-status mailing list