dh_make
DH_MAKE(E)                                             DH_MAKE(E)



NAME
       dh_make - Debianize a regular source archive

SYNOPSIS
       dh_make  [-nlsmiadh]  [-C  license] [-e address] [-f file]
       [-c  directory]  [-o  directory]   [--copyright   license]
       [--email  address]  [--native]  [--file  file] [--library]
       [--single] [--multi]  [--addmissing]  [--templates  direc-
       tory]   [--defaultless]   [--overlay  directory]  [--help]
       [--version]

DESCRIPTION
       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 <package-
       name>-<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.

PACKAGE CLASSES
       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 split.

       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.

ACTIONS PERFORMED
       dh_make  copies  the archive on the higher directory level
       into <packagename>-<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 pack-
       aging format.

       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.
       The  username  is  looked  up  in the environment variable
       $DEBFULLNAME if this exists.  If not the environment vari-
       able  $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  environ-
       ment. An example, for bash:

       export DEBEMAIL="jsmith@debian.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  acti-
       vate 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 sec-
       tion of this manpage for samples.

OPTIONS
       -c, --copyright <license>
              Use <license> type in  copyright  file.   <license>
              can  be  gpl, lgpl, artistic or bsd.  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.

       -e, --email <address>
              Use  <address>  as  the e-mail address in the Main-
              tainer: field of debian/control file.

       -n, --native
              Create a native Debian packages, i.e. do not gener-
              ate  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 pro-
              gram.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.

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

       -a, --addmissing
              Adds missing example and control files on an exist-
              ing 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.

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

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

       -v, --version
              Show the program name and version,  and  exit  suc-
              cessfully.

FILES
       /usr/share/debhelper/dh_make
              Directory  that  contains  all  the template files,
              separated in six directories:  debian/  with  files
              for  all  package classes, debians/ with files spe-
              cific 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 pack-
              ages

SEE ALSO
       dpkg(g),        dpkg-buildpackage(e),        debhelper(r),
       /usr/share/doc/debhelper/README

       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).

AUTHORS
       Christoph Lameter <clameter@debian.org> wrote the original
       script, in sh.
       Craig Small <csmall@debian.org> made many enhancements  to
       the script, and later rewrote it in perl.
       Bruce  Sass  <bsass@edmc.net> added support for customiza-
       tion templates.



Debian Project             October 2001                DH_MAKE(E)