Uploading to multiple distros

Dustin Kirkland kirkland at ubuntu.com
Thu Jun 2 18:58:30 UTC 2011

On Thu, Jun 2, 2011 at 8:20 AM, Ian Jackson
<ijackson at chiark.greenend.org.uk> wrote:
> One thing I have done a few times is to upload the very same package
> simultaneously to (say) Debian and Ubuntu.
> Where the package wants to be identical, and the person doing the
> upload is the same, it would be nice if this could be made simpler.
> At the moment you basically need to build the whole thing twice with
> minor edits to the changelog to set the target suite.
> It would be nice if this could be made simpler.  In principle it would
> be nice if you could use the same .changes file for uploading to two
> distros (provided that only one of them wants binaries) but that may
> be too much to ask.
> At the very least it should be possible to do one upload to two
> distros without altering the debian/changelog.

I handle this using a set of scripts in Ubuntu's bikeshed package:
 * http://manpg.es/release-build
 * http://manpg.es/release

'release-build' builds me one binary package, which I test locally,
and gives me instructions on what to do next, if I want to proceed
with the upstream release and upload to a bunch of different places
simultaneously.  It also builds source packages for each of the
supported Ubuntu releases.  If my testing goes well, I'm informed to
run the 'release' command.

'release' then does a handful of things (like tagging the release,
bumping and opening the next version), and prints a series of commands
that I run manually, if I want to actually do the release (such as the
bzr push to the trunk, lp-project-upload to put the tarball on
Launchpad, dput of the backport changes file to that package's PPA,
and dput to Ubuntu Oneiric).  (If I had Debian Maintainer privileges,
I'd also simultaneously dput to Debian too).  I just used
release-test, release-build, and release to publish bikeshed-1.15, and
captured its log here:
 * http://paste.ubuntu.com/616969/

These helpers allow me to consistently release dozens of open source
projects simultaneously to the current development series of Ubuntu,
but also publish "backports" to PPAs of that same package for
Lucid/Maverick/Natty.  They keep me from making many of the most
common mistakes and allow me to upload pretty effortlessly.

These scripts are a little Ubuntu/Launchpad/Bzr specific, so I'm not
advocating their use to you (Debian), but acknowledging and supporting
Ian's suggestion to solve some duplication of effort!


Dustin Kirkland
Ubuntu Core Developer

More information about the ubuntu-devel mailing list