Emdebian Toolchain Autobuilder
Emdebian Toolchain Autobuilder is in a very inmature stage, so be carefull.
Paamboli has a separated set of scripts named pernil, tomata, pa and oli. It keeps in mind distributed buildings relaying on secure keys, with the master and slave point of view.
Oli is the master script and it is meant to be run on the master system, and basically what it does is to send tomata to the slave system (which have been already configured with pa and a rootfs tarball) and tomata triggers pernil script which it is encharged to set up the build environment and produce the binaries, afterwards those get send to the master and included into the public repository.
Configure pernil.sh variables to set up the architectures and packages that you wanna-build
Configure oli.sh to setup the hosts you want to use
Then run oli.sh
You need to create a tarball with a rootfs.
[buildd-amd64] type=file description=Debian amd64 unstable file=/srv/buildd-rootfs.tgz groups=emdebian root-groups=emdebian run-setup-scripts=true #run-exec-scripts=true [buildd-i386] type=file description=Debian i386 unstable file=/srv/i386-rootfs.tgz groups=emdebian root-groups=emdebian run-setup-scripts=true #run-exec-scripts=true
Note that i386-rootfs.tgz is a compressed rootfs for i386 and amd64-rootfs.tgz is a compressed rootfs for amd64 To generate the filesystem one can use debootstrap and then install all the required software. One also needs to set up a ssh-key to be able to do the transfers between master and slave servers.
Put pa.sh somewhere sensible, for example, on eisluft pa.sh is under /usr/local/bin/
Setup pa.sh as a cron task.
On eisluft the building magic happens under /srv/emdebian set by UP_ROOTFS="emdebian"
and user zumbi has a cron job that updates the tarball every day.
00 19 * * * /usr/local/bin/pa.sh
- pa.sh should take tarball name as a parameter so it can update different tarballs (p.e., i386-rootfs.tgz and amd64-rootfs.tgz)
paamboli is designed to be used with buildcross