deb: install jq from distro package so deb builder images work on arm64 - #1204
Draft
ibrahim halatci (ihalatci) wants to merge 1 commit into
Draft
deb: install jq from distro package so deb builder images work on arm64#1204ibrahim halatci (ihalatci) wants to merge 1 commit into
ibrahim halatci (ihalatci) wants to merge 1 commit into
Conversation
The deb builder installs jq via the amd64-only `jq-linux64` GitHub release binary. jq is used only in the release path of `scripts/fetch_and_build_deb` (GPG tag-signature verification), so this never surfaced on the jq-free nightly path -- but it hard-fails when the builder image runs on arm64, blocking arm64 release .deb builds. Switch to the distribution jq package, which is arch-independent and present in Debian/Ubuntu main across every target distro. The two jq filters used are trivial and work on any jq >= 1.5, so amd64 behavior is unchanged. Regenerated the 10 deb `-all` dockerfiles from the template so `check_docker_files_integrity` (`./update_dockerfiles` + `git diff --exit-code dockerfiles`) stays green. Verified locally: the generator reproduces these dockerfiles byte-for-byte. This is a prerequisite for the gated arm64 release deb legs (Option B); it carries no arch gate of its own and does not alter amd64 builds. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 0259dd2c-9208-48f9-a8c2-8031dca8ab75
This was referenced Aug 12, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What / why
The deb builder installs
jqvia the amd64-onlyjq-linux64GitHub release binary:RUN curl -sL https://github.com/stedolan/jq/releases/download/jq-1.5/jq-linux64 \ -o /usr/bin/jq \ && chmod +x /usr/bin/jqjqis used only in the release path ofscripts/fetch_and_build_deb(GPG tag-signatureverification —
.object.shaand.verification.verified), so it never surfaced on the jq-freenightly path. But that hardcoded x86-64 binary hard-fails when the builder image runs on
arm64, which blocks the upcoming gated arm64 release
.debbuilds.This swaps it for the distribution
jqpackage, which is architecture-independent and present inDebian/Ubuntu
mainacross every target distro:RUN apt-get update \ && apt-get install -y --no-install-recommends jq \ && rm -rf /var/lib/apt/lists/*The two
jqfilters in use are trivial and work on anyjq >= 1.5, so amd64 behavior isunchanged.
Scope (surgical)
templates/Dockerfile-deb.tmpl— the source of truth.dockerfiles/*-all/Dockerfile(debian bookworm/bullseye/buster/stretch/trixie,ubuntu bionic/focal/jammy/noble/resolute) — regenerated from the template.
11 files, identical block swap in each (
git diff --stat: 55 insertions / 44 deletions).RPM (
Dockerfile-rpm.tmpl) andpgxndockerfiles are untouched.Integrity
check_docker_files_integrityruns./update_dockerfilesthengit diff --exit-code dockerfiles.Verified locally: after staging these edits, re-running the generator reproduces the committed
dockerfiles byte-for-byte (
git diff --quiet dockerfiles→ exit 0), so the check stays green.Guardrails
DEB_BUILD_MULTI_ARCH,default OFF) arm64 release deb legs on
all-citus/debian-hll/debian-topn(follow-up PRs).Part of Track 2 of citusdata/citus#8612 (arm64 Debian Docker images). Follows the merged nightly
leg #1198.