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)