debhelper is a collection of programs that can be used in a debian/rules file to automate common tasks related to building binary debian packages. Programs are included to install various files into your package, compress files, fix file permissions, integrate your package with the debian menu system, etc. This will be of use only to debian developers or others who wish to build debian packages.

Debhelper's git repository is now located at: git://

I posted a good overview of debhelper's history in my blog. Here is the thread that started it all.

Colin graphs debhelper statistics here.


version 9.20141022

debhelper 9.20141022 released with these changes

  • dh_installdeb: Sort conffile list so there is a stable order for reproducible builds. Closes: #766384 Thanks, Jérémy Bobbio.
version 9.20141010

debhelper 9.20141010 released with these changes

  • [ Johannes Schauer ]
    • Depend on libdpkg-perl (>= 1.17.14) for build profiles support. Note to backporters: If you remove that dependency, debhelper will throw an error when a binary package stanza in debian/control has the Build-Profiles field.
    • Use libdpkg-perl functionality to parse the content of the Build-Profiles field, if there is one. In that case, use libdpkg-perl to evaluate whether the binary package should be built or not. Closes: #763766
version 9.20141003

debhelper 9.20141003 released with these changes

  • dh_clean: Skip over .git, .svn, .bzr, .hg, and CVS directories and avoid cleaning their contents. Closes: #760033

Adding stuff

The tricky thing about maintaining debhelper is that everyone would like to see a program added to it to handle some special-purpose thing, and this is rarely a good idea, since it just serves to increase debhelper's command count, and thus its learning curve, while making me responsible for maintaining support for said obscure thing.

My first rule of thumb is that at least ten packages need to be obvious benefactors of a feature or command before it's added to debhelper. That's an easy bar; after that I have to do some thinking and made the hard call.

TODO: discuss wishlisted commands here