2939
Comment:
|
← Revision 27 as of 2015-08-24 08:01:22 ⇥
0
Mostly no longer relevant (xml rpc moved to HowToUseSoyuzLocally).
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= Try the build slave locally = '''This overlaps in part with [[Soyuz/HowToUseSoyuzLocally|HowToUseSoyuzLocally]] which I found out about too late.''' == Build the package == {{{ cd lib/canonical/buildd debian/rules package dpkg-buildpackage -b }}} Package is lib/canonical/launchpad-buildd*all.deb == Set up pbuilder chroot == To avoid installing the launchpad-buildd package on my computer, I use pbuilder to create an manage a chroot environment. Like me, you can configure MIRRORSITE in /etc/pbuildderrc to use a closer mirror, if you want. Then do {{{ sudo pbuilder --create --distribution lucid sudo pbuilder --login --save-after-login }}} Now you should find yourself inside the chroot. To satisfy the NTP needs of the launcahpd-buildd, define it to be the IP of ntp.ubuntu.com or whatever NTP server you like. {{{ echo "91.189.94.4 ntp.buildd" >> /etc/hosts exit }}} After exit, the chroot will be re-packaged by pbuilder to save the changes. You might choose to save other steps as well but usually I configure the chroot whenever I run it, like so. {{{ sudo pbuilder --login --inputfile lib/canonical/launchpad-buildd*all.deb }}} Inside the chroot again: Install and start buildd: {{{ dpkg -i /tmp/buildd/launchpad-buildd*all.deb apt-get -f install /etc/init.d/launchpad-buildd start }}} We need a package to try out the generation of translation templates. Eventually this will be pulled in via bazaar but now I do it manually. Obviously, this is specific to this type of build. Inside the chroot edit /etc/apt/sources.list to enable the deb-src line. Then pull in a source pacakge. Gimp has a couple of translation templates. {{{ apt-get update cd /home/buildd su buildd apt-get source gimp }}} == Upload chroot to librarian == ''Outside the chroot, in another terminal (leave the buildd in the chroot running!)'' Get the builder chroot from https://edge.launchpad.net/api/devel/ubuntu/lucid/i386/chroot_url. We need a running librarian now. {{{ make run (make start_librarian didn't work) scripts/upload2librarian -f chroot-ubuntu-lucid-i386.tar.bz2 --> http://launchpad.dev:58080/93/chroot-ubuntu-lucid-i386.tar.bz2 }}} Copy that URL for the next step. == Drive slave through rpc == With the libranrian still running, fire up a python shell. {{{ python >>> import xmlrpclib >>> proxy = xmlrpclib.ServerProxy('http://localhost:8221/rpc') >>> proxy.ensurepresent('f1f10b8402ed686aaf0307676c76f07b45af2a09', 'http://launchpad.dev:58080/93/chroot-ubuntu-lucid-i386.tar.bz2', '', '') >>> proxy.build('1-1', 'translation-templates', 'f1f10b8402ed686aaf0307676c76f07b45af2a09', {}, {'branch_url': '/home/buildd/gimp-2.4.5'}) >>> proxy.status() >>> proxy.clean() # Clean up if it failed }}} == Inspect buildlog == Inside the chroot: {{{ less /home/bulidd/.../buildlog }}} |