This repository contains scripts for building and packaging a binary version
of
sys161
that can be uploaded and 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 sys161
only when its sources have changed.
Unpack the tarball into this repository, build and test it, and commit your
changes.
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 sys161
:
2.0.8~xenial0
, the first package for Xenial based on sys161
version
2.0.8
.
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.
You will need to install pbuilder
and create an appropriate testing
environment, currently for Xenial: pbuilder-dist xenial create
.
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.