Provided by: debmake_4.0.7-1_all bug

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.