Closed Bug 670716 Opened 13 years ago Closed 12 years ago

allow build dependencies to be set per train

Categories

(Release Engineering :: General, defect)

All
Linux
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: jhford, Assigned: jhford)

References

Details

We should have the host linux OS should be very lean, with all of the dependencies and tool chains built and installed locally (through packages).  This means that we can have different dependencies per train without different slave pools.
(this should include Android build deps)
I'm not sure what you mean by "installed locally" - all of our installs are local.

How would the same slave provide two versions of some dependency?  Are you looking at chroots here?
(In reply to comment #2)
> I'm not sure what you mean by "installed locally" - all of our installs are
> local. 

i dont know why i used 'locally'.  What i meant was that they should be in installed in version/arch labeled directories.

> How would the same slave provide two versions of some dependency?  Are you
> looking at chroots here?

A couple options,

1) Encode the arch into the path of the dependent libraries
/tools/deps/x86_64/fontconfig-2.4.2, or 
/tools/deps/fontconfig-2.4.2-x86_64, or
<insert bike shedding discussion here>

2) complete OS in a chroot.  this has the downside of using space less efficiently but has the advantage of simplicity of development.  This could be a pain to maintain.  Likely, we would perform maintenance on each chroot using its own tools, then packaging the entire system up as a single (or small set of) RPM that is deployed to the slaves.  Because the slaves support (and we would generate) delta rpms, this wouldn't be too bad on the network.

3) minimal chroot.  this would be a chroot that has exactly the build time tools and libraries, likely based on 1) above, but with tools to set up the libraries in the 

These are all things I will look into once bug 670710 is resolved.
We are using mock to produce our b2g builds.  Bug 740690 is where work to change our Firefox builds to use mock will go.

Marking this bug as complete because we have the systems in place to satisfy the aim of this bug.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.