OnWorks favicon

dh_make - Online in the Cloud

Run dh_make in OnWorks free hosting provider over Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator

This is the command dh_make that can be run in the OnWorks free hosting provider using one of our multiple free online workstations such as Ubuntu Online, Fedora Online, Windows online emulator or MAC OS online emulator



dh_make - prepare Debian packaging for an original source archive


dh_make [option]...


dh_make is a tool to convert a regular source code package into one formatted according to
the requirements of the Debian Policy. dh_make must be invoked within a directory
containing the source code, which must be named <packagename>-<version>. The
<packagename> must be all lowercase, The <packagename> and <version> must be all
lowercase, digits and dashes. The <version> can also contain digits, and the symbols plus,
dot, tilde. The <version> must start with a digit. If the directory name does not conform
to this scheme, you must rename it before using dh_make. Alternatively, you may be able
to use the --packagename option to force the package name.

Classes can be set with the single direct options (such as --s for single) or with the
-C,--packageclass option (-C=s for single).

Single binary (s)
The package will generate a single binary .deb package. It is the standard case, so
if you don't know what to do, choose this.

Arch-Independent (i)
The package will generate a single package that is arch-independent.

Library (l)
The package will generate at least two binaries. One library package containing
just the lib in /usr/lib and another *-dev_*.deb package containing documentation
and C headers.

Unless --native was given, dh_make makes sure a original source archive
(<packagename>_<version>.orig.tar.gz) exists. The archive can either end with .gz
or one of the other supported compression extensions such as bz2 or lzma. If no
such file exists, the file specified with -f is copied in place. If no -f is
supplied either but --createorig is, the current directory is created into a news
archive ../<packagename>-<version>.orig.tar.gz The original archive is needed for
other Debian tools to generate the diffs to the original sources required by the
Debian packaging format. Unless there are reasons against it, this file should be
the pristine upstream archive.

Then dh_make proceeds to generate a "debian" subdirectory and the necessary control files
in the program source directory. Those control files are customized with the packagename
and version extracted from the directory name.

dh_make makes several attempts to obtain the username. It first checks for the environment
variables $DEBFULLNAME, $LOGNAME is used to find a name in the /etc/passwd file, and
through NIS, YP and LDAP.

The e-mail address can either be specified with the -fB--email option or dh_make will
attempt to find it. It will first check the environment variables $DEBEMAIL and then
$EMAIL. If they are not set then dh_make will search an available LDAP directory using
ldapsearch(1) using $LOGNAME as the uid to search under. Finally it will use $LOGNAME and
/etc/mailname to generate an email address.

dh_make will also generate example files that are also customized for the package
generated. You can remove all files with *.ex if you wish. You can also delete the
README.Debian file if you don't have anything to put in it. Renaming the example files to
their name without the .ex at the end (and editing them if necessary) will activate that
feature of debhelper.

If the --templates or -o (--overlay) option is used dh_make will apply a customizing
template to the "debian" directory. See the templates described in the FILES section of
this manpage for samples.


-c, --copyright license
Use license type in copyright file. license can be gpl, gpl2, gpl3, lgpl, lgpl2
lgpl3, artistic, apache, bsd, mit or custom. If this field is not specified the
copyright file has a space to fill in which sort of license is used. The field is
case-insensitive so -c GPL works as well as -c gpl. gpl and lgpl will give you
version 3 of the corresponding license, apache implies Apache v2.0. If you need a
different version, change the license file afterwards or use the gpl2 and lgpl2
options. If you select custom here you will need to use the --copyrightfile option
as well.

--copyrightfile filename
When using the custom --copyright option this is the location of your custom
copyright file. dh_make will process this file just like the standard copyright
files. It is suggested you use one of the existing license files as a starting

--docs Create a separate PACKAGE-doc binary package. All found documents in the source
package will be installed here.

-e, --email address
Use address as the e-mail address in the Maintainer: field of debian/control file.

-n, --native
Create a native Debian packages, i.e. do not generate a .orig archive, since it
will be generated when building with dpkg-buildpackage. The version number will
not have a Debian revision number (e.g. -1) appended to it.

-f, --file file
Use file as the original source archive, and skip the copying of the current
program tree to program.orig.

-l, --library
Automatically set the package class to Library, skipping the question.

-s, --single
Automatically set the package class to Single binary, skipping the question.

-i, --indep
Automatically set the package class to arch-independent binary, skipping the

-a, --addmissing
Adds missing example and control files on an existing debian source directory.

-t, --templates directory
Applies the customizing templates in directory to the debian directory.

-o, --overlay directory
Applies a customization template to an existing debian directory.

-p, --packagename name
Force the package name to be name, good for packages with hyphens in their name or
other strangeness. You can also make the parameter name_version which will set both
the package name and version and bypass and directory checking.

-d, --defaultless
Skips applying the default templates to the target debian directory. Generally used
in conjuction with either the --overlay or --templates options.

-h, --help
Display the name, version, available options and authors, and exit successfully.

-v, --version
Show the program name and version, and exit successfully.

-y, --yes
Automatic yes to prompts and run non-interactively. The package class needs to be
set for dh_make to run fully automatically.


The following environment settings are used by dh_make:

Email address to use in control and changelog entries.

You full name, eg "John Doe" which will appear in the control and changelog

EMAIL Email address to use in control and changelog entries, only used if DEBEMAIL is no

Default username used for looking up email and full name in other directories.

Use dh_make online using onworks.net services

Free Servers & Workstations

Download Windows & Linux apps

  • 1
    Strikr Free Software project. Artifacts
    released under a 'intent based'
    dual license: AGPLv3 (community) and
    CC-BY-NC-ND 4.0 international
    Download strikr
  • 3
    giflib is a library for reading and
    writing gif images. It is API and ABI
    compatible with libungif which was in
    wide use while the LZW compression
    algorithm was...
    Download GIFLIB
  • 4
    Alt-F provides a free and open source
    alternative firmware for the DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F has Samba and NFS;
    supports ext2/3/4...
    Download Alt-F
  • 5
    Usm is a unified slackware package
    manager that handles automatic
    dependency resolution. It unifies
    various package repositories including
    slackware, slacky, p...
    Download usm
  • 6
    Chart.js is a Javascript library that
    allows designers and developers to draw
    all kinds of charts using the HTML5
    canvas element. Chart js offers a great
    array ...
    Download Chart.js
  • More »

Linux commands

  • 1
    a2j - Wrapper script to simulate
    a2jmidid's non-DBUS behaviour though
    a2jmidid actually being in DBUS mode ...
    Run a2j
  • 2
    a2jmidid - JACK MIDI daemon for ALSA
    MIDI ...
    Run a2jmidid
  • 3
    corebird - Native Gtk+ Twitter client
    for the Linux desktop. ...
    Run corebird
  • 4
    coredumpctl - Retrieve coredumps from
    the journal ...
    Run coredumpctl
  • 5
    ganyremote - GTK+ frontend for
    anyRemote ...
    Run ganyremotex
  • 6
    GAP - Groups, Algorithms and
    Programming DESCRIPTION: GAP is a system
    for computational discrete algebra with
    particular emphasis on computational
    group theory...
    Run gap
  • More »