How to create a Debian/Ubuntu package for DeepaMehta4

For the last two and a half years, I used to build Debian/Ubuntu packages for the free software project DeepaMehta4 and offer them in a „personal package archive“ (ppa) on Launchpad. The goals were to ease installation and to make DeepaMehta feel more like a daemon when working on a Debian/Ubuntu. With the package for DeepaMehta 4.3, I’m discontinuing this activity.

Why?

  • I have a limited amount of time to spend on projects. If I never drop any project, how can I ever start anything new?
  • I never got any feedback if this package is of much use to anyone. The package for DeepaMehta 4.2 was downloaded 11 times, including myself and some of the project’s servers. No idea though if this eased the installation for people who are not comfortable with unpacking archives. So, if you really miss the package, contact me and I might reconsider.
  • Also, in the beginning, it was interesting to try and figure out how to build a Debian package. (Mine is not conform to all Debian packaging conventions, but it works and complies with quite some standards that you expect on a Debian.) In the end, it became a routine and thus less fascinating for me.

In case anyone wants to resurrect the Debian packaging for DeepaMehta, here is my workflow to build the package:

  • Get a Launchpad account. They will build the final package and host the ppa for you. Upload your public ssh and gnupg keys. (You will later sign the source.changes file with your gnupg key and upload it via ssh.)
  • Configure your machine for dput (and maybe for git push).
  • Clone https://github.com/silke/dm4-deb to your machine or fork the repo.
  • Adapt the script dm-package.sh (see inline instructions) and make it executable.
  • Get information about the state of DeepaMehta: Are there any changes that you need to take into account for packaging? (Ask on the mailing list deepamehta-devel.)
  • Run the script. It will open the changelog file for editing. Choose an Ubuntu version, e.g. „Precise“. It will also prompt for the password of your gpg key twice.
  • Upload the source.changes file to launchpad for building with dput <reponame> deepamehta_VERSIONNUMBER-1_source.changes.
  • Login to launchpad to see when the build has finished. Got to „View package details -> Copy packages“ and copy the existing binaries to other Ubuntu versions inside the same repository (e.g. „Trusty“, „Lucid“). You won’t need to modify anything for it to work on different Debian/Ubuntu versions.
  • Republish the files to some public place.
  • Have the link to the package updated on DeepaMehta’s website.