This guide tries to explain packaging from the point of view of a Java developer.

Note to Debian / Ubuntu wizard: please help me correct this guide in relation to Debian packaging guidelines.


  sudo apt-get install build-essential cdbs debhelper devscripts unzip bzr ant
  • configure your name and contact email address for Debian packaging: add to your .bashrc file:

  # Debian packaging
  export DEBFULLNAME="John Doe"
  • create a working directory
  • cd into that directory


Before you package a library or program

  • check the extension license for main, universe suitability.
  • check if the library or program was already packaged in Debian or Ubuntu (search or search in Synaptic)

  • if it was not created before, create a new project in Launchpad. If you are packaging a pure library (no main() method), call it lib<name>-java. If it's a program, use its lowercase name.

Packaging Procedure

Common steps

  • create a project for your Debian package
    mkdir $PROJECT
    cd $PROJECT
    bzr init
    mkdir .bzr-builddeb/ 
    echo -e '[BUILDDEB]\nmerge = True' > .bzr-builddeb/default.conf 
    bzr add .bzr-builddeb/default.conf
    bzr add debian/
    bzr commit -m "* Initial setup"
    bzr push lp://~$LAUNCHPAD_ID/uj/$PROJECT 
  • Use dch to inform of the changes in your package (not the code changes from upstream, only what has changed in the Debian packaging)

JavaTeam/KnowledgeBase/Packaging (last edited 2011-01-13 22:43:22 by bgn92-2-82-225-252-228)