This page is documentation for uploaders to the Launchpad PPA.
The Launchpad PPA (https://launchpad.net/~launchpad/+archive/ppa) contains dependencies for running Launchpad.
- Launchpad-specific packages
Backported or patched Ubuntu packages
- pocket-lint (precise)
- postgresql-9.3, postgresql-common, postgresql-debversion, slony1-2 (precise)
- pgbouncer (precise, trusty)
- libsodium (precise, trusty)
- cgit, libgit2, python-pygit2, git (trusty)
- git (precise)
- debian-archive-keyring (precise)
- debmirror (precise)
- apt, python-apt (precise, trusty)
- python-debian (precise, trusty)
- Distro series support
This package contains the lpreview_body plugin for Bazaar. The packaging can be found in lp:~launchpad/lpreview-body/packaging.
bzr-pqm contains various plugins like lp-land. It needs to be maintained for all distroseries that we support development on.
This package is maintained through a recipe. See: https://code.launchpad.net/~launchpad-committers/+recipe/bzr-pqm-launchpad-ppa
This package is a single data file, which upstream publishes updates to monthly. Why haven't we updated it since 2008?
- Because we are using it only for tests and updating too frequently may actually break some tests (we've seen it happen). It's no big deal if developers don't get the fully up-to-date geoIP DB. Production uses the proprietary geoIP DB instead. — Danilo (2010-01-21)
The launchpad-dependencies source is managed in Bazaar branches at https://code.launchpad.net/meta-lp-deps.
Policy/procedure for updates:
- You will need bzr-builddeb and debhelper packages installed.
- Edit debian/control to add or change the dependencies.
- Set the DEBEMAIL and DEBFULLNAME environment variables. Your name and email address must match an identity in your GPG key exactly. You may want to put this in your shell rc file so you don't have to set it manually every time.
- Run 'debchange -i' in the root to increment the version number and add a changelog entry in the correct format. Remember that launchpad-dependencies should not have an ubuntu1 suffix on its version number, so if debchange -i adds that for you, take it out again and increment the unsuffixed version number instead.
- debcommit or bzr commit
- Exercise personal judgment on whether your change merits a merge proposal, or is sufficiently trivial to just be committed directly.
- If preparing a merge proposal, please ensure your branch for review contains a complete debian/changelog entry ready for release.
- Go to the trunk (or older distro) branch and merge / commit or pull changes ready to build.
Test-build your package:
Since the package has a Launchpad build recipe, you only need to push the branch to Launchpad:
bzr push lp:meta-lp-deps
This is from https://launchpad.net/launchpad-buildd.
python-lpbuildd is used by the test suite, so is part of launchpad-developer-dependencies. launchpad-buildd itself runs an actual buildd and is only needed on slaves.
Daily builds of lp:html5-browser with custom packaging. Should switch to dh-python once we no longer support precise.
?? (probably only used by parallel buildbot slaves, which are probably using the puppet fork anyway)
Backported or patched Ubuntu packages
pocket-lint is in the Ubuntu primary archive, but the PPA upgrades precise's 0.5.30 to 0.5.31. trusty's version is fine.
You can build trunk on demand using a recipe https://code.launchpad.net/~sinzui/+recipe/pocket-lint-daily
postgresql-9.3, postgresql-common, postgresql-debversion, slony1-2 (precise)
Straight backports of PostgreSQL 9.3 and paraphernalia from trusty to precise, since LP no longer runs on PostgreSQL 9.1. trusty's version is fine.
pgbouncer (precise, trusty)
Trusty's pgbouncer with wgrant's ENABLE/DISABLE patch as required by full-update.py, and additionally backported to precise. For the benefit of launchpad-dependencies, the patched package additionally Provides pgbouncer-with-disconnect.
The ENABLE/DISABLE patch is included upstream in pgbouncer 1.6, so xenial's version is fine.
libsodium (precise, trusty)
Straight backports of wily's libsodium, for pymacaroons. xenial's version is fine.
cgit, libgit2, python-pygit2, git (trusty)
Backported dependencies of turnip (for git.launchpad.net), not LP itself. turnip doesn't run on precise, so they're not required there.
libgit2 and python-pygit2 sometimes have minor backports from master. Only 0.22 is currently supported, so xenial onwards currently require a forward port of those two.
Cherrypicks of remote symbolic ref features for the LP git codeimport workers. trusty's version is fine.
Daily builds of lp:convoy with custom packaging. The packaging is based on Landscape's, but modified to install Launchpad's convoy.wsgi. Ubuntu's modern packaging uses dh-python and supports Python 3, which makes Landscape's packaging preferable while we still support precise.
Straight backport for new Debian archive keys for gina's mirror. trusty's version is fine.
Straight backport to allow us to mirror Debian's newly SHA256-only archive for gina. trusty's version is fine.
apt, python-apt (precise, trusty)
Trusty's apt with apt-ftparchive source package caching backported, and additionally backported to precise. xenial's version is fine.
python-apt is additionally backported to precise (with Python 3 support dropped and some test fixes) to cope with the new libapt-pkg.
python-debian (precise, trusty)
?? (backports from wily, but why?)
Daily builds of lp:git-build-recipe for buildds.
Distro series support
- precise (current production LTS)
- trusty (next production LTS)
- xenial (next, next production LTS?)
- yakkety (current development series)