ltib
[Top][All Lists]
Advanced

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

Re: [Ltib] Idea: Binary lpp pool?


From: Stuart Hughes
Subject: Re: [Ltib] Idea: Binary lpp pool?
Date: Wed, 22 Jul 2009 13:38:43 +0100
User-agent: Thunderbird 2.0.0.16 (X11/20080707)

Hi Mike,

If everyone is building identical systems why not share out the same NFS rootfs image, or jffs2/RAMdisk image?

Another alternative is to make an ISO release for your site. This pre-builds the rpms for the configuration you choose. When someone installs this, the binary rpms on the ISO are used. If things get modified then all the normal checks are made and builds are made as-required. To make an ISO release you can do: ./ltib -m release

I don't think adding a global pre-built rpm cache is feasible, seem my comments below about configuration dependencies.

Regards, Stuart

Mike Goins wrote:
I would love a local staging area for prebuilt rpms since all our
developers will be using identical build systems.   Is there a way to
get ltib to check in the way it does for %ppp_url and %gpp_url in
.ltibrc for prebuilt binaries?   If it is not already there there then
I would definitely add it myself.

As it is now it takes a really long time for every new developer to
build everything.


On Tue, Jul 21, 2009 at 8:45 AM, Stuart Hughes<address@hidden> wrote:
Hi Svein,

I have thought of doing this and to some extent it already exists within an
instance of LTIB.

The problem with a global/site set of binary rpms is that they'd need to be
distinguished by configuration.  For example, even if are working on
platform X, if we change the toolchain, or even its toolchain C flags the
binary rpms would need to be stored somewhere else.  This leads to a large
storage requirement and good tracking on what configuration changes would
require a different storage place for a set of rpms.  Even if you take care
of this you then have the problem of package configuration dependencies.
 For example packages that build later use configure to determine what they
may include.   So you may build the same package with different capabilities
depending on what is already configured in the system.

To help the issue you face LTIB does cache rpms within an instance.  If you
cat rpm/RPMS/.config you'll see that a fingerprint is made for a set of
rpms, if you change for example the toolchain, LTIB will save the old rpms
but insist on building the new set (for the new toolchain), if you swap back
though it will be fast as the rpms for the previous toolchain(s) have been
saved.  Additionally ccache is enabled which helps speed up (per-user)
builds.

So yes its been considered but I think I narrowly fall down on the side of
not doing it for now (beyond what is already there).

Regards, Stuart

Svein Seldal wrote:
Hi

Has it at any point been considered to make a pool from the binary
packages (rpm's) -- similar to the lpp but for binaries?

I notice that when I compile ltib, it usually involves building the same
packages over and over again. (Because I have multiple ltib trees to test
different things. Same applies to all of the users on our build server.
Since all target the same HW, the same binary packages will be built many
times over.)

What if there were a functionality to release a binary package (ltib -m
binrelease) which would move the package to a lpp_bin/ of some kind. When
ltib is asked to install a package, say hotplug, it will check if it is
present in the lpp_bin/ copy it to your local rpm/ directory.

Of course I understand you can't do that for packages which you are
working on or can configure individually (like kernel and busybox), but for
a majority of packages this would probably work.


- Svein



_______________________________________________
LTIB home page: http://ltib.org

Ltib mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/ltib



_______________________________________________
LTIB home page: http://ltib.org

Ltib mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/ltib





reply via email to

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