GSoC: Separation of Ports Build Process from Local Installation

Theron Tarigo theron at freebsd.org
Mon Jun 24 17:16:07 UTC 2019


Hello all,

This project aims to decouple the build process of the ports framework 
from the local installation.  To work around the assumptions made by 
ports about dependency file locations, a userspace tool to remap 
processes' filesystem namespaces is under development.

This past week, I have made the following progress:
- Switched bsd.port.mk from using a chroot for namespace manipulation to 
using the userspace namespace tool.
- Enabled namespace tool to read path mappings from environment, 
supplied by bsd.port.mk
- Re-ran port builds.  Several problems which had not occurred when 
using chroot became introduced.
- Studied interactions between executables, namespace tool, dynamic 
linker, and standard library to understand the cases in which file 
accesses fail to be intercepted.

What I am working on next:
- Research, design, implement, and test appropriate solutions for the 
problems encountered with userspace file access interception.

Project goals and status are kept at 
https://wiki.freebsd.org/SummerOfCode2019Projects/PortsSeparatedBuild .

Source of the userspace filesystem namespace tool is shared at 
https://github.com/therontarigo/freebsd-user-namespace .
Changes to ports framework are shared at 
https://github.com/freebsd/freebsd-ports/compare/master...therontarigo:master 
.

Theron Tarigo


More information about the soc-status mailing list