DH-MAKE-RAKU(1p)

NAME
dh-make-raku - Create debian source package from 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
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.

DESCRIPTION
When fed a "git" upstream URL, dh-make-raku does the following tasks:

•   Clone upstream repository and setup an "upstream" branch with an "upstream-git" remote.

•   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.

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 "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

  Without upstream release tag
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

Build the package
Run:

  gbp buildpackage

Update a package
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.

Options

--git
    URL of the package repository.

--pkg
    Debian package name.

--tag
    Upstream tag or a git reference.

Change upstream remote URL
To update upstream remote URL and its homepage, run

  dh-make-raku -git <new_remote>

Then "dh-make-raku" updates git remote, all reference of upstream home page in debian files.

Git credentials
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".

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 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.

AUTHOR

Dominique Dumont <dod@debian.org>