Hi Ken. I've checked in a rough script that builds OpenEmbedded inside the cbuild Makefile-based auto builders.
To run it yourself: * bzr branch lp:cbuild * cd cbuild * cp oecore.mk lib * mkdir -p slaves/`hostname` * cd slaves/`hostname` * make -f ../../lib/oecore.mk
It's a Makefile which runs locally or remotely. Everything is under cbuild/lib. The steps are driven by steps.mk which use stamp files to see what is finished and what needs running. The normal steps are configure; build; install; testsuite; run. I've split the build and similar steps into one per architecture and added a ping to the scheduler (http://ex.seabright.co.nz/helpers/scheduler) between each one as it will take some time. Logs end up in gcc-native/*.txt.
To toast everything, do 'rm -rf gcc-native results'. The top level build directory is $LBUILD (gcc-native/oecore). The variant build directory (think -O3 vs -O2) is $VBUILD (gcc-native/oecore/$variant). The architecture directory is $VBUILD/$arch. I've left $ARCHITECTURES and $IMAGE as fallbacks so they can be overridden by the incoming job.
You should implement 'get-sizes' so we track the final image and package sizes.
I'd add a patch-% rule for any architecture specific patching such as using the vexpress-a9 model. Use patch-% as the fallback and the specific patch-arm for ARM specific. Add it as part of the configure.
It fetches a snapshot of OpenEmbedded and bitbake. The following are snapshotted on change: * kwerner/meta-linaro * openembedded-core/denzil
and end up at: http://builds.linaro.org/toolchain/snapshots/
We don't want download problems stopping us from running. The script uses my normal tactics: * Everything over HTTP * Use a in-network proxy, set in ~/.wgetrc * Pull from a mirror first or only (http://builds.linaro.org/toolchain/misc/mirror/openembedded/)
Install polipo and echo http_proxy=http://localhost:8123/ > ~/.wgetrc. I've seeded the mirror. We should keep track of any extras needed such as due to other architectures.
BTW, I'm wondering about doing the build in zram backed ramdisk. Might speed the build and not wear the build disk out.
-- Michael