Skip to main content

Tools for Debian/Ubuntu Launchpad

Project description

Build Status Code Health PyPi Version

Some tools for easing submission to launchpad.

Usage

All options are documented under launchpad-submit -h.

Backporting

Sometimes, new versions of Debian packages are released and not backported to older Ubuntu releases. Backporting those manually was always a little bit of a hassle.

With launchpad-submit, it becomes easy: Just

  • find the DSC file of the package you want to backport,

  • add a new PPA on launchpad.net, and

  • execute

    launchpad-submit \
      --dsc "http://http.debian.net/debian/pool/main/m/metis/metis_5.1.0.dfsg-4.dsc" \
      --ubuntu-releases trusty \
      --ppa nschloe/metis-backports

Submitting from source

Sometimes, you may want to submit a source package with a Debian configuration that is available somewhere else. This may help setting up a nightly submission process. As an example, take the nightly submission script for a Mixxx PPA.

#!/bin/sh -ue

TMP_DIR=$(mktemp -d)
cleanup() { rm -rf "$TMP_DIR"; }
trap cleanup EXIT

ORIG_DIR="$TMP_DIR/orig"
clone --ignore-hidden \
  "https://github.com/mixxxdj/mixxx.git" \
  "$ORIG_DIR"

VERSION=$(grep "define MIXXX_VERSION" "$ORIG_DIR/src/defs_version.h" | sed "s/[^0-9]*\([0-9][\.0-9]*\).*/\1/")
FULL_VERSION="$VERSION~$(date +"%Y%m%d%H%M%S")"

DEBIAN_DIR="$TMP_DIR/orig/debian"
clone \
  --subdirectory=debian/ \
  "git://anonscm.debian.org/git/pkg-multimedia/mixxx.git" \
  "$DEBIAN_DIR"

launchpad-submit \
  --work-dir "$TMP_DIR" \
  --ubuntu-releases trusty xenial yakkety zesty \
  --ppa nschloe/mixxx-nightly \
  --version-override "$FULL_VERSION" \
  --version-append-hash \
  --update-patches

Installation

Python Package Index

The launchpad tools are available from the Python Package Index, so for installation/upgrading simply do

pip install -U launchpadtools

Manual installation

Download the launchpad tools from the Python Package Index. Place the launchpad tools in a directory where Python can find it (e.g., $PYTHONPATH). You can install it system-wide with

python setup.py install

Distribution

To create a new release

  1. bump the __version__ number and

  2. tag and upload to PyPi:

    $ make publish

License

The launchpadtools are published under the MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

launchpadtools-0.4.0.tar.gz (9.4 kB view details)

Uploaded Source

File details

Details for the file launchpadtools-0.4.0.tar.gz.

File metadata

File hashes

Hashes for launchpadtools-0.4.0.tar.gz
Algorithm Hash digest
SHA256 e78b464ca6a6f06731da4de26a65306c19eca91a7f00ca38f373d27bd4293765
MD5 d36a2e646478706249cdc241adc93cba
BLAKE2b-256 9b8ce1bcf176dc451a27c82f74ce90692ce3efd704814ed8234609fc414ea7c7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page