On 11 May 2012 04:31, Ken Werner <ken.wer...@linaro.org> wrote:
> On 05/10/2012 04:27 AM, Michael Hope wrote:
>>
>> 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
>
>
> Hi Michael,
>
> Thanks for the skeleton. I haven't had the time to look at cbuild so far.
> Currently I'm using a bash script to automate the checkout, build and test
> of oe-core+meta-linaro:
> http://people.linaro.org/~kwerner/oe-core/script/build-oe-core-linaro.sh
> The testing part is very basic. It starts the image using QEMU, logs into
> the system and greps the output from the serial console.
>
> For now, I'm focusing on backporting the GCC 4.7 support from oe-core
> (master) to meta-linaro (denzil) in order to support the Linaro GCC 4.7 with
> the oe-core release (denzil).

That script is epic.  I think there's a good mapping to cbuild from
there.  Feel free to create script fragments to call from the Makefile
instead of embedding everything in the Makefile itself.  They may end
up reusable as well.

-- Michael

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to