5797
Comment:
|
5889
|
Deletions are marked like this. | Additions are marked like this. |
Line 42: | Line 42: |
There's a build of this in Lucid. Why? | bzr-pqm contains various plugins like lp-land. It needs to be maintained for all distroseries that we support ''development'' on. |
This page is documentation for uploaders to the Launchpad PPA. |
The Launchpad PPA (https://launchpad.net/~launchpad/+archive/ppa) contains dependencies for running Launchpad.
Contents
launchpad-dependencies
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. Your name + email address must match an identity in your GPG key exactly.
- 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:
bzr builddeb
Actually build your source upload:
bzr builddeb -S
Tag it, push it, upload it:
bzr mark-uploaded bzr push lp:meta-lp-deps debsign -S debrelease --dput -S ppa:launchpad/ppa
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)
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.
pocket-lint
XXX: Explain maintenance process.
python-debian
Needed for bugfixes and renaming of the module from debian_bundle to debian.
xulrunner
Our jslint process requires a Javascript interpreter, ideally Spidermonkey, because Rhino is too slow. The Ubuntu source package of xulrunner no longer builds spidermonkey-bin. Therefore we have the Debian source package, minimally hacked to build only the binary packages which the Ubuntu source no longer provides, in the PPA, from Lucid onwards. (should put this in a branch)
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.
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.
This should generally be done with a no-source-change rebuild where possible.
- Sourceful changes - in bzr branches
- 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
- In PPA for karmic but not for lucid:
- python-sqlite: lucid version is still Python 2.5 compatible so far
Other compatibility issues in Lucid
- 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. (https://code.edge.launchpad.net/~launchpad-committers/ubuntu/lucid/slony1/ppa-8.3 and https://code.edge.launchpad.net/~launchpad-committers/ubuntu/lucid/slony1/ppa-8.4)
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: maverick).
- 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: lucid).
- 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: hardy).
- As many other older releases as it is reasonably practicable to do so, to accomodate developers on older releases (currently: karmic [a little iffy]),