Diff for "LaunchpadPpa"

Not logged in - Log In / Register

Differences between revisions 1 and 52 (spanning 51 versions)
Revision 1 as of 2009-11-12 04:16:49
Size: 2554
Editor: maxb
Comment:
Revision 52 as of 2010-12-23 05:20:18
Size: 6648
Editor: wgrant
Comment: pocket-lint is in the natty primary archive.
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
= launchpad-dependencies = <<TableOfContents>>

= 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.

== bzr-pqm ==
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 [[https://help.launchpad.net/Packaging/SourceBuilds/Recipes|recipe]]. See: https://code.launchpad.net/~launchpad-committers/+recipe/bzr-pqm-launchpad-ppa

== bzr-tarmacland ==
XXX: Explain maintenance process.

== 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 9: Line 28:
 1. You will need bzr-builddeb and debhelper packages installed.
 1. Edit debian/control to add or change the dependencies. Your name + email address must match an identity in your GPG key exactly.
 1. 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.
 1. debcommit or bzr commit
Line 13: Line 36:
bzr builddeb --native -- --no-lintian bzr builddeb
Line 16: Line 39:
bzr builddeb -S --native -- --no-lintian bzr builddeb -S
Line 20: Line 43:
bzr push
dput ppa:launchpad/ppa ../launchpad-dependencies_<whatever>_source.changes
bzr push lp:meta-lp-deps
debsign -S
debrelease --dput -S ppa:launchpad/ppa
Line 23: Line 47:
   1. '''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.'''
Line 25: Line 49:
= 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?
After you've done this, you may need to update [[EC2Test/Image]]
Line 28: Line 51:
= Rebuilds to restore Python 2.4 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.
== pocket-lint ==
XXX: Explain maintenance process.
Line 31: Line 54:
maxb is leading a migration towards using no-source-change rebuilds for this where possible. pocket-lint is in the Ubuntu primary archive for natty, so it is only required in the PPA for lucid and maverick.

== slony1 (lucid only) ==
stub requested an update to slony1 1.2.21 for lucid. https://code.launchpad.net/~launchpad-committers/ubuntu/lucid/slony1/ppa-8.4

== spidermonkey ==
Our `jslint` process requires a Javascript interpreter, ideally Spidermonkey, because Rhino is too slow. The Ubuntu archive no longer contains spidermonkey. Therefore we have it built in the PPA, from packaging derived from the Debian iceweasel source package, sliced and diced to only build the spidermonkey packages.

https://code.launchpad.net/~launchpad-committers/ubuntu/lucid/spidermonkey/ppa

== tarmac ==
XXX: Explain maintenance process.
https://code.launchpad.net/~matsubara/+recipe/lp-tarmac

= Distro series support =
At any given time, we will be supporting multiple Ubuntu series in the PPA:
 * The current development series - to permit Ubuntu developers on the bleeding edge to develop Launchpad (currently: natty).
  * Use pragmatism in deciding when to start supporting a new development series - almost certainly not until alpha 1, at least.
 * The current release - most developers run it (currently: maverick).
 * The current LTS - the datacentre either runs it, or is going to be running it shortly (currently: lucid).
 * The next older LTS, if it's still in use on production datacentre machines (currently: none).
 * As many other older releases as it is reasonably practicable to do so, to accomodate developers on older releases (currently: none),

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

----------

= Obsolete packages =
Some notes on past contents of the PPA.

== Rebuilds to restore older Python support ==
Most of the PPA used to be rebuilds of python library packages to re-instate support for the old Python version Launchpad required, which was dropped as a supported version in Ubuntu.

In jaunty/karmic, the need was to re-add Python 2.4 support. Launchpad made it to Python 2.5 for Karmic... and then the need was to re-add Python 2.5 support in lucid packages. Now, Launchpad made it to 2.6, and the relevant Lucid packages have been moved to the "obsolete" PPA.

Towards the end, we had most of the rebuilds working via a no-source-change rebuild.
Line 34: Line 92:
  * python-defaults - https://code.edge.launchpad.net/~maxb/ubuntu/karmic/python-defaults/launchpad-ppa   * python-defaults (https://code.launchpad.net/~launchpad-committers/ubuntu/lucid/python-defaults/launchpad-ppa)
  * python-support (https://code.launchpad.net/~launchpad-committers/ubuntu/lucid/python-support/launchpad-ppa)
Line 36: Line 95:
 * Sourceful changes - not in bzr branches
  * pysvn - debian/rules required rework to deal with changed Python versions. Should go to branch and should be pushed upstream.
  * python-support:
   * Embedded list of supported python versions is changed.
   * Python version-specific Provides added, so that launchpad-dependencies can enforce a launchpad-modified version.
  * subversion - requires XS-Python-Version amendment. Change to trivial to be worth maintaining in a bzr branch.

 * Sourceful changes - not rebuilt since jaunty, might be able to be no-source-change on next upload
 * 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
Line 46: Line 100:
  * python-imaging
  * python-sqlite
  * tickcount

 * No-source-change rebuilds
  * pysvn (no-source-change since lucid; earlier patching in branches)
Line 54: Line 104:
  * python-imaging
Line 55: Line 106:
  * subversion (no-source-change since lucid)
  * tickcount

 * In PPA for karmic but not for lucid:
  * python-sqlite: lucid version is still Python 2.5 compatible

== Other compatibility issues in Lucid ==
These also have gone to "obsolete" PPA.
 * postgresql-8.3: was dropped, we needed 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.
 * slony1pg83: built against postgresql 8.3 instead of 8.4. (https://code.edge.launchpad.net/~launchpad-committers/ubuntu/lucid/slony1/ppa-8.3)

This page is documentation for uploaders to the Launchpad PPA.

The Launchpad PPA (https://launchpad.net/~launchpad/+archive/ppa) contains dependencies for running Launchpad.

Packages

bzr-lpreview-body

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

bzr-pqm

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

bzr-tarmacland

XXX: Explain maintenance process.

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. Your name + email address must match an identity in your GPG key exactly.
  3. 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.
  4. debcommit or bzr commit
  5. Exercise personal judgment on whether your change merits a merge proposal, or is sufficiently trivial to just be committed directly.
  6. If preparing a merge proposal, please ensure your branch for review contains a complete debian/changelog entry ready for release.
  7. Go to the trunk (or older distro) branch and merge / commit or pull changes ready to build.
  8. Test-build your package:

    bzr builddeb
  9. Actually build your source upload:

    bzr builddeb -S
  10. Tag it, push it, upload it:

    bzr mark-uploaded
    bzr push lp:meta-lp-deps
    debsign -S
    debrelease --dput -S ppa:launchpad/ppa
  11. 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

pocket-lint

XXX: Explain maintenance process.

pocket-lint is in the Ubuntu primary archive for natty, so it is only required in the PPA for lucid and maverick.

slony1 (lucid only)

stub requested an update to slony1 1.2.21 for lucid. https://code.launchpad.net/~launchpad-committers/ubuntu/lucid/slony1/ppa-8.4

spidermonkey

Our jslint process requires a Javascript interpreter, ideally Spidermonkey, because Rhino is too slow. The Ubuntu archive no longer contains spidermonkey. Therefore we have it built in the PPA, from packaging derived from the Debian iceweasel source package, sliced and diced to only build the spidermonkey packages.

https://code.launchpad.net/~launchpad-committers/ubuntu/lucid/spidermonkey/ppa

tarmac

XXX: Explain maintenance process. https://code.launchpad.net/~matsubara/+recipe/lp-tarmac

Distro series support

At any given time, we will be supporting multiple Ubuntu series in the PPA:

  • The current development series - to permit Ubuntu developers on the bleeding edge to develop Launchpad (currently: natty).
    • Use pragmatism in deciding when to start supporting a new development series - almost certainly not until alpha 1, at least.
  • The current release - most developers run it (currently: maverick).
  • The current LTS - the datacentre either runs it, or is going to be running it shortly (currently: lucid).
  • The next older LTS, if it's still in use on production datacentre machines (currently: none).
  • As many other older releases as it is reasonably practicable to do so, to accomodate developers on older releases (currently: none),

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


Obsolete packages

Some notes on past contents of the PPA.

Rebuilds to restore older Python support

Most of the PPA used to be rebuilds of python library packages to re-instate support for the old Python version Launchpad required, which was dropped as a supported version in Ubuntu.

In jaunty/karmic, the need was to re-add Python 2.4 support. Launchpad made it to Python 2.5 for Karmic... and then the need was to re-add Python 2.5 support in lucid packages. Now, Launchpad made it to 2.6, and the relevant Lucid packages have been moved to the "obsolete" PPA.

Towards the end, we had most of the rebuilds working via a no-source-change rebuild.

Other compatibility issues in Lucid

These also have gone to "obsolete" PPA.

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