Novena packaging overview

Novena packages are built as .deb files from source. The majority of files live in git, so you should use git-buildpackage to build the output .deb file.

Building .deb files
All packages have tagged releases, and you must pass this release name to git-buildpackage in the form of --git-upstream-tag. The basic steps you should take to build a package are:


 * 1) Clone the repo using git
 * 2) List available tags
 * 3) Build a package using git-buildpackage
 * 4) Copy the resulting .deb file to the target machine

An example of the steps to take to build u-boot-novena:

git clone https://github.com/xobs/u-boot-novena.git git-buildpackage -us -uc --git-upstream-tag=v2014.10-novena-rc5

This will result in a few files getting generated in the parent directory:

xobs@xobs-novena ~/C/n/u-boot-novena-1.0> ls ../u-boot-novena_2014.10-novena* ../u-boot-novena_2014.10-novena.orig.tar.gz   ../u-boot-novena_2014.10-novena-rc5_armhf.build ../u-boot-novena_2014.10-novena-rc5_armhf.changes ../u-boot-novena_2014.10-novena-rc5_armhf.deb ../u-boot-novena_2014.10-novena-rc5.debian.tar.xz   ../u-boot-novena_2014.10-novena-rc5.dsc xobs@xobs-novena ~/C/n/u-boot-novena-1.0>

These same steps can be taken for any files packaged for Novena.

Modifying source
Modifying the source can be a bit tricky, because the git repo must be clean in order to build (unless you pass additional arguments to git-buildpackage). Generally, perform the following steps:


 * 1) Run debchanges.  Be sure to make the following changes:
 * 2) * Update the version number (in the first line) to something valid, as this will be in the version of the resulting .deb
 * 3) * Change "UNRELEASED" to something like "unstable" or "stable"
 * 4) * Modify the list of changes using bullet points
 * 5) * Add your name to the sign-off line
 * 6) * Put your correct email address into the sign-off line
 * 7) * Save and close the file
 * 8) Make any changes you need to make to the source file
 * 9) Commit everything to git.  There should be no untracked files, so add tempfiles and .o files to .gitignore
 * 10) Tag the release using "git tag", e.g. "git tag v1.1".  If you're testing a release, delete the old tag first with "git tag -d", e.g. "git tag -d v1.1; git tag v1.1"
 * 11) If you're re-running a tag (e.g. you had to run "git tag -d"), remove the source files from the parent directory, e.g. "rm -f ../pulseaudio-novena_*")
 * 12) Run git-buildpackage -us -uc --git-remote-tag=[tagname]

The package will build, and source files will appear in the parent directory.

Available packages

 * pulseaudio-novena
 * novena-disable-ssp
 * u-boot-novena
 * Novena linux-kernel
 * novena-firstrun
 * irqbalance
 * xorg-novena -- Configuration files for Novena
 * xserver-xorg-video-armada -- Accelerated X server
 * novena-eeprom -- Editor for the configuration EEPROM
 * novena-eeprom-gui -- GUI editor for the configuration EEPROM
 * novena-usb-hub -- Program to manipulate USB hib status
 * firmware-senoko -- Firmware blob / updater for Senoko battery board
 * novena-heirloom -- Support packages for the heirloom model