Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 28 May 2019 20:28:41 -0700 (PDT)
From:      "Rodney W. Grimes" <freebsd-rwg@gndrsh.dnsmgr.net>
To:        Theron <theron.tarigo@gmail.com>
Cc:        soc-status@freebsd.org, Bakul Shah <bakul@bitblocks.com>, freebsd-hackers@freebsd.org, freebsd-ports@freebsd.org
Subject:   Re: GSoC: Separation of Ports Build Process from Local Installation
Message-ID:  <201905290328.x4T3Sfep018873@gndrsh.dnsmgr.net>
In-Reply-To: <5cdb1c0b-a2dd-c754-daa3-187330ad9ad6@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
[ Charset UTF-8 unsupported, converting... ]
> Hello All,
> 
> For Google Summer of Code 2019 I am working on FreeBSD's ports tree 
> makefiles towards eliminating the dependency of the ports building 
> process on the local system's installed packages.? Currently this level 
> of separation can only be accomplished in practice through chroot or 
> Jail.? The project will eliminate the need for cooperation of the root 
> user since /usr/local will not need to be touched.
> 
> The major technical obstacle to be overcome is that ports expect to find 
> files of their dependencies installed in /usr/local.? To support this 
> without touching that location on the installed system, file accesses 
> will be redirected to a location controlled by the ports build process 
> through use of a library to intercept file accesses.

Assumption of /usr/local was considered wrong long long ago and it
should always be ${PREFIX}.  Any place that actually assumes this
value to be /usr/local should be fixed.

Had this policy been properly maintained it would simply be a mater
of changing ${PREFIX} to a new and empty place before starting
a ports build and things should of just worked.

Restoration to this ancient and functional behavior is desirable
at least on my part.

> Once I have that working (well enough to build one port at a time) I 
> will move on to modify bsd.port.mk itself (and related files) to utilize 
> this mechanism for virtual installation of port dependencies during builds.
> 
> The full project proposal can be seen at 
> https://docs.google.com/document/d/1B30U9csgY299W59tNraSX1LYjzsba2i04OrYAUpdIZs/edit 
> .
> 
> My goal is that this work can be integrated well enough into 
> /usr/ports/Mk so that unlike Jail, no set up work should be required for 
> using ports tree to build a set of installable packages.
> 
> Please let me know if you are interested in this project; feedback is 
> appreciated.? If someone would like to provide ongoing feedback or 
> mentorship that would be especially helpful.? Bakul Shah is my mentor 
> officially for GSoC but I would be happy to have additional support from 
> someone who is experienced with internals of the port infrastructure 
> makefiles.
> 
> Theron Tarigo

Regards,
-- 
Rod Grimes                                                 rgrimes@freebsd.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201905290328.x4T3Sfep018873>