From a3b152c165febc906dc3f079d15641e462465950 Mon Sep 17 00:00:00 2001 From: "Enrico Weigelt, metux IT consult" Date: Mon, 3 Aug 2026 14:25:48 +0200 Subject: [PATCH] CI/hurd: pin git/git-man to unreleased when the sid toolchain is unresolvable debian-ports can briefly hold an inconsistent sid/unreleased state for hurd-amd64: the arch:all git-man moves ahead (currently 2.55.0-1) while the hurd git binary lags (2.51.0-1 in sid, 2.53.0-1+hurd.1 in unreleased). Plain `apt-get install git` then fails hard: git:hurd-amd64=1:2.53.0-1+hurd.1 Depends git-man (< 1:2.53.0-.) but none of the choices are installable E: Unable to satisfy dependencies. apt picks the newer arch:all git-man from sid over the coherent unreleased pair, so git's `git-man (<< 1:2.53.0-.)` constraint can never be satisfied. This breaks every xserver-build-hurd run until the ports buildd catches up (affects all PRs, not any specific change). Work around it: retry the toolchain install with git/git-man pinned to unreleased when the plain install fails. Remove this fallback once the ports buildd rebuilds git for hurd-amd64. Signed-off-by: Enrico Weigelt, metux IT consult --- .github/scripts/hurd/run-xserver-build.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/.github/scripts/hurd/run-xserver-build.sh b/.github/scripts/hurd/run-xserver-build.sh index bdf385d34c..909d7cbf7a 100755 --- a/.github/scripts/hurd/run-xserver-build.sh +++ b/.github/scripts/hurd/run-xserver-build.sh @@ -22,9 +22,20 @@ sudo apt-get update # Toolchain MUST succeed (apt is transactional: one unlocatable package aborts # the whole install, so keep the essentials separate from the maybe-renamed X # libs — otherwise a missing lib takes git/meson down with it, as it did). +# debian-ports can briefly hold an inconsistent sid/unreleased state for +# hurd-amd64: the arch:all git-man moves ahead (e.g. 2.55.0-1) while the hurd +# git binary lags behind, so plain `git` is unresolvable ("git-man (<< ...) +# ... not installable"). Fall back to the coherent git/git-man pair pinned to +# unreleased (e.g. 2.53.0-1+hurd.1); drop this once the ports buildd catches up. echo "==> install toolchain (required)" -sudo apt-get install -y --no-install-recommends \ +if ! sudo apt-get install -y --no-install-recommends \ git build-essential meson ninja-build pkg-config ca-certificates +then + echo "==> toolchain install failed; retrying with git/git-man pinned to unreleased" + sudo apt-get install -y --no-install-recommends \ + git/unreleased git-man/unreleased build-essential meson ninja-build \ + pkg-config ca-certificates +fi # X libraries + helpers: best-effort, one at a time, so a package the Hurd port # lacks or renames only skips itself (named in the log); meson then reports what