Debian Bug report logs - #707601
ITP: debmake -- helper script to make the Debian source package

version graph

Package: wnpp; Maintainer for wnpp is wnpp@debian.org;

Reported by: Osamu Aoki <osamu@debian.org>

Date: Thu, 9 May 2013 16:45:11 UTC

Owned by: Osamu Aoki <osamu@debian.org>

Severity: wishlist

Fixed in version debmake/4.0.0-1

Done: Osamu Aoki <osamu@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, debian-devel@lists.debian.org, csmall@debian.org, wnpp@debian.org:
Bug#707601; Package wnpp. (Thu, 09 May 2013 16:45:15 GMT) Full text and rfc822 format available.

Acknowledgement sent to Osamu Aoki <osamu@debian.org>:
New Bug report received and forwarded. Copy sent to debian-devel@lists.debian.org, csmall@debian.org, wnpp@debian.org. (Thu, 09 May 2013 16:45:15 GMT) Full text and rfc822 format available.

Message #5 received at submit@bugs.debian.org (full text, mbox):

From: Osamu Aoki <osamu@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: ITP: debmake -- helper script to make the Debian source package
Date: Fri, 10 May 2013 01:40:39 +0900
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




Added tag(s) pending. Request was from Anibal Monsalve Salazar <anibal@debian.org> to control@bugs.debian.org. (Sun, 12 May 2013 20:06:07 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org, Osamu Aoki <osamu@debian.org>:
Bug#707601; Package wnpp. (Mon, 13 May 2013 05:39:05 GMT) Full text and rfc822 format available.

Acknowledgement sent to Steve Langasek <vorlon@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org, Osamu Aoki <osamu@debian.org>. (Mon, 13 May 2013 05:39:05 GMT) Full text and rfc822 format available.

Message #12 received at 707601@bugs.debian.org (full text, mbox):

From: Steve Langasek <vorlon@debian.org>
To: Osamu Aoki <osamu@debian.org>, 707601@bugs.debian.org
Cc: debian-devel@lists.debian.org
Subject: Re: Bug#707601: ITP: debmake -- helper script to make the Debian source package
Date: Mon, 13 May 2013 00:36:39 -0500
[Message part 1 (text/plain, inline)]
On Fri, May 10, 2013 at 01:40:39AM +0900, Osamu Aoki wrote:

>  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 sounds almost exactly like what dh-make already does, with a few
incremental enhancements.  Why should we have this in the archive as a
separate package, instead of improving the existing tool?  Dividing efforts
between two packages seems like a sure recipe for both tools falling behind
in the long term.

-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org, Osamu Aoki <osamu@debian.org>:
Bug#707601; Package wnpp. (Mon, 13 May 2013 11:09:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Craig Small <csmall@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org, Osamu Aoki <osamu@debian.org>. (Mon, 13 May 2013 11:09:04 GMT) Full text and rfc822 format available.

Message #17 received at 707601@bugs.debian.org (full text, mbox):

From: Craig Small <csmall@debian.org>
To: Osamu Aoki <osamu@debian.org>, 707601@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#707601: ITP: debmake -- helper script to make the Debian source package
Date: Mon, 13 May 2013 20:54:51 +1000
On Mon, May 13, 2013 at 12:36:39AM -0500, Steve Langasek wrote:
> This sounds almost exactly like what dh-make already does, with a few
> incremental enhancements.  Why should we have this in the archive as a
> separate package, instead of improving the existing tool?  Dividing efforts
> between two packages seems like a sure recipe for both tools falling behind
> in the long term.
I wondered that myself actually.

 - Craig
-- 
Craig Small VK2XLZ   http://enc.com.au/          csmall at : enc.com.au
Debian GNU/Linux     http://www.debian.org/      csmall at : debian.org
GPG fingerprint:     5D2F B320 B825 D939 04D2  0519 3938 F96B DF50 FEA5



Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#707601; Package wnpp. (Mon, 13 May 2013 12:09:09 GMT) Full text and rfc822 format available.

Acknowledgement sent to Osamu Aoki <osamu@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Mon, 13 May 2013 12:09:09 GMT) Full text and rfc822 format available.

Message #22 received at 707601@bugs.debian.org (full text, mbox):

From: Osamu Aoki <osamu@debian.org>
To: 707601@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#707601: ITP: debmake -- helper script to make the Debian source package
Date: Mon, 13 May 2013 21:06:38 +0900
Hi,

On Mon, May 13, 2013 at 12:36:39AM -0500, Steve Langasek wrote:
> On Fri, May 10, 2013 at 01:40:39AM +0900, Osamu Aoki wrote:
> 
> >  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 sounds almost exactly like what dh-make already does, with a few
> incremental enhancements.  

Yes.  But seemingly incremental features are not so easy to add to
dh-make.

> Why should we have this in the archive as a
> separate package, instead of improving the existing tool?  Dividing efforts
> between two packages seems like a sure recipe for both tools falling behind
> in the long term.

The design of dh-make code is roughly:
 * It only supports fixed PACKAGE CLASSES.
   * Single binary
   * Arch-Independent
   * Multiple binary
   * Library
     ....  (Total 6 but no multi-arch support, no dh --with support etc.)  
 * Each PACKAGE CLASS is represented by a set of template files.
 * It basically copy them by choosing a PACKAGE CLASS.
 * Customization is only via text substitution while copying.

I thought this fundamental rigidness needs to be changed to make this
more flexible.  

Since accommodating "multi-arch support", "--with arguments support",
"license scan with binary check", ... require rewriting almost all of
the code.  So I did this.

Anyway, if you try this program, I think you understand.  It is already
uploaded to NEW. For example,

For simple arch any single package, you need only this:
 $ debmake
 $ debuild
So this much, it is equivalent to dh-make.

You can make multi-binary multi-arch packages with:
 $ debmake -b "foo,foo-doc,libfoo1,libfoo-dev,libfoo-dbg"

This should make 5 packages with multi-arch support.

If package is autotools based but has Python code:

 $ debmake -w python2 -b"foo:all,foo-doc"

This should make 2 packages.  This not only add -w python2 to dh but
also adjusts debian/control.

Theese packaging choices are almost impossible with dh-make program
framework.  Thus .... my reason to rewrite this.

This may be still buggy and may needs some more work.  I was thinking to
update maint-guide using this so I need to be less wordy and the debmake
program does more.

Osamu

PS: Except for scanning copyright text, code is small enough.  The whole
code is only 2275 lines including main part of the template text.




Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org, Osamu Aoki <osamu@debian.org>:
Bug#707601; Package wnpp. (Mon, 13 May 2013 13:00:19 GMT) Full text and rfc822 format available.

Acknowledgement sent to Alberto Garcia <agarcia@igalia.com>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org, Osamu Aoki <osamu@debian.org>. (Mon, 13 May 2013 13:00:19 GMT) Full text and rfc822 format available.

Message #27 received at 707601@bugs.debian.org (full text, mbox):

From: Alberto Garcia <agarcia@igalia.com>
To: Osamu Aoki <osamu@debian.org>, 707601@bugs.debian.org, debian-devel@lists.debian.org
Subject: Re: Bug#707601: ITP: debmake -- helper script to make the Debian source package
Date: Mon, 13 May 2013 14:52:17 +0200
On Mon, May 13, 2013 at 12:36:39AM -0500, Steve Langasek wrote:

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

> This sounds almost exactly like what dh-make already does, with a
> few incremental enhancements.

Also, is there any relation between this and the old 'debmake' package
or they just happen to have the same name?

https://lists.debian.org/debian-devel-announce/2006/03/msg00019.html

http://bugs.debian.org/cgi-bin/pkgreport.cgi?archive=both;package=debmake

http://archive.debian.net/en/sarge/debmake

Berto



Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org, Osamu Aoki <osamu@debian.org>:
Bug#707601; Package wnpp. (Tue, 14 May 2013 07:48:09 GMT) Full text and rfc822 format available.

Acknowledgement sent to Antti-Juhani Kaijanaho <antti-juhani@kaijanaho.fi>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org, Osamu Aoki <osamu@debian.org>. (Tue, 14 May 2013 07:48:09 GMT) Full text and rfc822 format available.

Message #32 received at 707601@bugs.debian.org (full text, mbox):

From: Antti-Juhani Kaijanaho <antti-juhani@kaijanaho.fi>
To: debian-devel@lists.debian.org
Cc: Osamu Aoki <osamu@debian.org>, 707601@bugs.debian.org
Subject: Re: Bug#707601: ITP: debmake -- helper script to make the Debian source package
Date: Tue, 14 May 2013 10:43:59 +0300
On Mon, May 13, 2013 at 02:52:17PM +0200, Alberto Garcia wrote:
> Also, is there any relation between this and the old 'debmake' package
> or they just happen to have the same name?

My first thought upon seeing this ITP was, whyever for would anyone want to
resurrect debmake.

Please choose another name.

-- 
Antti-Juhani Kaijanaho




Information forwarded to debian-bugs-dist@lists.debian.org, wnpp@debian.org:
Bug#707601; Package wnpp. (Tue, 14 May 2013 09:54:09 GMT) Full text and rfc822 format available.

Acknowledgement sent to Osamu Aoki <osamu@debian.org>:
Extra info received and forwarded to list. Copy sent to wnpp@debian.org. (Tue, 14 May 2013 09:54:09 GMT) Full text and rfc822 format available.

Message #37 received at 707601@bugs.debian.org (full text, mbox):

From: Osamu Aoki <osamu@debian.org>
To: Antti-Juhani Kaijanaho <antti-juhani@kaijanaho.fi>
Cc: debian-devel@lists.debian.org, 707601@bugs.debian.org
Subject: Re: Bug#707601: ITP: debmake -- helper script to make the Debian source package
Date: Tue, 14 May 2013 18:48:34 +0900
Hi,

On Tue, May 14, 2013 at 10:43:59AM +0300, Antti-Juhani Kaijanaho wrote:
> On Mon, May 13, 2013 at 02:52:17PM +0200, Alberto Garcia wrote:
> > Also, is there any relation between this and the old 'debmake' package
> > or they just happen to have the same name?
> 
> My first thought upon seeing this ITP was, whyever for would anyone want to
> resurrect debmake.

Because this inherits some code from the original debmake indirectly via
dh-make and the original debmake is no more in archive.

This serves for the same purpose under new updated packaging service and
the name is available.  I made sure version is higher.  Please consider
this is a reimplementation of debmake.  (dh-make looks to me a
reimplementation of the original debmake.)

 debmake original (1996-2006,shell)  the oldest, 
                  template file based
 dh-make          (1998-,perl)   co-existed with debmake original
                  template file based
 debmake mine     (2013-,python) why not co-existed with dh-make?
                  synthesize file contents based on parameters

Since my intended changes were targeted to the command line UI design
and internal program structure, I did not ask dh-make maintainer to
change this way since this will break its current internal elegance.

Once I decided to reimplement, I chose easiest language to do the task
for me.

Regards,

Osamu

FYI: All the codes inherited from debmake original/dh-make in my new
debmake are optional scripts copied into debian/ directory only upon
user's extra action.




Reply sent to Osamu Aoki <osamu@debian.org>:
You have taken responsibility. (Mon, 02 Dec 2013 11:03:11 GMT) Full text and rfc822 format available.

Notification sent to Osamu Aoki <osamu@debian.org>:
Bug acknowledged by developer. (Mon, 02 Dec 2013 11:03:11 GMT) Full text and rfc822 format available.

Message #42 received at 707601-close@bugs.debian.org (full text, mbox):

From: Osamu Aoki <osamu@debian.org>
To: 707601-close@bugs.debian.org
Subject: Bug#707601: fixed in debmake 4.0.0-1
Date: Mon, 02 Dec 2013 11:00:08 +0000
Source: debmake
Source-Version: 4.0.0-1

We believe that the bug you reported is fixed in the latest version of
debmake, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 707601@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Osamu Aoki <osamu@debian.org> (supplier of updated debmake package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sat, 11 May 2013 12:36:02 +0900
Source: debmake
Binary: debmake
Architecture: source amd64
Version: 4.0.0-1
Distribution: unstable
Urgency: low
Maintainer: Osamu Aoki <osamu@debian.org>
Changed-By: Osamu Aoki <osamu@debian.org>
Description: 
 debmake    - helper script to make the Debian source package
Closes: 707601
Changes: 
 debmake (4.0.0-1) unstable; urgency=low
 .
   * Initial release. Closes: #707601
Checksums-Sha1: 
 ae3242928ddc3b078b4add9cd1c8bb01ef9dfaa0 1192 debmake_4.0.0-1.dsc
 6d8d43c0e7681e9d6ae7c7814f5299cfae9a970d 35896 debmake_4.0.0.orig.tar.gz
 ccba199434c6790f6a5212cac5349146b0ce6c2d 2794 debmake_4.0.0-1.debian.tar.gz
 e72be7ee9e44a4ae540581fa64fce79635f7bcef 36008 debmake_4.0.0-1_amd64.deb
Checksums-Sha256: 
 6bfd8521f7e188b7e9300dda48cb77d31c785d31e4f22c2ad8af496ed06578d8 1192 debmake_4.0.0-1.dsc
 39edfce4d76e21987cef2180afbfddc3a713f8e0f2ad892dd2fff5c39aa3df84 35896 debmake_4.0.0.orig.tar.gz
 fa87dd0c5c909bfd6daf62dea6e2a36d08f1401b9cbfb5c653a18c108e03dbbb 2794 debmake_4.0.0-1.debian.tar.gz
 43dd7a063b7d8ddf99d5545c63d6887a3cd317865f0df153131a679b8116d8fd 36008 debmake_4.0.0-1_amd64.deb
Files: 
 42c3df5b02e31ed947b81d893a587899 1192 devel extra debmake_4.0.0-1.dsc
 800cb4b759272d2afc69115df88145d6 35896 devel extra debmake_4.0.0.orig.tar.gz
 7219c816587828183c50c554578f3647 2794 devel extra debmake_4.0.0-1.debian.tar.gz
 c18f78c9589b24b4ddc1dbf563746055 36008 devel extra debmake_4.0.0-1_amd64.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEARECAAYFAlGPsggACgkQ6A/EwagGHzJ6nACcCRNVqeYpCFWbV0Cz8waXieF4
OgkAmwQZcRj5BOiVxMAGTIE1hqwgi8gQ
=FbWz
-----END PGP SIGNATURE-----




Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Tue, 31 Dec 2013 07:25:32 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sun Apr 20 08:46:38 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.