Soyuz/HowToUseSoyuzLocally

Not logged in - Log In / Register

Revision 78 as of 2020-03-18 18:00:18

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 builder-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

Set up a builder

Set up for development

If you are intending to do any development on launchpad-buildd or similar, you possibly want HowToDevelopWithBuildd.

Installation

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

In your builder vm/lxc:

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

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

Launchpad Configuration

From your host system:

Shortly thereafter, the new builder should report a successful status of 'idle'.

If you want to test just the builder 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 builder as below.

Drive builder through rpc

With librarian running, fire up a python3 shell and:

from xmlrpc.client import ServerProxy
proxy = 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