backportpackage(1) helper to test package backports

SYNOPSIS

backportpackage [additional options]
--upload <upload target>
<source package name or .dsc URL/file>

backportpackage -h

DESCRIPTION

backportpackage fetches a package from one distribution release or from a specified .dsc path or URL and creates a no-change backport of that package to one or more Ubuntu releases release, optionally doing a test build of the package and/or uploading the resulting backport for testing.

Unless a working directory is specified, the backported package is fetched and built in a temporary directory in /tmp, which is removed once the script finishes running.

backportpackage is only recommended for testing backports in a PPA, not uploading backports to the Ubuntu archive.

OPTIONS

-d DEST, --destination=DEST
Backport the package to the specified Ubuntu release. If this option is unspecified, then backportpackage defaults to the release on which it is currently running.
-s SOURCE, --source=SOURCE
Backport the package from the specified release, which can be any release of your distribution or any of your distribution's parent distributions. If neither this option nor --version are specified, then backportpackage defaults to the current development release for your distribution.
-S SUFFIX, --suffix=SUFFIX
Add the specified suffix to the version number when backporting. backportpackage will always append ~ubuntuDESTINATION.1 to the original version number, and if SUFFIX is specified, it is appended to that, to get version numbers of the form ORIGINAL_VERSION~ubuntuDESTINATION.1SUFFIX. If the backported package is being uploaded to a PPA, then SUFFIX defaults to ~ppa1, otherwise the default is blank.
-b, --build
Build the package with the specified builder before uploading. Note for cowbuilder(8) and pbuilder(8) users: This assumes the common configuration, where the ARCH and DIST environment is read by pbuilderrc(5) to select the correct base image.
-B BUILDER, --builder=BUILDER
Use the specified builder to build the package. Supported are cowbuilder(8), cowbuilder-dist(1), pbuilder(8), pbuilder-dist(1), and sbuild(1). The default is pbuilder(8).
-U, --update
Update the build environment before attempting to build.
-u UPLOAD, --upload=UPLOAD
Upload to UPLOAD with dput(1) (after confirmation).
-k KEYID, --key=KEYID
Specify the key ID to be used for signing.
--dont-sign
Do not sign the upload.
-y, --yes
Do not prompt before uploading to a PPA. For everyone's safety, this option is ignored if UPLOAD is ubuntu.
-v VERSION, --version=VERSION
If the --source option is specified, then backportpackage verifies that the current version of source package in SOURCE is the same as VERSION. Otherwise, backportpackage finds version VERSION of source package in your distribution's publishing history, regardless of the release in which it was published (or if that version is still current). This option is ignored if a .dsc URL or path is passed in instead of a source package name.
-w WORKDIR, --workdir=WORKDIR
If WORKDIR is specified, then all files are downloaded, unpacked, built into, and otherwise manipulated in WORKDIR. Otherwise, a temporary directory is created, which is deleted before backportpackage exits.
-r, --release-pocket
Target the upload at the release pocket, rather than the -backports pocket. This is required for Launchpad PPAs, which are pocket-less (and the default, when the upload target is a PPA).
-m MIRROR, --mirror=MIRROR
Use the specified mirror. Should be in the form http://archive.ubuntu.com/ubuntu. If the package isn't found on this mirror, backportpackage will use Launchpad.
-c BUG, --close=BUG
Include a Launchpad closer for the specified bug in the auto-generated changelog. In the future, this may actually close the bug, but currently does not.
-l INSTANCE, --lpinstance=INSTANCE
Use the specified instance of Launchpad (e.g. "staging"), instead of the default of "production".
--no-conf
Do not read any configuration files, or configuration from environment variables.

ENVIRONMENT

DEBFULLNAME, DEBEMAIL, UBUMAIL
Used to determine the uploader (if not supplied as options). See ubuntu-dev-tools(5) for details.

All of the CONFIGURATION VARIABLES below are also supported as environment variables. Variables in the environment take precedence to those in configuration files.

CONFIGURATION VARIABLES

The following variables can be set in the environment or in ubuntu-dev-tools(5) configuration files. In each case, the script-specific variable takes precedence over the package-wide variable.
BACKPORTPACKAGE_BUILDER, UBUNTUTOOLS_BUILDER
The default value for --builder.
BACKPORTPACKAGE_UPDATE_BUILDER, UBUNTUTOOLS_UPDATE_BUILDER
The default value for --update.
BACKPORTPACKAGE_UPLOAD
The default value for --upload.
BACKPORTPACKAGE_WORKDIR, UBUNTUTOOLS_WORKDIR
The default value for --workdir.
BACKPORTPACKAGE_UBUNTU_MIRROR, UBUNTUTOOLS_UBUNTU_MIRROR
The default value for --mirror if the specified SOURCE release is an Ubuntu release.
BACKPORTPACKAGE_DEBIAN_MIRROR, UBUNTUTOOLS_DEBIAN_MIRROR
The default value for --mirror if the specified SOURCE release is a Debian release.
BACKPORTPACKAGE_LPINSTANCE, UBUNTUTOOLS_LPINSTANCE
The default value for --lpinstance.

EXAMPLES

Test-build in your PPA a backport of znc from the current development release to your workstation's release, deleting the build products afterwards:
backportpackage -u ppa:user/ppa znc

Backport squashfs-tools from Maverick to both Karmic and Lucid and test-build both locally, leaving all build products in the current working directory:

backportpackage -b -s maverick -d karmic -d lucid -w . \\
  squashfs-tools

Fetch a package from a PPA, backport it to Hardy, then upload it back to the same PPA:

backportpackage -d hardy -u ppa:user/ppa \\
  https://launchpad.net/some/file.dsc

AUTHOR

backportpackage and this manpage were written by Evan Broder <[email protected]>

Both are released under GNU General Public License, version 2.