Provided by: dh-make_2.202402_all bug

NAME

       dh_make - prepare upstream source for Debian packaging

SYNOPSIS

       dh_make [option]...

DESCRIPTION

       dh_make  is  a  tool  that  adds  necessary  files  for making Debian source package from upstream source
       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.

   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.

       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
              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  new  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 apache, artistic, bsd, expat, gpl, gpl2, gpl3,
              isc, lgpl, lgpl2, lgpl3, 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 point.

       --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 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. Generally used in conjunction
              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.

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,

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