Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 29 May 2019 12:56:53 +0300
From:      Peter Pentchev <roam@ringlet.net>
To:        "Rodney W. Grimes" <freebsd-rwg@gndrsh.dnsmgr.net>
Cc:        Theron <theron.tarigo@gmail.com>, Bakul Shah <bakul@bitblocks.com>, freebsd-hackers@freebsd.org, soc-status@freebsd.org, freebsd-ports@freebsd.org
Subject:   Re: GSoC: Separation of Ports Build Process from Local Installation
Message-ID:  <20190529095653.GN18665@straylight.m.ringlet.net>
In-Reply-To: <201905290328.x4T3Sfep018873@gndrsh.dnsmgr.net>
References:  <5cdb1c0b-a2dd-c754-daa3-187330ad9ad6@gmail.com> <201905290328.x4T3Sfep018873@gndrsh.dnsmgr.net>

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

--citGix+cyBYE+lqp
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, May 28, 2019 at 08:28:41PM -0700, Rodney W. Grimes wrote:
> [ Charset UTF-8 unsupported, converting... ]
> > Hello All,
> >=20
> > For Google Summer of Code 2019 I am working on FreeBSD's ports tree=20
> > makefiles towards eliminating the dependency of the ports building=20
> > process on the local system's installed packages.? Currently this level=
=20
> > of separation can only be accomplished in practice through chroot or=20
> > Jail.? The project will eliminate the need for cooperation of the root=
=20
> > user since /usr/local will not need to be touched.
> >=20
> > The major technical obstacle to be overcome is that ports expect to fin=
d=20
> > files of their dependencies installed in /usr/local.? To support this=
=20
> > without touching that location on the installed system, file accesses=
=20
> > will be redirected to a location controlled by the ports build process=
=20
> > through use of a library to intercept file accesses.
>=20
> 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.
>=20
> 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.
>=20
> Restoration to this ancient and functional behavior is desirable
> at least on my part.

Hmm, I could be wrong, but isn't ${LOCALBASE} supposed to be where
ports find stuff *during the build*, and ${PREFIX} where they
install the built files?  Of course, I haven't actually touched
a FreeBSD ports build in years, so I might very likely be wrong.
I also seem to remember a series of test port builds done a long
time ago with a different value for LOCALBASE, specifically to catch
ports that do not honor the policy in this regard.

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

G'luck,
Peter

--=20
Peter Pentchev  roam@{ringlet.net,debian.org,FreeBSD.org} pp@storpool.com
PGP key:        http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint 2EE7 A7A5 17FC 124C F115  C354 651E EFB0 2527 DF13

--citGix+cyBYE+lqp
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEELuenpRf8EkzxFcNUZR7vsCUn3xMFAlzuV2AACgkQZR7vsCUn
3xOGrA/5AZxeLDyWUBJaBzzZZqXkZ4bl4jOLlFqyTQIu9/ABsHQnhrTZxP13nijI
gfO2YYHi56+Ubeh6uPay91EqgOf7AaSzWUFDzJvoonrYvCnjcZNIPjG88clKq2nW
3if3JS+XEArUoTisoHFeSpcjVvbmhFxArRAYBrTUfFIx7BvtbcSjsrXaEd3hpePJ
7Gx77gZrS0mOyIsXpRJOgfvtvw4rmtD/+dJnTx/zCXGNI5cyVW6e9BepFCYcu8Ko
fuaBIsEVum+ihruO52R3SrcmlpW+ZctaMnijpyrTBUXkGheDNg3SnoVp9mugbtn+
dvFB+lmR4eEOce8BrEnLPpZkV2EpzP6EVrfZ2a3uNOSpXX+oOxcQ4+3culGTtwf9
ctiIWFK1iT+VYKbOr9Oe/7FihgDZW6LFBdVt6FZPCRpcnDyt4YGCYpKB+OYE8qDU
COHlc7z6EvzwGJpozZweRHvu6bPnsLC0jU+ktISzj2a9GYsGJWGT99MJcEihuJdO
F11VZCem9x9ZfdzqiVviitgpur4CGKgbIPLuT9NEVDxnIdkBxAnGdmxuRs36sAuK
QYj9W80p6acaWGyktFhT4MRKTcYT33IZ0DJ0CY6+yiat4N3YkQ7SoSixFnRFA2u3
PBUwA+cNyngvgomx+oVJNhXNvC1ap2xtGC/q5tRN8HpYzZQEP84=
=UFym
-----END PGP SIGNATURE-----

--citGix+cyBYE+lqp--



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