Skip site navigation (1)Skip section navigation (2)
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>

index | next in thread | previous in thread | raw e-mail

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:
> 
> 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: freebsd-user-namespace, provided as port devel/userns.
> 
> 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.
> 
> 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)
> 
> Compare to last summary:
> - 5613 ports tried
> - 2958 (53%) succeeded
> - 177 (3%) failed
> - 2478 (44%) skipped due to failed dependencies
> - Success rate: 94%
> 
> Although success rate is similar, overall success is much higher (77% vs. 53%) due to significantly fewer failed dependencies.
> 
> What I am working on next:
> 
> - 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.
> 
> Project goals and status are kept at https://wiki.freebsd.org/SummerOfCode2019Projects/PortsSeparatedBuild <https://wiki.freebsd.org/SummerOfCode2019Projects/PortsSeparatedBuild>; 
> 
> Source of the userspace filesystem namespace tool is shared at https://github.com/therontarigo/freebsd-user-namespace <https://github.com/therontarigo/freebsd-user-namespace>; . 
> Changes to ports framework are shared at https://github.com/freebsd/freebsd-ports/compare/master...therontarigo:separated <https://github.com/freebsd/freebsd-ports/compare/master...therontarigo:separated>.
> 
> Theron Tarigo
> 



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E02B4453-4C05-4F39-85F7-78E8A4253371>