dh-make-raku - Create debian source package from Raku module
# 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>
This script requires:
- An account on Salsa and be part of Raku package team. See How to get
involved
<https://wiki.debian.org/Teams/DebianRakudoGroup#How_to_get_involved>
wiki page.
- Git credentials for Salsa. See "Git credentials" section.
- Quilt <https://tracker.debian.org/pkg/quilt> installed and
configured. The installation should be done when installing
"dh-make-raku", but the configuration
must be done in your home directory. Please see Using Quilt
<https://wiki.debian.org/UsingQuilt> wiki page.
When fed a "git" upstream URL,
dh-make-raku does the following tasks:
- Clone upstream repository in "upstream"
branch
- Create the files required to build a debian source package on
"debian/sid" branch.
- Commit these files
- Create a Raku module project on Debian's salsa
- Setup "origin" remote on Salsa
This works for most simple packages and is also useful for getting
started with packaging Raku modules.
To create a new package, you must have:
- The URL of the git repository of the new module. Only
"https" style URL are supported.
- Debian package name. Usually
"raku-something"
- The upstream tag of the release to be packaged. See below if upstream does
not use tags.
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
In this case, you must use a git reference instead of a tag.
Usually "HEAD" is good enough.
"dh-make-raku" will get upstream version
from "META6.json"
For instance:
dh-make-raku --tag HEAD --git https://github.com/tadzik/File-Find.git --pkg raku-file-find
Run
dh-make-raku --upgrade <new_upstream_version>
This command update the
"upstream" branch and merge it in
"debian/sid" branch and then update debian
files.
- --git
- URL of the package repository.
- --pkg
- Debian package name.
- --tag
- Upstream tag or a git reference.
Be default, "dh-make-raku" gets
git credentials from "~/.git-credentials"
file.
If this file is not available, Salsa credentials must be provided
with "DRT_SALSA_USER" and
"DRT_SALSA_PRIVATE_TOKEN" environment
variables.
For what it's worth, "DRT" means
"Debian Raku Team".
- 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 with
"cme edit dpkg-control".
- The content of the generated
"debian/gbp.conf" may have the wrong
version tag. Edit this file manually if "gbp
build-package" complains about missing tarball.
- The generated "debian/copyright" file 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 cme wiki on dpkg-copyright
<https://github.com/dod38fr/config-model/wiki/Updating-debian-copyright-file-with-cme>
if you want to work around generation issues.