ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ltib] LTIB: distribute prebuilt host RPM packages (rpm-fs, git, di


From: Stuart Hughes
Subject: Re: [Ltib] LTIB: distribute prebuilt host RPM packages (rpm-fs, git, distcc, ...)
Date: Fri, 14 May 2010 15:37:59 +0100
User-agent: Thunderbird 2.0.0.16 (X11/20080707)

Gernot Hillier wrote:
> Hi!
> 
> Am 14.05.2010 15:59, schrieb Stuart Hughes:
>> It's not really practical to provide pre-built rpms for the host support
>> packages.  The reason is that they need to be built so they run reliably
>> on each distribution.  For example if you tried to run a pre-built
>> binary linked with gcc4 on a gcc3 machine, it's going to fail.  By
>> building the host packages from scratch is able to be installed on
>> pretty much any distribution.
> 
> Hmmm, but this doesn't hold true for the toolchain package ... as it's
> statically linked?
> 

No it's not statically linked, but you're right that the toolchains can
be installed on any machine.  This was designed in the toolchain
foundry.  However you need an environment that holds them that does not
affect your host package.  This is what /opt/ltib is all about.  That is
we don't want to mess with your host's packages.

Furthermore remember that the toolchains are installed on-demand as the
target choice is made and you build for the target.  There is not fixed
list of installed cross toolchains.

>> In your case, if you know that each VM/install is on the same host
>> distribution, you could build it once and then tar up /opt/ltib and then
>> untar that with your script as part of the install process.
> 
> Yeah, something like this is exactly what I want.
> 
> However, I'd like to stay with your nice workflow of not requiring root
> privileges to run ltib. Same should apply to my script: it shall be able
> to work w/o root rights.
> 
> Therefore I'm seeking for a mechanism to provide an additional dir where
> ltib looks for binary RPMS before rebuilding them - exactly like %ldirs
> provides a means to add an additional LPP dir.
> 

For the host packages this is not easily doable as describe before.
You'll have to implement this yourself.  Fundamentally what happens
(regarding permissions is):

your_distro_rpm is given sudo permissions to install:
/opt/ltib/usr/bin/rpm

Then: /opt/ltib/usr/bin/rpm is used to build/install the other required
host packages.

So if you know all your hosts are running the same distro, you could
come up with a scheme that saves off all the binary rpms and then later
you could somehow install these using your script.

The real battle you're fighting again is the chicken/egg and security
issues of bootstrapping a known environment that can run on and
distribution.

My suggestion would be it's not worth doing this.  If you're using VMs,
why not just clone those at a known working starting point.

S.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]