Deb packaging HOWTO

We use dh_virtualenv which packs all dependencies from virtualenv to the simple .deb package. Then, we upload deb binary to the bintray.com for easy apt management.

Issuing the new deb snapshot

Inside the Vagrant:

  1. Make sure you have bintray api key set - export BINTRAY_APIKEY=APIKEYHERE for binary upload.
  2. make package builds package ./packaging/build and then upload it ./packaging/upload to the bintray.
  3. Build name will be something like "ralph-3.0.0-#BUILDNUMBER"

Note: Internally we run dch debian tool to help us generate build number, and generate debian/changelog. file. After issuing a new 'major' release it is required to manually pre-set new version in the debian/changelog file using dch utility. Remember to commit this file after issuing new bulid!

Note 2: Probably we will fix this somehow in the future to be fully automated ;-)

Sources

  • /packaging contains buildscripts for building and uploading to bintray.com server
  • /debian is here because it requires some structure from source code being in place.
  • debian/rules and debian/control has some build configuration
  • debian/changelog - tracks build number