[oe] buildserver

Yury Bushmelev jay4mail at gmail.com
Fri Nov 19 10:42:27 UTC 2010


2010/11/19 Klaus Schwarzkopf <schwarzkopf at sensortherm.de>:
> Hi,
>
> i have some problems with the ti recipes, see my emails on the list.
>
> The two problems are:
> * the recipes are out of date and don't work.
> * the recipes can't download the source files.
>
> My idea is, to have an buildserver. On every commit (every night or every
> week), the buildserver download the sources and build the recipe.

For which DISTRO/MACHINE and image should it build? :)
What to do with commits while building is in process?
What to do with non-recipes commits (classes, conf, contrib)

> If the server builds the recipe successful, it copy the source files to the
> webserver.
>
> If the builds fails, the person how committed the recipe recieve a email
> with the log files.
>
> What do you think about my idea?

Just remember that OE have a lot of distros, machines and images.
Ideal case is to test all combinations, but, let's try to imagine how
long this will be.

We have following number of distros, machines and images:
$ ls conf/distro/*.conf | wc -l
32
$ ls conf/machine/*.conf | wc -l
297
$ ls recipes/images/*.bb | wc -l
99

My testbuilder (phenom II x6) is building one image in about 2 hours.
So, 32 * 297 * 99 * 2 = 1881792 hours. It is about 214 years if I
calculate right. Well, cluster of 32 alike machines can reduce this
time to 6 years :)

It would be great to have buildserver that will rebuild some most
frequently used combinations once per day. Probably, qemu machines +
automated testing under qemu.
Or even create some distributed build system (buildbot?) with server
(should give tasks to clients) and clients (should build tasks given
by server).

Other good idea is to have sanity checker running once per day too. It
may do next things:
- check recipes syntax
- check thath recipes SRC_URI can be fetched
- check recipes for security flaws (we have tool already)
- ...
- PROFIT! :) (sorry, just can't not to write this :)

-- 
Yury Bushmelev




More information about the Openembedded-devel mailing list