From 061281289c665689260acece14e079648e4b3442 Mon Sep 17 00:00:00 2001 From: Michael Harp Date: Sun, 13 Sep 2026 08:57:43 -0400 Subject: [PATCH] Document the jig release packages and fix the go install module path Jig releases have shipped .deb and .rpm packages for Linux, a Windows zip, and a sha256sums.txt since v2.3.0, but the Installing Jig section only described the tarballs and go install. List what each release ships, add a Linux packages subsection that installs straight from the GitHub release asset URLs (curl then apt for Debian and Ubuntu, dnf with the URL on the Red Hat family), and show how to verify a download against the checksum file. A VERSION variable and a BASE variable for the release URL keep every command line short enough to read without scrolling the code block. The go install command also needs the /v2 module path. Without it, Go resolves @latest against the old module path and installs jig 1.5.0. Closes #482 Co-Authored-By: Claude Fable 5.1 Signed-off-by: Michael Harp --- docs/_ecosystem_8x/devkit/jig.md | 55 +++++++++++++++++++++++++++++--- 1 file changed, 51 insertions(+), 4 deletions(-) diff --git a/docs/_ecosystem_8x/devkit/jig.md b/docs/_ecosystem_8x/devkit/jig.md index 4cfe462f8..9bb72da07 100644 --- a/docs/_ecosystem_8x/devkit/jig.md +++ b/docs/_ecosystem_8x/devkit/jig.md @@ -17,21 +17,68 @@ The tool we recommend for this today is [Jig](https://github.com/voxpupuli/jig). ## Installing Jig -Download the latest release for your platform from the [releases page](https://github.com/voxpupuli/jig/releases). -Uncompress it and move the `jig` binary to a path like `/usr/local/bin`. +Jig is a single static binary with no runtime dependencies. +Each [release](https://github.com/voxpupuli/jig/releases) ships: -{% include alert.html type="tip" title="macOS Security Alert" content="The packages are unsigned, so macOS won't open them by default. Run it once and cancel the warning dialog that tells you to trash it. +* `.deb` and `.rpm` packages for Linux (amd64 and arm64) +* `.tar.gz` archives for Linux and macOS (amd64 and arm64) +* a `.zip` archive for Windows (amd64) +* `sha256sums.txt` with the checksums of every file above + +### Linux packages + +Install the `.deb` or `.rpm` straight from the release on GitHub. +Set `VERSION` to the current release and replace `amd64` with `arm64` if needed. +The package places the `jig` binary in `/usr/bin`. + +On Debian and Ubuntu, `apt` needs a local file, so download it first: + +```console +VERSION=2.4.0 +BASE=https://github.com/voxpupuli/jig/releases/download/v${VERSION} +curl -LO ${BASE}/jig_${VERSION}_linux_amd64.deb +sudo apt install ./jig_${VERSION}_linux_amd64.deb +``` + +On Red Hat family systems, `dnf` accepts the URL directly: + +```console +VERSION=2.4.0 +BASE=https://github.com/voxpupuli/jig/releases/download/v${VERSION} +sudo dnf install ${BASE}/jig_${VERSION}_linux_amd64.rpm +``` + +The packages are standalone files attached to each release; there is no apt or dnf repository to subscribe to. +To upgrade, install the package from the next release the same way. + +### Archives + +Download the archive for your platform, uncompress it, and move the `jig` binary to a directory on your `PATH`, such as `/usr/local/bin`. +To check the download before unpacking it, put `sha256sums.txt` from the same release next to the archive and run: + +```console +shasum -a 256 -c --ignore-missing sha256sums.txt +``` + +On Linux, `sha256sum` takes the same options. + +{% include alert.html type="tip" title="macOS Security Alert" content="The macOS binaries are unsigned, so macOS won't open them by default. Run it once and cancel the warning dialog that tells you to trash it. Then go to `System Settings -> Privacy & Security` and scroll to the bottom of the pane. You'll see the option to allow `jig` to run." %} +### Go + Jig is one of the few tools in the Vox Pupuli ecosystem implemented in Go. If you have [Go installed](https://go.dev/doc/install), then you can choose to install via the Go package manager instead. This will place the compiled binary into `$GOPATH/bin`, which is likely to be `~/go/bin`. Ensure that location is in your `$PATH`. ```console -go install github.com/voxpupuli/jig@latest +go install github.com/voxpupuli/jig/v2@latest ``` +The `/v2` in the module path is required. +Without it, `go install` resolves `@latest` against the old module path and installs the last 1.x release. + ## Creating a new module Jig has built-in templates to create a complete Puppet module with all the standard directory structure and metadata.