Date: Fri, 9 Aug 2019 01:49:20 -0700 From: Bakul Shah <bakul@bitblocks.com> To: Theron Tarigo <theron@freebsd.org> Cc: soc-status@freebsd.org Subject: Re: GSoC: Separation of Ports Build Process from Local Installation Message-ID: <E02B4453-4C05-4F39-85F7-78E8A4253371@bitblocks.com> In-Reply-To: <55ccc3d8-4af8-6c98-60e2-8bb522023866@freebsd.org> References: <55ccc3d8-4af8-6c98-60e2-8bb522023866@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Is there any way Theron can have access to a set of build machines? That = would allow him to do some regression testing as well as try out his = scheme on a much larger number of ports. > On Aug 6, 2019, at 11:01 PM, Theron Tarigo <theron@freebsd.org> wrote: >=20 > Hello all, >=20 > 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: = freebsd-user-namespace, provided as port devel/userns. >=20 > This past week, I have made the following progress: > - Modified bsd.port.mk to run pre-* do-* post-* ports targets in a = sub-make in userns environment, only when needed (when a port defines = those targets itself). > - Fixed some non-fatal errors typically seen during dependency = installation. > - Added support to userns's execve implementation to run ELF = executables which use DT_RUNPATH by translating this to an appropriate = LD_LIBMAP environment value. > - Attributed some failures to a faulty FreeBSD installation on my test = system, which is now fixed. >=20 > Latest summary of port building success: > - 5610 ports considered for testing (2000 requested + their = dependencies) > - 4321 (77%) succeeded > - 140 (2%) failed > - 1149 (20%) skipped due to failed dependencies > - Success rate: 97% (portion succeeded of those which were started, = not skipped) >=20 > Compare to last summary: > - 5613 ports tried > - 2958 (53%) succeeded > - 177 (3%) failed > - 2478 (44%) skipped due to failed dependencies > - Success rate: 94% >=20 > Although success rate is similar, overall success is much higher (77% = vs. 53%) due to significantly fewer failed dependencies. >=20 > What I am working on next: >=20 > - Fix known issues in userns: resolve symbolic link targets, resolve = ".." in pathnames. > - Eliminate remaining dependency failures. > - Compare the packages built by separated-build method to either = official packages or ports built by original FreeBSD method. Any = differences should be attributable to built times and hostnames. > - Provide more thorough documentation of PORTS_SEPARATED_BUILD, in = particular its usage and its limitations, so that users and devs = interested in this project can more easily test it for themselves. >=20 > Project goals and status are kept at = https://wiki.freebsd.org/SummerOfCode2019Projects/PortsSeparatedBuild = <https://wiki.freebsd.org/SummerOfCode2019Projects/PortsSeparatedBuild>=20= >=20 > Source of the userspace filesystem namespace tool is shared at = https://github.com/therontarigo/freebsd-user-namespace = <https://github.com/therontarigo/freebsd-user-namespace> .=20 > Changes to ports framework are shared at = https://github.com/freebsd/freebsd-ports/compare/master...therontarigo:sep= arated = <https://github.com/freebsd/freebsd-ports/compare/master...therontarigo:se= parated>. >=20 > Theron Tarigo >=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E02B4453-4C05-4F39-85F7-78E8A4253371>