DH-MAKE-ELPA(1)
π DH-MAKE-ELPA π
okay bestie, welcome to the perl-flavoured corner of the User Contributed Perl Documentation, section 1 of the manual, file DH-MAKE-ELPA(1). this is the whole vibe, no skips, no cuts π
β¨ NAME β¨
dh-make-elpa β the helper that makes Debian packages out of ELPA packages π
π¦ SYNOPSIS π¦
dh-make-elpa [--pkg-emacsen] [make]
dh-make-elpa help
πΈ DESCRIPTION πΈ
so basically, dh-make-elpa will try to create all the files you need to build a Debian source package out of an unpacked GNU Emacs ELPA package. it's giving β¨glow-upβ¨, it's giving packaging.
ngl though β dh-make-elpa is an experimental script, and it does a LOT of guesswork π. like, it is out here vibing and guessing. you absolutely should thoroughly verify the contents of the debian/ directory before uploading. no cap. check everything. do not just trust the guesses and hit upload, that's not the move π
π«Ά TYPICAL USAGE π«Ά
here's the whole little ritual, bestie, follow along:
# Set your name and email address (these will be used in debian/control)
% export DEBFULLNAME="Jane Bloggs"
% export DEBEMAIL=j.s.bloggs@example.com
% git clone -o upstream https://foo.org/foo.git
% 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
look at that. iconic. she did the whole thing π
π COMMANDS π
makeβ the default command when you don't give any command at all, so she'll just do it automatically. creates debianisation from scratch. and if thedebian/directory already exists? boom, fails with an error. no overwriting your stuff, respect πhelpβ shows you a short usage message. she's telling you how to talk to her π₯°
π OPTIONS π
--pkg-emacsenβ sets the"Maintainer","Uploaders","Vcs-Git"and"Vcs-Browser"fields indebian/controlaccording to the Team's conventions. (yes, real team, real conventions, we love structure β¨)
this option is lowkey essential when you're preparing a package for the Debian Emacs Addon Packaging Team over at https://pkg-emacsen.alioth.debian.org. slay π«Ά
--versionβ lets you specify the ELPA package version. super useful when upstream failed to include either aPackage-Version:header or a-pkg.elfile. upstream really said "figure it out" and this flag said "no, I got you" π€
π TIPS π
π§ Upstream remote π§
the remote for upstream's git repository should be called 'upstream'. like, that's the naming convention, that's the rule, that's the vibe check. you can use:
% git clone -o upstream https://foo/bar
see how the -o upstream is right there? that's the trick, iykyk π
π AUTHOR π
originally written by Sean Whitton <spwhitton@spwhitton.name>. currently maintained by Lev Lamberov <dogsleg@debian.org> and the Debian Emacsen team <debian-emacsen@lists.debian.org>. give them their flowers π
and fun fact bestie: a great deal of the library code used by dh-make-elpa, plus its object-oriented structure, comes from dh-make-perl(1), which was written and maintained by the Debian Perl Group. family tree moment π
real talk: this is a perl v5.40.1 situation, dated 2026-06-29, and it lives underDH-MAKE-ELPA(1)in User Contributed Perl Documentation. so likeβ¦ go forth, verify yourdebian/directory, and eat, queen ππ periodt.
π¦ where this page comes from
- ubuntu stonking: dh-make-elpa 0.19.11 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms