Date: Tue, 18 Jun 2019 12:13:08 -0700 From: Theron Tarigo <theron@freebsd.org> To: soc-status@freebsd.org Subject: GSoC: Separation of Ports Build Process from Local Installation Message-ID: <97df7e7a-44a1-0d80-aceb-3df446a515de@freebsd.org>
index | next in thread | raw e-mail
Hello all,
This project aims to decouple the build process of the ports framework
from the local installation.
This past week, I have made the following progress:
- Modified bsd.port.mk to behave as follows:
* All built dependencies of a port are installed to ${PORTBLDROOT}
(=${PORTSDIR}/build on my test system).
* Ports resolve dependencies to ${PORTBLDROOT} instead of to local
system.
* All port-building operations (configure, make, make install, etc.)
are run in a chroot, in which ${LOCALBASE} is mapped to
${PORTBLDROOT}${LOCALBASE} and base system is mapped as-is.
- Added hooks to several Mk/Uses/* and ports to allow switch to chroot
where appropriate (far from complete).
- Successfully compiled handful of ports (including C libraries, GNU
build tools, perl modules, and python modules) under this modified system.
The next goal is to replace the chroot with an equivalent solution in
userspace (a BSD implementation similar to "fakechroot"), to eliminate
requirement of superuser intervention.
An overview of the progress and issues is kept at
https://wiki.freebsd.org/SummerOfCode2019Projects/PortsSeparatedBuild.
Theron Tarigo
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?97df7e7a-44a1-0d80-aceb-3df446a515de>
