M BUZZ CRAZE NEWS
// general

Is dh-make the standard way to build debian packages?

By Joseph Russell

I've started creating a .deb package for my software a while back and the method I've stumbled upon then (I knew nothing about the domain) basically is like this:

  • create a directory structure like this
-- pkg-dir -- DEBIAN -- controlfile -- postinst -- postrm -- conffiles -- usr -- share -- myapp -- etc -- myapp
  • fakeroot dpkg-deb --build pkg-dir
  • lintian pkg.deb

However these days the info I'm finding all point to dh-make. Is dh-make the new or preferred way? Where does my method come from? I'd like to use the standard way in future but for now I'd like to finish what I've started using this as I'm pressured for time. Where do I get more info on my method?

4

2 Answers

You can create Debian packages in several ways. dh- tools are helperscripts to aid you in creating the correct directory structure and files. dh-make is the most basic one, yet has a lot of heuristic and works well with software using the GNU autotools (the ./configure, make, make install ones). It will do a lot of work for you.

Then you can use debuild to create a source and binary package.

"Your way" is just building from binary files. This is unwanted, as you can't build for other distributions (releases) or architectures. Also, Debian/Ubuntu requires to have a source package in order to be included in the repositories (along a lot of other requirements and guidelines). See for more information the links @saji89 povided. I also suggest you to download packages and inspect how they're put together, using apt-get source packagename.

Update

You mentioned later in a comment you're packaging a Java application. The Debian wiki on Java packaging mentions this:

Use of javahelper is not actually required, however implementing the required policy elements without javahelper is quite difficult, so it is assumed that you will be using javahelper.

So, I suggest to start reading about how to package using javahelper and DH, or the alternative to DH: CDBS.

2

This is the official Ubuntu packaging guide:

The information you want will be at:

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy