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.
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.
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.
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.
The gbp
tools will not run if the working directory is not clean.
Commit everything to master
before continuing.
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.
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.