Differences between revisions 13 and 14
Revision 13 as of 2015-04-22 10:42:44
Size: 2659
Comment:
Revision 14 as of 2015-04-22 10:45:10
Size: 2782
Comment:
Deletions are marked like this. Additions are marked like this.
Line 39: Line 39:
 * [[https://wiki.debian.org/DEP-11|DEP-11]] could end up being the proper way to generate language-specific dependencies

This page references tools that aim at providing basic working Debian packages.

Language

Any

Perl

Ruby

Python

Tool (package name)

dh-make

dh-make-perl

gem2deb

python-stdeb

Upstream repository

N/A

CPAN.org

Rubygems.org

Pypi

Usage

Download upstream package from repository

Debianize (without building source)

Debianize an unpacked upstream source

python3 setup.py --command-packages=stdeb.command debianize

Debianize and build source package

Debianize and build binary packages

Debianize, build, install

Refresh already created package

TODO: other use cases?

Features

version

0.84-2

0.14

0.8.2-4

cdbs or dh?

dh

dh

dh

use DEBEMAIL

yes

yes

no

Build-Depends

yes

yes

no

Depends

yes

yes

yes

Homepage

yes

yes

no

short/long descriptions

yes

yes

yes

DEP8 tests

no

only template

no

.docs / .examples / etc.

docs + examples

docs only

no

debian/copyright

yes

only template

no

debian/watch

yes

yes

no

Refresh mode (regenerate all files, moving old ones to .bak)

yes

no

no

git repo creation, pristine-tar, etc.

yes

no

no

debian/upstream/metadata (UpstreamMetadata)

yes

no

no

Notes

  • There's a Git repo with some example outputs

  • only template means that the tool provides a file that is not customized per-package

Build-depends and Depends generation

  • dh-make-perl uses local packages and apt-file to identify packages (broken with 0.84-2 and multiarch)

  • gem2deb converts gem names to Debian package names
  • stdeb also uses apt-file with a fallback on module name conversion (code)

  • DEP-11 could end up being the proper way to generate language-specific dependencies

TODO. 'cme update dpkg-copyright' is another approach.

TO-DO List