Skip to content

Latest commit

 

History

History
79 lines (61 loc) · 2.2 KB

PACKAGING.adoc

File metadata and controls

79 lines (61 loc) · 2.2 KB

Debian Packaging for OS/161 Toolchain

This repository contains scripts for building and packaging a meta-package to install all ops-class.org toolchain components distributed through the ops-class.org Launchpad PPA.

Getting Started

The Ubuntu Packaging Guide is a decent starting point for setting up your environment. Although note that we are going to use the Git Package Builder (gbp) rather than the Bazaar-based tools.

Workflow

Repackage this package only when it’s dependencies have changed. You will also need to know the current version number and have your Launchpad PPA signing key and password ready.

Updating the Debian Changelog

The next step is to update debian/changelog. The dch tool is the easiest way to do this, although it can also be edited by hand. Note that any time you publish to the PPA you must bump the version number or change the distribution string. However, you do not need to bump the version number while testing local builds.

Here is the versioning convention that we have established for the the OS/161 toolchain package: 1.0~xenial0, the first package for Xenial based on toolchain metapackage version 1.0. Bump the post-Xenial version number as needed to account for library changes, multiple distributions, build debugging, or any other reason.

Commiting Everything

The gbp tools will not run if the working directory is not clean. Commit everything to master before continuing.

Test Build

make -f Makefile.packaging test

The above command will create a test package and use pbuilder to test a clean build, but it does not sign packages. Use it to iron out any build issues. You also need to silence any lintian warnings that may be generated.

Sign Build

make -f Makefile.packaging sign

The above command will create and sign a build package for upload to the PPA. You will need to have a signing key installed and have the password ready.

Upload Build

At this point you should be ready to use dput to push this to your PPA.