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

Language-agnostic

These are tools that generate Debian packages independently of the language. They often wrap language-specific package generators (see below).

Name

debdry

debmake

debianize

Language-specific

Language

Any

Perl

Ruby

Python

Python

Node.js

Haskell

Go

ELPA (Emacs Lisp)

Tool (package name)

dh-make

dh-make-perl

gem2deb

python3-stdeb

pypi2deb

npm2deb

cabal-debian

dh-make-golang

dh-make-elpa

Upstream repository

N/A

CPAN.org, Alioth

Rubygems.org

PyPI

PyPI

npm

Hackage

varies

MELPA

Features

version

1.20150601

0.89-1

0.21.1

0.8.5-1

0.20160809

0.2.2-1

4.31-1

0.6.0-1

0.1.0 (experimental)

cdbs or dh?

dh

dh

dh

dh

dh

dh

cdbs

dh

dh

use DEBEMAIL

yes

yes

yes

yes

yes

yes

yes

yes

yes

Build-Depends

no

yes

yes

partial

yes

no

yes

yes

partial

Depends

no

yes

yes

yes

yes

yes

at build time

yes

yes

Homepage

no

yes

yes

yes

yes

yes

no

yes

yes

short/long descriptions

no

yes

yes

yes

yes

short only

yes

yes

yes

DEP8 tests

no

yes (autopkgtest-pkg-perl in pkg-perl mode)

only template

no

no

basic (only require)

no

dh-golang autopkgtest

no

.docs / .examples / etc.

no

docs + examples

docs only

no

docs + examples

docs

no

no

docs only

debian/copyright

only template

yes

only template

no

yes

yes

yes

yes

yes

debian/watch

only template

yes

yes

yes

yes

yes

yes

yes

yes

git repo creation, pristine-tar, etc.

no

yes

no

no

yes

no

no

yes

no

debian/upstream/metadata

no

yes

no

no

no

no

no

yes

no

ITP mail template

no

no (use dpt gen-itp)

no

no

yes

yes

no

yes

no

recursive

no1

Notes

Build-depends and Depends generation

A draft copyright file can be created in one of these ways:

In either case, you still need to double-check the information (licensecheck leaves FIXMEs to help you track which parts you have double-checked, whereas cme strips those FIXMEs)

See more details and alternative tools at CopyrightReviewTools

Usage

Not (yet) covered tools

Other languages without an automated generator

See also

TODO

Meetings

Footnotes


CategoryPackaging CategorySoftware

  1. The estimate command can tell which parts of the dependency chains are missing from Debian. (1)