Soyuz/HowToUseSoyuzLocally

Not logged in - Log In / Register

Revision 72 as of 2019-05-28 23:56:19

Clear message

You're going to run Soyuz in a branch you create for the purpose. To get the whole experience, you'll also be installing the slave-side launchpad-buildd package on your system.

Initial setup

Extra PPA dependencies

The testing PPA has an external dependency on Lucid. If that's not enough, or not what you want:

deb http://archive.ubuntu.com/ubuntu %(series)s main restricted universe multiverse

Setup a build slave

Installation

If you are running Launchpad in a container, you will more than likely want your VM's network bridged on lxcbr0.

In your slave vm/lxc:

Alternatively, launchpad-buildd can be built from lp:launchpad-buildd with dpkg-buildpackage -b.

To run the build slave by default, you should make sure that other hosts on the Internet cannot send requests to it! Then:

Launchpad Configuration

From your host system:

Bob, shortly thereafter should report a successful status of 'idle'.

If you want to test just the build slave without a Launchpad instance, then, instead of using manage-chroot -l dev set, you can copy the chroot tarball to /home/buildd/filecache-default/; the base name of the file should be its sha1sum. You'll need to copy any other needed files (e.g. source packages) into the cache in the same way. You can then send XML-RPC instructions to the slave as below.

Drive slave through rpc

With librarian running, fire up a python shell and:

import xmlrpclib
proxy = xmlrpclib.ServerProxy('http://localhost:8221/rpc')
proxy.ensurepresent('d267a7b39544795f0e98d00c3cf7862045311464', 'http://launchpad.test:58080/93/chroot-ubuntu-lucid-i386.tar.bz2', '', '')
proxy.build('1-1', 'translation-templates', 'd267a7b39544795f0e98d00c3cf7862045311464', {},
  {'archives': ['deb http://archive.ubuntu.com/ubuntu/ lucid main'], 'branch_url': '/home/buildd/gimp-2.6.8'})
proxy.status()
proxy.clean() # Clean up if it failed

You may have to calculate a new sha1sum of the chroot file.

Upload a source to the PPA

[lpdev]
fqdn = ppa.launchpad.test:2121
method = ftp
incoming = %(lpdev)s
login = anonymous

Dealing with the primary archive