Scroll to navigation

DH-MAKE-ELPA(1) User Contributed Perl Documentation DH-MAKE-ELPA(1)


dh-make-elpa - helper for creating Debian packages from ELPA packages



dh-make-elpa will try to create the files required to build a Debian source package from an unpacked GNU Emacs ELPA package.

dh-make-elpa is an experimental script that performs a lot of guesswork. You should throughly verify the contents of the debian/ directory before uploading


% git clone -o upstream

% cd foo

% git reset --hard 1.0.0 # package latest stable release

% git branch --unset-upstream # detaches master branch from upstream remote

% dh-make-elpa --pkg-emacsen

% git add debian && git commit -m "initial Debianisation"

% git deborig

% dpkg-buildpackage -us -uc


Default command if no command is given. Creates debianisation from scratch. Fails with an error if debian/ directory already exists.
Displays short usage information.


Sets "Maintainer", "Uploaders", "Vcs-Git" and "Vcs-Browser" fields in debian/control according to the Team's conventions.

This option is useful when preparing a package for the Debian Emacs Addon Packaging Team <>.

Specify the ELPA package version. Useful when upstream failed to include either a Package-Version: header or a -pkg.el file.


The remote for upstream's git repository should be called 'upstream'. You can use:

% git clone -o upstream https://foo/bar


Originally written by Sean Whitton <>, currently maintained by Lev Lamberov <> and Debian Emacsen team <>.

A great deal of the library code used by dh-make-elpa, and its object-oriented structure, comes from dh-make-perl(1), written and maintained by the Debian Perl Group.

2021-01-03 perl v5.32.0