Provided by: debmake_4.0.7-1_all bug


       debmake - program to make the Debian source package


       debmake  [-h]  [-c]  [-n  |  -a  package-version.orig.tar.gz  | -d | -t ] [-p package] [-u
       version] [-r revision] [-z extension] [-b "package[:type], ...]" [-e]  [-f
       "firstname lastname"] [-i "buildtool" | -j] [-l license_file] [-m] [-o file] [-q] [-v] [-w
       "addon, ..."] [-x [01234]] [-y]


       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

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

              * 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

       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,


       -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, --email
              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"",

              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.

     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

              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

              For Autotools based packages, if they install Python programs, python2 as addon  is
              needed  since  this  is  non-obvious.   But for based packages, python2 as
              addon is not needed since this is obvious and it is automatically set for the dh(1)

       -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

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


       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


       Copyright © 2013 Osamu Aoki <>


       MIT License


       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 or with the maint-guide package.