I do this so irregularly that I can never remember the proper steps and haven’t been able find a simple source that has all the information I need, so here it is.
- Get the source with
apt-get source PACKAGE && apt-get build-dep PACKAGE
- Make the changes
- Add the change log entry by running the dch (Debian CHange) tool from the project’s root directory (i.e. the directory that contains the debian directory)
dch -v VERSION
Simplify this process by setting two environment variables in your Bash user config:
export DEBFULLNAME="YOUR NAME" export DEBEMAIL="ADDR@DOMAIN.TLD"
Also make sure to follow these version numbering rules:
2.6.0-1 The first Debian package of version 2.6.0. No Ubuntu changes were included 2.6.0-1ubuntu1 The first Ubuntu package based on the Debian package version 2.6.0-1 2.6.0-0ubuntu1 There was not a Debian package yet and this is the first Ubuntu version of package 2.6.0 2.6.1-1ubuntu1~svn1 The first development release of what will be 2.6.1-1ubuntu1. package-1.1~svn1 < package-1.1, so that it can be used for pre-release versions, such that package-1.1 would replace package-1.1~svn1 when released. 2.6.0-1ubuntu1+myppa1 Patched version of 2.6.0-1ubuntu1. + does the opposite of ~, so that package-1.1+myppa1 replaces package-1.1. - Still in the project’s root directory, build the source package:
debuild -S
- Upload to your PPA:
dput ppa:YOURPPA ../PACKAGE-VERSION_source.changes
If you just want to build the package and install it (skipping the next step) you can drop the -S option and debuild will default to building the binary package (-b).

