Personal tools
You are here: Home documentation developer DebianTemplate

The LibraryTemplate comes with a debian directory for making .deb packages for Debian and any Debian-derived distro like Ubuntu, Linux Mint, etc. It is designed to work with the Debian pkg-multimedia team's workflow which uses git-buildpackage.

Setting up the files

All the files you need for a basic library are already included in the debian folder. In order to use these for your library, replace the word template with the name of your library in all of the files in the debian folder, then also change the information in template-meta.pd to represent your library.

Building a package

You can build an installable .deb package on your own machine without much difficulty, here's a quick overview of how:

  1. sudo apt-get install puredata-dev dpkg-dev devscripts debhelper

  2. cd into your library

  3. make dpkg-source

  4. debuild -uc -us (remove the -uc -us if you are setup to sign with a gpg key)

  5. ls -l ../pd-*.deb (now you can see your package!)

Building for a specific distro and release

You can use the Debian utility pbuilder or cowbuilder to build packages for any Debian, Ubuntu, Mint, etc. release. It is more complicated, but here's a quick summary:

  • sudo apt-get install puredata-dev dpkg-dev devscripts debhelper cowbuilder

  • if you don't already have a cowbuilder setup, then do: sudo cowbuilder --create

  • in your library, run: make dpkg-source

  • the .dsc file, the .orig.tar.gz tarball and the .debian.tar.gz tarball are your source package

  • to build the pacakage:

    • cd ..

    • sudo cowbuilder --update

    • sudo cowbuilder --build  pd-template_0.0-0.0.dsc (replacing template and the version number with the info from your library)

Uploading to Launchpad

Ubuntu provides, a free-to-use service for building Debian packages for Ubuntu distros. Its a useful way to test and distribute your packages, and pretty easy to use. It also builds on different architectures, like i386, amd64, etc.

  • (edit debian/changelog for ubuntu distro you are targetting)

  • make distclean

  • make dpkg-source (make a orig source tarball)

  • debuild -uc -us (make sure your package builds)

  • debclean (clean up everything)

  • rm ../pd-comport* (remove the debuild products)

  • make dpkg-source (make a orig source tarball)

  • debuild -S (make a source package)

  • cd ..

  • dput ppa:eighthave/libdirs pd-comport_0.1-1~maverick_i386.changes

Submitting to pkg-multimedia's git

Here are the steps, using <package> as the example library, i.e. for the library motex, <libdir> is motex, <package> is pd-motex, <user> is your username on

  • cd /path/to/sources/<libdir> (go to the root of your library)

  • uscan --dehs --report (test debian/watch file)

  • make dpkg-source (make a Debian source package)

  • git-import-dsc --pristine-tar ../<package>_1.0-1.dsc (use git-buildpackage tools to import)

  • cd <package>

  • git config '<Your name>' (set your Debian name)

  • git config '<Your email>' (set your Debian email address)

  • git config gitweb.owner '<Your name>' (set your Debian name)

  • git tag (check the tags to see if you want them all)

  • git tag -d debian/0.9-1 (delete the tags if they are not appropriate yet)

set up the remote repo and push to it

  • ssh <user> /git/pkg-multimedia/setup-repository <package>

  • git remote add alioth ssh://<user><package>.git

  • git push alioth master upstream pristine-tar --tags

Now you should be able to see your new repo on the gitweb:;a=summary


Powered by IEM Powered by Plone Section 508 WCAG Valid XHTML Valid CSS Usable in any browser