Diff for "LaunchpadPpa"

Not logged in - Log In / Register

Differences between revisions 30 and 77 (spanning 47 versions)
Revision 30 as of 2010-07-22 11:47:31
Size: 4487
Editor: lifeless
Comment: transitions
Revision 77 as of 2021-08-24 10:48:34
Size: 4691
Editor: cjwatson
Comment: various package-specific series updates and similar
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
= launchpad-dependencies = <<TableOfContents>>

= Launchpad-specific packages =

== bzr-lpreview-body ==
This package contains the [[https://launchpad.net/lpreview-body|lpreview_body plugin]] for Bazaar. The packaging can be found in lp:~launchpad/lpreview-body/packaging.

== geoip-data-city-lite ==
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)

== launchpad-dependencies ==
Line 10: Line 21:
 1. Edit debian/control to add or change the dependencies. Your name + email address must match an identity in your GPG key exactly.  1. Edit debian/control to add or change the dependencies.
 1. 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.
Line 19: Line 31:
 1. Actually build your source upload: {{{
bzr builddeb -S
 1. Since the package has a [[https://code.launchpad.net/~launchpad/+recipe/meta-lp-deps-on-demand|Launchpad build recipe]], you only need to push the branch to Launchpad:{{{
bzr push lp:meta-lp-deps
Line 22: Line 34:
 1. Tag it, push it, upload it: {{{
bzr mark-uploaded
bzr push lp:meta-lp-deps
debsign -S
debrelease --dput -S ppa:launchpad/ppa
}}}
 1. If uploading a version from the trunk branch, after it has built, go to the PPA +copy-packages page copy it to all the other distroseries that the trunk branch is currently serving. Use the ''copy existing binaries'' option when copying.

After you've done this, you may need to update [[EC2Test/Image]]

= geoip-data-city-lite =
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)
Line 37: Line 36:
== launchpad-buildd ==
Line 38: Line 38:
= Rebuilds to restore older Python support =
Most of the PPA is rebuilds of python library packages to re-instate support for the old Python version Launchpad requires, which has since been dropped as a supported version in Ubuntu.
This is from https://launchpad.net/launchpad-buildd.
Line 41: Line 40:
In jaunty/karmic, the need was to re-add Python 2.4 support. Launchpad made it to Python 2.5 for Karmic... and now the need is to re-add Python 2.5 support in lucid packages. 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.
Line 43: Line 42:
This should generally be done with a no-source-change rebuild where possible. [[https://code.launchpad.net/~launchpad/+recipe/launchpad-buildd-daily|The package is built daily or on request by a recipe]]
Line 45: Line 44:
 * Sourceful changes - in bzr branches
  * python-defaults (https://code.edge.launchpad.net/~launchpad-committers/ubuntu/lucid/python-defaults/launchpad-ppa)
  * python-support (https://code.edge.launchpad.net/~launchpad-committers/ubuntu/lucid/python-support/launchpad-ppa)
Line 49: Line 45:
 * No-source-change rebuilds
  * distribute (didn't actually work, was just to facilitate building 2.5 eggs, for which the immediate need passed, so hasn't been fixed.)
  * egenix-mx-base
  * psycopg2
  * pycxx
  * pysvn (no-source-change since lucid; earlier patching in branches)
  * python-apt
  * python-crypto
  * python-geoip
  * python-imaging
  * python-pysqlite2
  * subversion (no-source-change since lucid)
  * tickcount
== lpsetup ==
Line 63: Line 47:
 * In PPA for karmic but not for lucid:
  * python-sqlite: lucid version is still Python 2.5 compatible so far
?? (probably only used by parallel buildbot slaves, which are probably using the puppet fork anyway)
Line 66: Line 49:
= Other compatibility issues (Lucid) =
Line 68: Line 50:
 * postgresql-8.3: was dropped, we need it still, and it needed a no-change rebuild to pick up a ${shlibs:Depends} change.
 * python2.5: was dropped, binary-copied last version from the primary archive.
 * slony1: build against postgresql 8.3 instead of 8.4. (should put this in a branch)
 * xulrunner: The Ubuntu source no longer builds spidermonkey-bin. This is the Debian source, minimally hacked to build only the binary packages which the Ubuntu source no longer provides. (should put this in a branch)
== mmm-archive-manager ==
Line 73: Line 52:
= distro Transition issues = ??
Line 75: Line 54:
While we migrate (e.g. from hardy to lucid) we'll need two versions built in the PPA so that the operating machines can run one version, and developers can use another deb suited to their OS.
= Backported or patched Ubuntu packages =

== postgresql-10, postgresql-common, postgresql-debversion, slony1-2 (trusty, xenial) ==

Straight backports of PostgreSQL 10 and paraphernalia from bionic to trusty. bionic's version is fine.


== pgbouncer (trusty) ==

Trusty's pgbouncer with wgrant's ENABLE/DISABLE patch as required by full-update.py. 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.


== libgit2, git (bionic) ==

Various updates backported from focal for use on git.launchpad.net.


== convoy ==

[[https://code.launchpad.net/~launchpad/+recipe/launchpad-convoy|Daily builds of lp:convoy with custom packaging]]. The packaging is based on [[https://code.launchpad.net/~landscape/+recipe/convoy-daily-trunk-lds|Landscape's]], but modified to install Launchpad's convoy.wsgi. Ubuntu's modern packaging uses dh-python and supports Python 3.


== debian-archive-keyring (xenial, bionic, focal) ==

Straight backport for new Debian archive keys for gina's mirror. hirsute's version is fine.


== git-build-recipe ==

[[https://code.launchpad.net/~launchpad/+recipe/git-build-recipe-daily|Daily builds of lp:git-build-recipe]] for buildds.


= Distro series support =


== Stable ==
 * trusty (obsolete production LTS, still used by databases)
 * xenial (current production LTS)
 * bionic (next production LTS)


== In progress ==
 * focal (next, next production LTS?)


When the supported series change, remember to also update [[Getting]] and [[Running]].

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

bzr-lpreview-body

This package contains the lpreview_body plugin for Bazaar. The packaging can be found in lp:~launchpad/lpreview-body/packaging.

geoip-data-city-lite

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)

launchpad-dependencies

The launchpad-dependencies source is managed in Bazaar branches at https://code.launchpad.net/meta-lp-deps.

Policy/procedure for updates:

  1. You will need bzr-builddeb and debhelper packages installed.
  2. Edit debian/control to add or change the dependencies.
  3. 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.
  4. 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.
  5. debcommit or bzr commit
  6. Exercise personal judgment on whether your change merits a merge proposal, or is sufficiently trivial to just be committed directly.
  7. If preparing a merge proposal, please ensure your branch for review contains a complete debian/changelog entry ready for release.
  8. Go to the trunk (or older distro) branch and merge / commit or pull changes ready to build.
  9. Test-build your package:

    bzr builddeb
  10. Since the package has a Launchpad build recipe, you only need to push the branch to Launchpad:

    bzr push lp:meta-lp-deps

launchpad-buildd

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.

The package is built daily or on request by a recipe

lpsetup

?? (probably only used by parallel buildbot slaves, which are probably using the puppet fork anyway)

mmm-archive-manager

??

Backported or patched Ubuntu packages

postgresql-10, postgresql-common, postgresql-debversion, slony1-2 (trusty, xenial)

Straight backports of PostgreSQL 10 and paraphernalia from bionic to trusty. bionic's version is fine.

pgbouncer (trusty)

Trusty's pgbouncer with wgrant's ENABLE/DISABLE patch as required by full-update.py. 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.

libgit2, git (bionic)

Various updates backported from focal for use on git.launchpad.net.

convoy

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.

debian-archive-keyring (xenial, bionic, focal)

Straight backport for new Debian archive keys for gina's mirror. hirsute's version is fine.

git-build-recipe

Daily builds of lp:git-build-recipe for buildds.

Distro series support

Stable

  • trusty (obsolete production LTS, still used by databases)
  • xenial (current production LTS)
  • bionic (next production LTS)

In progress

  • focal (next, next production LTS?)

When the supported series change, remember to also update Getting and Running.

LaunchpadPpa (last edited 2021-08-24 10:48:34 by cjwatson)