Auto-tools/Projects/B2G/B2G Build Machine
An amazon EC2 VM is acting as a build machine for B2G builds. It builds qemu for each github commit to https://github.com/andreasgal/B2G. The build results are available at http://builder.boot2gecko.org/. This machine does not currently store the builds themselves; each build is overwritten by the next.
Setup
login
Once your ssh key has been installed on the machine, you can login using:
ssh ec2-user@ec2-184-73-70-191.compute-1.amazonaws.com
gitbuilder
The machine uses gitbuilder to make the builds. Gitbuilder is installed at /data/gitbuilder, and the B2G repo that gitbuilder uses is at /data/gitbuilder/build. The build script used by gitbuilder is at /data/gitbuilder/build.sh.
manually building: to manually make a build, execute
/data/gitbuilder/run-build.sh HEAD
or specify a different revision
automatically building: there is a cron job that launches /data/gitbuilder/start every hour. This script sees if there are any new commits in the repo it is monitoring, and if so, it pulls and builds. If gitbuilder is already running when start is invoked, it will exit.
logs: gitbuilder logs are all stored at /data/gitbuilder/out, which is the directory served by http://builder.boot2gecko.org/
installing build libs
In order to build B2G, the usual libs need to be installed. However, B2G needs 32-bit libs, and these are not available by default on this 64-bit VM.
To address this, it's necessary to create a file called /etc/yum.repos.d/amzn-main-32 with the following contents:
[amzn-main-32] name=amzn-main-Base-32 baseurl=http://packages.us-east-1.amazonaws.com/2011.09/main/628cacc71fec/i386 metadata_expire=300 priority=1 failovermethod=priority fastestmirror_enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga enabled=1
If you are setting this up on a different machine, you can get the gpgkey path from one of the existing files, and the baseurl from http://repo.us-east-1.amazonaws.com/latest/main/mirror.list
After adding the above file, you'll need to re login for the changes to take effect. Then, you can install 32-bit libs by adding '.i686' to the lib name, for example:
# installs 64-bit readline sudo yum install readline-devel # installs 32-bit readline sudo yum install readline-devel.i686
apache
Apache is the webserver running on this VM; its config file is at /etc/httpd/conf/httpd.conf. You can restart apache using:
sudo service httpd restart