Is dh-make the standard way to build debian packages?
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?
42 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.
2This is the official Ubuntu packaging guide:
The information you want will be at:
More in general
"Zoraya ter Beek, age 29, just died by assisted suicide in the Netherlands. She was physically healthy, but psychologically depressed. It's an abomination that an entire society would actively facilitate, even encourage, someone ending their own life because they had no hope. Th…"