Scroll to navigation

DH-MAKE-RAKU(1p) User Contributed Perl Documentation 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

REQUIREMENTS

This script requires:

DESCRIPTION

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
  • If the package is part of Rakudo Star <https://github.com/rakudo/star>, check or update the dependency list of raku <https://tracker.debian.org/pkg/raku> package. (<raku> package is expected to be in "../../raku").

This works for most simple packages and is also useful for getting started with packaging Raku modules.

Create package files

Directory layout

Your Raku work zone is expected to have this layout:

    .
    |-- modules
    |   |-- raku-module-1
    |   |-- raku-module-2
    |   |-- etc...
    `-- raku
        `-- debian
            `-- control

Updates of raku package dependencies are skipped if "dh-make-raku" cannot find "raku" package in "../../raku".

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 --git-pristine-tar --git-pristine-tar-commit --git-debian-branch=debian/sid

Options

URL of the package repository.
Debian package name.
Upstream tag or a git reference.

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

Dependencies are not yet managed.

AUTHOR

2022-06-28 perl v5.34.0