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

Infrastructure



Hi,

Does anybody have any ideas about how we could put together a
distributed build system?

I think Roman Hodek's wanna-build system might be useful.

Unfortunately, I've misplaced that announcement - does anybody know
where I can grab it so I can play?

It wouldn't be too hard for team members to set up cron jobs on their
own computers that would nightly update their CVS repositories (from
Gnome, etc.), and generate source packages.

The generated source packages would be have a version consisting of a
timestamp:

 eg.  Dec. 16th, 21:29 GMT  -->  gnome-libs_981216.2129.orig.tar.gz  

The script would also generate the .diff.gz and .dsc files.  I'm not
sure what the best way of doing this is.  Perhaps it would just take
the previous attempt's .diff.gz and .dsc and try to apply it (updating
the changelog entry).  Occasionally, this might fail.

Once the source package was generated, it would be uploaded the build
queue directory on master.debian.org (sort of like incoming).

I think we might need have some sort of an extended source package -
with a "recipe" so we can pass on additional directions.  The source
dependencies need to be represented somewhere.  We may need to changed
the source dependencies from day to day.  Maybe wanna-build already
does some of this?

Then the distributed build daemons would take the sources, and build
them (taking care of source dependencies as they go).

The build logs would be sent to a mailing list.

If the build was successful, the binary packages would be uploaded to
master, and they'd be installed onto the ftp site for users to
download.  The ftp site should probably be structured in such a way
that several days worth of binary packages are kept online.

If the build failed, an error would be sent to a mailing list.  The
maintainer for that package might fix the problem, and resubmit a new
.diff.gz, .dsc and recipe file.  If that maintainer is busy or on
holidays, another maintainer could step in.  We'd have to figure out
some sort of policy/protocol for doing that.

How does that sound?

One problem I see with all this is that it's a pretty heavy user of
bandwidth.  I've only got a 28.8kbps link to my home office.

Cheers,

 - Jim





Reply to: