On Thursday, 14 May 2020 06:13:33 BST Dale wrote:
> François-Xavier Carton wrote:
> > Hi,
> > 
> > Is there a way of installing packages in a different prefix while still
> > using system packages? I've tried setting EPREFIX, however doing that
> > will install all dependencies in the prefix, even if there are already
> > installed in the system.
> > 
> > I was hoping to install some packages in user directories, but I also
> > don't want to duplicate the packages installed globally. For example,
> > most packages eventually depend on gcc, which I definitely don't want to
> > compile twice. So ideally, only dependencies that are not installed
> > globally should be pulled in.
> > 
> > I was not able to find a way of doing that, but I feel like it shouldn't
> > be too hard, because EPREFIX almost does what I want. Does someone know
> > if it's possible without too much tweaking?
> > 
> > Thanks,
> > -François-Xavier
> 
> I'm clueless on EPREFIX but if you want to avoid compiling a package
> twice, would the -k option help?  If you have portage set to save the
> binaries you compiled before, it would install from that instead of
> compiling things twice. 
> 
> Just thought I'd mention just in case it would help. 
> 
> Dale
> 
> :-)  :-) 

The whole concept of EPREFIX is predicated on installing a Gentoo system 
within a different path/filesystem than the / of the host installation and 
being able to run it as a non-root user.  As I understand it, using libraries 
from the main system and potentially altering them in the process is not going 
to work without changing Gentoo's eprefix intended design.

It should be possible to change the prefix paths selectively, in particular 
the LD_LIBRARY_PATH to link binaries from within the prefix to libraries in 
the host system, but I'm not sure what privileges are needed to install/run 
such a hybrid linkage and how an update of the host system will break 
installed packages within the EPREFIX and vice versa.  We're talking of a 
Frankenstein build here with the potential of install operations on one system 
would be breaking the other, including portage itself. 

With containerisation of applications there may be easier ways to achieve what  
François-Xavier is looking for.  I am thinking of running sandboxed 
applications in the likes of flatpack, snap, zero-install, appimage and 
whatever else may have been devised lately.  However, with these systems you 
end up using what's already been developed and any static libraries their devs 
considered desirable.  If you want a bespoke installation optimised for your 
hardware and chosen compilation flags, then you are probably looking to 
develop a containerised application for your own use.

Someone more knowledgeable in both Gentoo's EPREFIX project and containerised 
apps should chime in soon to offer more helpful advice.

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to