On Thu, May 14, 2020 at 09:07:43AM +0100, Michael wrote:
> 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.

I wouldn't try to install different versions of the same package, just
add new packages to the base system. But I can see your point about
updates; since the base system is not aware of the prefixed one, it
cannot rebuild the packages in the prefix automatically when needed.
It's indeed more complex than what I hoped :(

Reply via email to