GSoC: Separation of Ports Build Process from Local Installation
Rodney W. Grimes
freebsd-rwg at gndrsh.dnsmgr.net
Wed May 29 03:28:55 UTC 2019
[ 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 at freebsd.org
More information about the freebsd-hackers
mailing list