DOKK / manpages / debian 12 / dh-make-raku / dh-make-raku.1p.en
DH-MAKE-RAKU(1p) User Contributed Perl Documentation DH-MAKE-RAKU(1p)

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:

  gbp buildpackage

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.

URL of the package repository.
Debian package name.
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.

2022-11-06 perl v5.36.0