Bug#707601: ITP: debmake -- helper script to make the Debian source package
Package: wnpp
Severity: wishlist
Owner: Osamu Aoki <osamu@debian.org>
* Package name : debmake
Version : 4.0.0
Upstream Author : Osamu Aoki <osamu@debian.org>
* URL : <none yet>
* License : MIT
Programming Lang: Python3
Description : helper script to make the Debian source package
This package helps you to convert a upstream source package (or VCS contents)
into the Debian package by adding files required for the Debian source
package. The generated debian/rules file uses the new dh command syntax from
the debhelper (>9) package.
.
The debmake command invoked in the upstream source tree without any option
can generate template files which is good enough to create a single arch=any
Debian binary package for local use. The generated files should be edited to
make it conform to the Debian policy if the package is uploaded to the Debian
archive. By adding few options, this command can generate template files for
the arbitrary combination of the multi-binary and multi-arch package, etc.
.
This debmake command also scans copyright and license texts in the source
files to help crafting the proper DEP-5 compatible debian/copyright file.
----
This is working here. This generates proper dh command line with "--with ..."
for python2 and python3 (with override lines). This also has options to use
upstream "make dist" or tarball as the starting point. I am cleaning up code
before upload. No problem for running multiple times and no more extra
template files unless requested.
FYI:
The author thanks previous efforts on this topic (GPL):
* debmake: 1996-1997 Christoph Lameter <clameter@debian.org>
1997-2006 Santiago Vila <sanvila@debian.org>
command: deb-make, version up to 3.8 (shell script)
(not in wheezy)
* dh-make: 1998-2012 Craig Small <csmall@debian.org>
command: dh_make (perl script)
Version starts from 4.0.0 since old debmake was 3.8.
=======================================================================
$ debmake -h
usage: debmake [-h] [-a upstream-version.tar.gz | -d] [-p package_name]
[-u upstream_version] [-r debian_revision] [-z extension]
[-b package[:type]] [-c license_file] [-e foo@example.org]
[-f "firstname lastname"] [-i] [-m] [-n] [-o] [-q] [-v] [-x]
debmake: make Debian source package Version: 4.0.0
Copyright © 2013 Osamu Aoki <osamu@debian.org>
debmake builds the Debian package from the upstream source.
Normally, this is done as follows:
* The upstream tarball is downloaded as the upstream-version.tar.gz file.
* The upstream_version.orig.tar.gz symlink is generated pointing to the upstream tarball.
* It is untared to create many files under the upstream-version/ directory.
* debmake is invoked in the upstream-version/ directory without any arguments.
* Files in the upstream-version/debian/ directory are manually adjusted.
* dpkg-buildpackage is invoked in the upstream-version/ directory to make debian packages.
optional arguments:
-h, --help show this help message and exit
-a upstream-version.tar.gz, --archive upstream-version.tar.gz
use the upstream source tarball directly (-p, -u, -z:
overridden)
-d, --dist run "make dist" equivalent first to generate upstream
tarball and use it
-p package_name, --package package_name
set the Debian package name
-u upstream_version, --upstreamversion upstream_version
set the upstream package version
-r debian_revision, --revision debian_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,
package=(-|-doc|-dev|-common|-bin|-dbg),
type=(all|any|foreign|same)
(This can have -b"package1:type1,package2:type2,package3:type3")
-c license_file, --copyright license_file
add formatted license to debian/copyright
-e foo@example.org, --email foo@example.org
set e-mail address
-f "firstname lastname", --fullname "firstname lastname"
set the fullname
-i, --initialize set-up debhelper to run "autoreconf -ivf" to
initialize for Autotools
-m, --monoarch force packages to be non-multiarch
-n, --native make a native source package without .orig.tar.gz
-o, --overwrite overwrite existing configuration files
-q, --quitearly quit early before creating files in the debian
directory
-v, --version show version information
-x, --extra generate extra configuration files as templates
Osamu
Reply to: