---
name: "dh-make-raku"
section: "1p"
platform: "linux"
package: "dh-make-raku"
version: "0.8"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/dh-make-raku"
---

# dh-make-raku(1p)

Create debian source package from Raku module

## 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\>
