DH-MAKE-RAKU(1p)
π DH-MAKE-RAKU(1p) π
okay bestie, so this page lives in the User Contributed Perl Documentation section of your man pages, and it's literally the glow-up guide for turning a Raku module into a Debian source package. no cap. π¦
β¨ NAME β¨
dh-make-raku β create a debian source package from a Raku module π
β¨ SYNOPSIS β¨
# Create a new package
dh-make-raku --git=<git_url> --pkg=<pkg-name> --tag=<upstream_release_tag>
# refresh a package (to be run in package dir)
dh-make-raku
# get new release from upstream
dh-make-raku --upgrade <new_upstream_version>
πΈ REQUIREMENTS πΈ
before we even start, bestie, you need this whole lil checklist:
- An account on Salsa and you gotta be part of the Raku package team. peek the "How to get involved" wiki page at
https://wiki.debian.org/Teams/DebianRakudoGroup#How_to_get_involvedfor the deets π - Git credentials for Salsa. the "Git credentials" section below has the tea β
Quiltinstalled and configured β grab it fromhttps://tracker.debian.org/pkg/quilt. the install part happens automatically when you installdh-make-raku, but the configuration part? that's on you, in your home directory. go read the "Using Quilt" wiki page athttps://wiki.debian.org/UsingQuiltπ§΅
π DESCRIPTION π
so the vibe is: you hand dh-make-raku a git upstream URL, and it goes absolutely feral doing all of this for you:
- Clones the upstream repository and sets up an
upstreambranch with anupstream-gitremote π«Ά - Creates all the files you need to build a debian source package on the
debian/sidbranch π¦ - Commits those files β
- Creates a Raku module project on Debian's salsa π
- Sets up the
originremote on Salsa π
this is giving main character energy for most simple packages, and it's also lowkey perfect for getting started with packaging Raku modules in the first place. iconic behavior fr fr.
π οΈ Create package files π οΈ
β With upstream release tag
to create a new package, you must have:
- The URL of the git repository of the new module. only
httpsstyle URLs are supported, periodt. π - Debian package name. usually it's like
raku-somethingπ« - The upstream tag of the release to be packaged. (if upstream doesn't use tags, scroll down, there's a whole other section for you babe)
then run a command like:
dh-make-raku --git=<git_url> --pkg=<pkg-name> --tag=<upstream_release_tag>
for instance:
dh-make-raku --git=https://git.tyil.nl/raku/Log --pkg=raku-log --tag=v0.3.1
ate. no crumbs. π₯
β Without upstream release tag
in this case you have to use a git reference instead of a tag. usually HEAD is good enough, ngl. and dh-make-raku will get the upstream version from META6.json π
for instance:
dh-make-raku --tag HEAD --git https://github.com/tadzik/File-Find.git --pkg raku-file-find
ποΈ Build the package ποΈ
run:
gbp buildpackage
and that's it, that's the whole step. go off. β¨
π Update a package π
run
dh-make-raku --upgrade <new_upstream_version>
this command updates the upstream branch, merges it into the debian/sid branch, and then updates the debian files. multi-tasking queen π
π Options π
--gitβ URL of the package repository. π--pkgβ Debian package name. π·οΈ--tagβ Upstream tag or a git reference. π
π Change upstream remote URL π
to update the upstream remote URL and its homepage, run
dh-make-raku -git <new_remote>
then dh-make-raku updates the git remote, plus every single reference of the upstream home page in the debian files. thorough bestie π
π Git credentials π
by default, dh-make-raku gets git credentials from the ~/.git-credentials file. ποΈ
if that file isn't available, Salsa credentials must be provided with the DRT_SALSA_USER and DRT_SALSA_PRIVATE_TOKEN environment variables. πΏ
for what it's worth, DRT means "Debian Raku Team". iykyk π
π BUGS π
- i could not find a way to extract a description from markdown documentation. so you'll have to manually edit this field in
debian/control, or withcme edit dpkg-control. annoying, i know π - the content of the generated
debian/gbp.confmay have the wrong version tag. edit this file manually ifgbp build-packagecomplains about a missing tarball π - the generated
debian/copyrightfile is somewhat too verbose. this file is generated by cme (https://manpages.debian.org/unstable/cme/cme.1p.en.html). i'm working on improving this. see the cme wiki on dpkg-copyright athttps://github.com/dod38fr/config-model/wiki/Updating-debian-copyright-file-with-cmeif you want to work around generation issues π§
π AUTHOR π
Dominique Dumont <dod@debian.org> β the icon who made all of this happen π«Ά
this whole page ships withperl v5.40.1and was last touched on2026-01-16. mwah, love that for us. stay slaying bestie πβ¨π
π¦ where this page comes from
- ubuntu resolute: dh-make-raku 0.8build1 Β· GPL-3.0-only
- ubuntu stonking: dh-make-raku 0.8build1 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms