GO_SRC_SHA256 was wrong since it was first pinned in Task 1 — this path had never actually been exercised in any prior CI run or local test because every earlier failure happened before reaching the Go install step, or (once it did run) nothing had checked the pinned value against go.dev's own published checksum yet. Task 88's log caught it: the real go1.26.5 linux-amd64 tarball hashes to 5c2c3b16caefa1d968a94c1daca04a7ca301a496d9b086e17ad77bb81393f053 (cross-checked against https://go.dev/dl/?mode=json directly), not the previously pinned value. Also independently re-verified LIBSECCOMP_SRC_SHA256 against the real v2.6.1 tarball while looking at this — that one was already correct. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
59 lines
3.1 KiB
Bash
59 lines
3.1 KiB
Bash
# =============================================================================
|
|
# scripts/ci/buildenv-versions.env
|
|
#
|
|
# Version pins for the BUILD ENVIRONMENT itself — the toolchains and C
|
|
# libraries needed to compile the seven packages in packages/, but which are
|
|
# not themselves shipped as part of the plugin. Kept separate from the
|
|
# top-level versions.env, which pins only what actually gets packaged and
|
|
# installed on an Unraid system (see that file's header comment).
|
|
#
|
|
# Consumed by scripts/ci/setup-slackware-buildenv.sh.
|
|
# =============================================================================
|
|
|
|
# Go toolchain (builds podman). Official upstream tarball, not a distro
|
|
# package — Slackware ships no Go toolchain in a stock install.
|
|
GO_VERSION="1.26.5"
|
|
GO_SRC_URL="https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz"
|
|
# Checksum as published by go.dev itself (`curl -s https://go.dev/dl/?mode=json`)
|
|
# — must be re-derived from the same source whenever GO_VERSION changes.
|
|
GO_SRC_SHA256="5c2c3b16caefa1d968a94c1daca04a7ca301a496d9b086e17ad77bb81393f053"
|
|
|
|
# Rust toolchain (builds netavark, aardvark-dns) — installed via rustup
|
|
# rather than a pinned tarball, since rustup itself provides reproducible,
|
|
# checksummed component installation. We pin the *channel*, not an exact
|
|
# rustc build; per-crate reproducibility comes from each Rust package's
|
|
# Cargo.lock (built with `cargo build --locked`, see the netavark/
|
|
# aardvark-dns SlackBuilds) rather than from the compiler version.
|
|
RUST_CHANNEL="stable"
|
|
RUSTUP_INIT_URL="https://sh.rustup.rs"
|
|
|
|
# --- C library build-time dependencies ---------------------------------------
|
|
# These are expected to already be present in the Slackware base image (part
|
|
# of a stock "full" Slackware 15.0 install): glib2 (conmon), libcap (crun),
|
|
# fuse3 (fuse-overlayfs). setup-slackware-buildenv.sh fails fast with a clear
|
|
# message if any of these are missing, rather than silently vendoring them.
|
|
#
|
|
# libseccomp and yajl are NOT part of a stock Slackware install and are
|
|
# built from source by setup-slackware-buildenv.sh if pkg-config doesn't
|
|
# find them.
|
|
|
|
LIBSECCOMP_VERSION="2.6.1"
|
|
LIBSECCOMP_SRC_URL="https://github.com/seccomp/libseccomp/archive/refs/tags/v${LIBSECCOMP_VERSION}.tar.gz"
|
|
LIBSECCOMP_SRC_SHA256="f9a13e4c633d319a9240189760ca348caa0837c0ebe2a09b17061da8ceaf60f0"
|
|
|
|
YAJL_VERSION="2.1.0"
|
|
YAJL_SRC_URL="https://github.com/lloyd/yajl/archive/refs/tags/${YAJL_VERSION}.tar.gz"
|
|
YAJL_SRC_SHA256="3fb73364a5a30efe615046d07e6db9d09fd2b41c763c5f7d3bfb121cd5c5ac5a"
|
|
|
|
# protoc (netavark's build.rs shells out to it via the prost-build crate) —
|
|
# Slackware ships no protobuf/protoc package at all, official prebuilt
|
|
# release binary used instead of a from-source C++ build.
|
|
PROTOC_VERSION="35.1"
|
|
PROTOC_SRC_URL="https://github.com/protocolbuffers/protobuf/releases/download/v${PROTOC_VERSION}/protoc-${PROTOC_VERSION}-linux-x86_64.zip"
|
|
PROTOC_SRC_SHA256="6930ebf62bd4ea607b98fff052596c6ee564b9835b4ce172c75a3f53ae9d91b7"
|
|
|
|
# go-md2man (conmon's `make install` shells out to it to generate its man
|
|
# page) — installed via `go install`, pinned to a tagged release rather
|
|
# than @latest so this build stays reproducible.
|
|
GO_MD2MAN_VERSION="2.0.7"
|