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://git.debian.org/git/debhelper/debhelper.git

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

News

debhelper 7.3.1 released with these changes

  • Merged debhelper 7.2.20.
Posted at lunch time on Thursday, July 2nd, 2009

debhelper 7.2.20 released with these changes

  • dh_install: Fix installation of entire top-level directory from debian/tmp. Closes: #535367
Posted at lunch time on Thursday, July 2nd, 2009

debhelper 7.3.0 released with these changes

  • Modular object oriented dh_auto_* buildsystem support, contributed by Modestas Vainius
    • dh_auto_* --sourcedirectory can now be used to specify a source directory if sources and/or the whole buildsystem lives elsewhere than the top level directory. Closes: #530597
    • dh_auto_* --builddirectory can now be used to specify a build directory to use for out of source building, for build systems that support it. Closes: #480577
    • dh_auto_* --buildsystem can now be used to override the autodetected build system, or force use of a third-party class.
    • dh_auto_* --list can be used to list available and selected build systems.
    • Adds support for cmake.
    • For the perl_build build system, Build is used consistently instead of falling back to using the generated Makefile. Closes: #534332
    • Historical dh_auto_* behavior should be preserved despite these large changes..
  • Move two more command-specific options to only be accepted by the commands that use them. The options are: --sourcedir, --destdir If any third-party debhelper commands use either of the above options, they will be broken, and need to be changed to pass options to init().
  • Make dh not complain about unknown, command-specific options passed to it, and further suppress warnings about such options it passes on to debhelper commands. This was attempted incompletely before in version 7.2.17.
Posted at lunch time on Tuesday, June 30th, 2009

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