Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (Debian-3.1)
Apropos / Subsearch:
optional field

DH_MAKE(8)                  System Manager's Manual                 DH_MAKE(8)

       dh_make - Debianize a regular source archive

       dh_make  [-nlsmiadh] [-c license] [-e address] [-f file] [-t directory]
       [-o  directory]  [-p  name]  [--copyright  license]  [--email  address]
       [--native]  [--file  file]  [--library]  [--single]  [--multi] [--kmod]
       [--addmissing]  [--templates  directory]   [--defaultless]   [--overlay
       directory] [--packagename name] [--help] [--version]

       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, digits and dashes. 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

       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.

       Multiple binary (m)
              The package will generate multiple binary .deb packages from one
              source package. Choose this for larger packages that need to  be

       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.

       Kernel module (k)
              The  package  will  generate  a binary-all kernel module -source
              package for use with the make-kpkg command. It also generates  a
              binary  package for additional utilities, daemons, etc. that may
              come with the source.

       dh_make copies the archive on the higher directory level into <package-
       name>-<version>.orig if that directory does not exist. If the -f option
       is supplied, the specified file name is taken as  the  source  archive.
       The  original  archive is needed for other Debian tools to generate the
       diffs to the original sources required by the Debian packaging format.

       Then dh_make proceeds to generate a "debian" subdirectory and the  nec-
       essary  control  files  in  the program source directory. Those control
       files are customized with the packagename and  version  extracted  from
       the  directory name. The username is looked up in the environment vari-
       able $DEBFULLNAME if this exists.   If  not  the  environment  variable
       $LOGNAME  is  used  to find a name in the /etc/passwd file, and through
       NIS, YP and LDAP.  The e-mail address is found in the  environment  and
       /etc/mailname.   $EMAIL or $DEBEMAIL is set, or the -e (--email) option
       is supplied, then that e-mail address is used for the e-mail address of
       the  maintainer  (instead of looking it up in the environment. An exam-
       ple, for bash:

       export DEBEMAIL="jsmithATdebian.org"

       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 &lt;license&gt;
              Use  <license>  type  in  copyright file.  <license> can be gpl,
              lgpl, artistic or bsd.  If this field is not specified the copy-
              right 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.

       -e, --email &lt;address&gt;
              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 revi-
              sion number (e.g. -1) appended to it.

       -f, --file &lt;file&gt;
              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

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

       -m, --multi
              Automatically set the package class to Multiple binary, skipping
              the question.

       -k, --kmod
              Automatically set the package class to Kernel  module,  skipping
              the question.

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

       -t, --templates &lt;directory&gt;
              Applies the customizing templates in <directory> to  the  debian

       -o, --overlay &lt;directory&gt;
              Applies  a  customization  template to an existing debian direc-

       -p, --packagename &lt;name&gt;
              Force the package name to be  <name>,  good  for  packages  with
              hyphens in their name or other strangeness.

       -d, --defaultless
              Skips applying the default templates to the target debian direc-

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

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

              Directory that contains all the template files, separated in six
              directories:  debian/  with  files  for  all  package   classes,
              debians/  with  files  specific  to  the  Single  binary  class,
              debianm/ with files  specific  to  the  Multiple  binary  class,
              debianl/  with files specific to the Library class, and finally,
              native/ with files  specific  to  the  native  Debian  packages.
              licenses/  template  files  for the more common licenses used in
              Debian packages

       dpkg(1),     dpkg-buildpackage(1),     debhelper(1),      make-kpkg(1),

       You  may also want to read the Debian Policy (in /usr/share/doc/debian-
       policy) and the New Maintainers' Guide (in /usr/share/doc/maint-guide).

       Christoph Lameter <clameterATdebian.org> wrote the original  script,  in
       Craig  Small  <csmallATdebian.org> made many enhancements to the script,
       and later rewrote it in perl.
       Bruce Sass <bsassATedmc.net> added support for customization templates.

Debian Project                   October 2001                       DH_MAKE(8)