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>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?97df7e7a-44a1-0d80-aceb-3df446a515de>