Date: Tue, 9 Jul 2019 11:34:56 -0700 From: Theron Tarigo <theron@freebsd.org> To: soc-status@freebsd.org Subject: GSoC: Separation of Ports Build Process from Local Installation Message-ID: <feb2b843-089b-6cba-c971-c7695a0e616a@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. 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: - Ldconfig hints file is maintained at each dependency port installation, allowing build tools to run as expected. - Fixed several more problems with running programs under the namespace tool: - Some ports contain /bin/sh scripts with no shebang. FreeBSD allows this; Namespace tool's execve implementation is changed accordingly. - Fixed a bug in execve implementation concerning argv[0] - Debugging output, when requested, now does not get written to wrong file after (v)fork and/or exec. - Have ports use devel/bmake instead of /usr/bin/make, where possible, as the latter is statically linked and cannot handle ports Makefiles' dependencies on installed files. - Confirmed that devel/llvm60 and all its dependencies build successfully. This selection of ports represents many build tools commonly used in building of other ports. To see for yourself: make -C /usr/ports/devel/llvm60 all-depends-list What I am working on next: - Create a port of freebsd-user-namespace to be used by ports framework, similarly to how ports-mgmt/pkg is used. - Build larger set of ports to discover remaining incompatibilities. - Set up automated testing of ports to assess progress and catch regressions. 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:separated. Theron Tarigo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?feb2b843-089b-6cba-c971-c7695a0e616a>