Provided by: debmake_4.0.7-1_all 

NAME
debmake - program to make the Debian source package
SYNOPSIS
debmake [-h] [-c] [-n | -a package-version.orig.tar.gz | -d | -t ] [-p package] [-u version] [-r
revision] [-z extension] [-b "package[:type], ...]" [-e foo@example.org] [-f "firstname lastname"] [-i
"buildtool" | -j] [-l license_file] [-m] [-o file] [-q] [-v] [-w "addon, ..."] [-x [01234]] [-y]
DESCRIPTION
debmake helps to build the Debian package from the upstream source. Normally, this is done as follows:
* The upstream tarball is downloaded as the package-version.tar.gz file.
* It is untared to create many files under the package-version/ directory.
* debmake is invoked in the package-version/ directory possibly without any arguments.
* debmake generates the packagename_version.orig.tar.gz symlink pointing to the upstream tarball.
* debmake generates the template files in the package-version/debian/ directory.
* These template files should be manually adjusted to their perfection.
* dpkg-buildpackage (usually from its wrapper debuild or pdebuild) is invoked in the
package-version/ directory to make debian packages.
debmake always builds the source for the multi-arch package, unless -m option is explicitly specified.
debmake always builds the non-native Debian package with the "3.0 (quilt)" format, unless -n option is
explicitly specified.
Most of the obvious option states and values are automatically set by debmake with good defaults by
scanning the source code.
The functional single-binary package can be generated automatically without touching files in the
package-version/debian/ directory. The generated package can be used locally.
* To comply with the strict quality requirements of the Debian archive, these template files must
be manually adjusted to their perfection before the upload.
* For example, you can get a Python module packaged by the Python distutils and make its Debian
binary package by simply running "debmake -d -i debuild" in its untared source tree.
The functional multi-binary package always requires some extra manual works. These works are done as
follows:
* Invoke debmake with the -b'package1:type1, ...' and -j options in the package-version/
directory.
* Check the last lines of package.build-dep.log to judge build dependencies for Build-Depends:.
(You do not need to list packages used by debhelper, perl , or fakeroot explicitly in
Build-Depends:.)
* Check the contents of package.install.log to identify file paths in debian/tmp.
* Update debian/control and debian/package.install files using the above information.
* Update other debian/* files as needed.
* Build binary packages with debuild, pdebuild, etc.
* Files installed into debian/tmp are split by debian/package.install into each
package_version-revision_arch.deb.
debmake has the -a option to make it work directly with the tarball.
debmake has the -t and -d options to make it work well with the source files in VCS. These options also
allow to make the non-native Debian package from the VCS source tree with the package-version/debian/
directory. Please note, the non-native Debian package is the normal Debian package.
Argument may need to be quoted to protect from the shell.
optional arguments:
-h, --help
show this help message and exit.
-c, --copyright
scan source for copyright+license text and exit.
-n, --native
make a native Debian source package without .orig.tar.gz. This makes the "3.0 (native)" format
package.
If you are thinking to package a Debian specific source tree with debian/* in it into a native
Debian package, please think othrewise. You can use "debmake -d -i debuild" or "debmake -t -i
debuild" to make the "3.0 (quilt)" format non-native Debian package. The only difference is that
the debian/changelog file must use the non-native version scheme: version-revision. The
non-native package is more friendly to the downstream distributions.
-a package-version.tar.gz, --archive package-version.tar.gz
use the upstream source tarball directly. (-p, -u, -z: overridden)
The upstream tarball may be specified as package_version.orig.tar.gz and; tar.gz for all cases may
be tar.bz2, or tar.xz.
-d, --dist
run "make dist" equivalent first to generate upstream tarball and use it.
"debmake -d" is designed to run in the package/ directory hosting the upstream VCS with the build
system supporting "make dist" equivalents. (automake/autoconf, Python distutils, ...)
-t, --tar
run "tar" to generate upstream tarball and use it
"debmake -t" is designed to run in the package/ directory hosting the VCS. Unless there is the
debian/changelog file, you need to provide the upstream version with the -u option. The generated
tarball excludes the debian/ directory. (It also excludes typical VCS directories: .git/ .hg/
.svn/ .CVS/)
-p package, --package package
set the Debian package name.
-u version, --upstreamversion version
set the upstream package version.
-r revision, --revision revision
set the Debian package revision.
-z extension, --targz extension
set the tarball type,
extension=(tar.gz|tar.bz2|tar.xz)
-b "package[:type],...", --binaryspec "'package[:type],...'"
set binary package specs as comma separated list, e.g., in full form "foo:bin, foo-doc:doc,
libfoo1:lib, libfoo1-dbg:dbg, libfoo-dev:dev" or in short form ", -doc, libfoo1, libfoo1-dbg,
libfoo-dev".
The meanings of type with (arch, multi-arch) values are as follows:
bin: C/C++ compiled binary code package (any, foreign) (default)
data: Data (fonts, graphics, ...) package (all, foreign)
dbg: Debug symbol package (any, same)
dev: Library development package (any, same)
doc: Documentation package (all, foreign)
lib: Library package (any, same)
perl: Perl script package (all, foreign)
python: Python script package (all, foreign)
python3: Python3 script package (all, foreign)
script: Shell script package (all, foreign)
-e foo@example.org, --email foo@example.org
set e-mail address.
The default is taken from the value of the environment variable $DEBEMAIL.
-f "firstname lastname", --fullname "firstname lastname"
set the fullname.
The default is taken from the value of the environment variable $DEBFULLNAME.
-i "buildtool", --invoke "buildtool"
invoke "buildtool" at the end of execution. "buildtool" may be "dpkg-buildpackage", "debuild",
"pdebuild", ""pdebuild --pbuilder cowbuilder"", etc..
The default is not to execute any program.
-j, --judge
run dpkg-depcheck to judge build dependencies and identify file paths. Log files are in the
parent directory.
package.build-dep.log: Log file for dpkg-depcheck.
package.install.log: Log file recording files in the debian/tmp directory.
-l license_file,..., --license license_file,...
add formatted license text to the end of the debian/copyright file holding license scan results
The default is add COPYING and LICENSE and license_file needs to list only the additional file
names all separated by ",".
-m, --monoarch
force packages to be non-mult-iarch.
-o file, --option file
read optional parameters from file. (read as python code. See README.option.)
-q, --quitearly
quit early before creating files in the debian/ directory.
-v, --version
show version information.
-w "addon,...", --with "addon,..."
add extra arguments to the --with option of the dh(1) command as addon in debian/rules.
addon values are listed all separated by ",", e.g., -w "python2,autoreconf".
For Autotools based packages, setting autoreconf as addon forces to run "autoreconf -i -v -f" for
every package building. Otherwise, autotools-dev as addon is used as default.
For Autotools based packages, if they install Python programs, python2 as addon is needed since
this is non-obvious. But for setup.py based packages, python2 as addon is not needed since this
is obvious and it is automatically set for the dh(1) command.
-x n, --extra n
generate extra configuration files as templates.
The number n changes which configuration templates are generated.
-x0 : bare minimum configuration files. (default if these files exist already)
-x1 : ,, + desirable configuration files. (default for new packages)
-x2 : ,, + interesting configuration files. (recommended for experts, multi-binary aware)
-x3 : ,, + unusual configuration template files with the extra .ex suffix to ease their removal.
(recommended for new users) To use these as configuration files, rename their file names into ones
without the .ex suffix.
-x4 : ,, + copyright file examples.
-y, --yes
force "yes" for all prompts.
DEBUG
The character set in the environ variable DEBUG determines the logging output level.
p: list all parameters
f: copyright scanner input file
i: copyright scanner input line
o: line outside of copyright and license sections
c: line in copyright section
l: line in license section
AUTHOR
Copyright © 2013 Osamu Aoki <osamu@debian.org>
LICENSE
MIT License
SEE ALSO
See also debhelper(7), dpkg-buildpackage(1) debuild(1) and pdebuild(1) manpages and files in
/usr/share/doc/debmake/.
Learn basics of Debian packaging with the "Debian New Maintainers' Guide" at
http://www.debian.org/doc/manuals/maint-guide/ or with the maint-guide package.
4.0 May 2013 DEBMAKE(1)