PPA & Packaging: Having versions of packages for multiple distros

(quote from chat)

Got a PPA on launchpad for source packages for an IRC bot project I'm associated with (since its all the intermediate packaging for the stuff between releases, it's classified as an "experimental" PPA). Question: I've already packaged the stuff for a lucid build. Any clue how I'd be able to create the same packaging, except package it for maverick, and put it up to the same PPA that I've put the lucid packaging to?


Probably the easiest way is to simply copy the binaries on Launchpad:

  1. Go to your PPA and click on 'View package details':

    enter image description here

  2. Click on 'Copy packages':

    enter image description here

  3. Select the Lucid packages:

    enter image description here

  4. Select 'Maverick' for the series, and choose to 'copy existing binaries':

    enter image description here

  5. Click 'copy packages' and that's it!


If copying the binaries for the package you're building does not work, you'll need to upload a source package for each distro version by editing the debian/changelog file.

How to Re-Package for Another Distro Version

  1. Edit the debian/changelog file in your source package directory
  2. Change both the version and target distribution to reflect which distro you are building for

    For example: nginx (1:1.4.1-0ubuntu1~preciseppa1) precise; urgency=low
  3. Re-build source package: debuild -S
  4. Upload .changes file to your PPA: dput ppa:teward/nginx-stable-testing ../nginx_1.4.1-0ubuntu1~preciseppa1_source.changes

If the build is successful then congratulations you've just built a package for that distro! If not, you'll have to check the build log on Launchpad and address any issues you find.

References:

  • Building a Source Package
  • Using Packages from Other Distributions
  • Versioning a package for uploading to PPA
  • How to create and administer multi-architecture PPAs?