Monday, July 20, 2009

Launchpad API for PPAs - part 3

Continuing with Launchpad API for PPA, let's illustrate how to copy specific sources from one archive to another.

An authenticated user may copy sources (including their binaries or not) from any public archive to any PPA he has permission to upload using syncSource

One practical example is backporting recent SRUs to LTS series using your PPAs. Let say, we want the latest libvirt version available for testing in your Hardy instance.

{{{
ubuntu = lp.distributions['ubuntu']
primary, partner = ubuntu.archives
ppa = lp.me.getPPAByName(name='ppa')
ppa.syncSource(
source_name='libvirt', version='0.6.1-0ubuntu5.1',
from_archive=primary, include_binaries=False,
to_series='hardy', to_pocket='Release')
}}}

libvirt - 0.6.1-0ubuntu5.1 will be rebuilt in your PPA for hardy and if everything is compatible in few minutes you will be able to use and share it with other users.