Launchpad development setup

Setting up and running Launchpad

I’ve finished the installation “Setting up and running Launchpad”. I installed it in an LXD container. I then followed the create-a-user step where it created a virtuous-sloth user with an email of virtuous-sloth@example.com. That user appeared to have my RSA key imported but I don’t know for sure how it got it. Two possibilities exist; it pulled information from https://launchpad.net/ or it imported it from my home directory.

The installation using an LXD includes instructions for mapping your home directory from the host hypervisor into the guest container, which is what I did. I’m guessing it pulled it from my home directory.

Along with the built-in admin@canonical.com all-powerful account, the two accounts have no password so you can log out and in as either with ease. The personal account is not a member of any groups so stands as a good ordinary test user.

Looking at the Codehosting and Soyuz components, it looks like the latter is related to building so I think I will install that next.

Install Soyuz

Initial setup

In the initial setup section in the first step you run utilities/start-dev-soyuz.sh but it failed right away for me. This had to do with this deprecation. I simply chose to disable the warning with the environment variable:

export PYTHONWARNINGS=ignore::yaml.YAMLLoadWarning

and the step quickly finished.

The next step imports metadata for Ubuntu releases from Dapper Drake through Jammy Jellyfish - nice. After restarting (^C in my current make run shell session then starting with make run_codehosting) and logging in as the ppa-user with my own email, I see a GPG key has been added. The document is a bit misleading in that it says “This user has your GPG key associated” but the key seems to be synthetic: 000186A0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Extra PPA dependencies

This section seems to imply that you may want to change the external dependencies from explicitly on Lucid to a more generic form with %(series)s in the source definition, but that generic value was already there.

Set up a builder

The documentation still says the builder is running Xenial, but if you look at current launchpad.net build logs (for example, this you can see this near the top:

Buildd toolchain package versions: launchpad-buildd_223~593~ubuntu20.04.1 

Which implies the builder is running on focal, so I’ll switch to that.

Launchpad configuration

This section makes a reference to Precise Penguin. When I hit the previous container question of Xenial or Focal I reached out the the Launchpad team and asked and they said the doc was out of date and they might be able to fix it tomorrow. I think I’ll wrap this up here for today, then.

For reference:

Article series