Provided by: dh-make_0.63_all bug

NAME

       dh_make - prepare Debian packaging for an original source archive

SYNOPSIS

       dh_make  [-nlsmiadhry]  [-c  license] [-e address] [-f file] [-t directory] [-o directory]
       [-p name] [--copyright license] [--email address]  [--native]  [--file  file]  [--library]
       [--single]  [--indep]  [--multi]  [--kmod]  [--kpatch] [--addmissing] [--yes] [--templates
       directory]  [--defaultless]  [--overlay  directory]  [--packagename  name]  [--rulesformat
       format] [--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 <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 name.

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

       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.

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

       Kernel patch
              The package will generate a package that can be used for kernel patches.

   ACTIONS PERFORMED
       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.

OPTIONS

       -c, --copyright license
              Use  license  type  in copyright file.  license can be gpl, gpl2, gpl3, lgpl, lgpl2
              lgpl3, artistic, apache, bsd or mit.  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.

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

       --kpatch
              Automatically set package class to kpatch, skipping the question.

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

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

       -r, --rulesformat format
              Set the format for the debian/rules file to format. The  options  are  the  default
              Debhelper v7 minimal rules (dh7), the old rules format (old) or CDBS format (cdbs).

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

ENVIRONMENT

       The following environment settings are used by dh_make:

       DEBEMAIL
              Email address to use in control and changelog entries.

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

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

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

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

EXAMPLES

       To get dh_make to use the defaults and ask you various questions about the package

           dh_make

       Create your single class package using the with the GPL license:

           dh_make -s -c gpl

       A more involved example where you set your name in  the  environment,  contact  email  and
       license in the options and specify the upstream file:

           DEBFULLNAME="John Doe"
           dh_make --email contact@example.com --copyright=bsd \
            --file ../foo.tar.gz

BUGS

       dh_make may not detect your username and email address correctly when using sudo.

SEE ALSO

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

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