From de5d60da560e07f8b9ef3f5eb76847b35367744a Mon Sep 17 00:00:00 2001 From: mia Date: Sat, 27 Jun 2026 18:44:59 -0400 Subject: [PATCH] =?UTF-8?q?steamos:=20drop=20curl=20dep=20=E2=80=94=20imag?= =?UTF-8?q?e-builder=20doesn't=20ship=20it?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Build #28301886085 failed with 'curl: command not found' on the URL resolution step. Upstream Dockerfile only installs wget + python3, not curl. Use urllib.request.urlopen().geturl() to follow Valve's redirect and pull the versioned IMG name (e.g. steamdeck-recovery- 4-20250603.5-3.7.10.img.bz2) for the cache key. --- distros/steamos/build-rootfs.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/distros/steamos/build-rootfs.sh b/distros/steamos/build-rootfs.sh index 32101c0..d6c755e 100755 --- a/distros/steamos/build-rootfs.sh +++ b/distros/steamos/build-rootfs.sh @@ -25,7 +25,8 @@ case "$CHROOT" in /) echo "ERROR: refuse to operate on /"; exit 2 ;; esac STEAMOS_URL="${STEAMOS_URL:-https://steamdeck-images.steamos.cloud/recovery/steamdeck-repair-latest.img.bz2}" echo "=== SteamOS: resolve latest image URL ===" -RESOLVED_URL=$(curl -sIL -o /dev/null -w '%{url_effective}' "$STEAMOS_URL") +# python3 is in the upstream image-builder Dockerfile; curl isn't. +RESOLVED_URL=$(python3 -c "import urllib.request; print(urllib.request.urlopen('$STEAMOS_URL').geturl())") IMG_NAME=$(basename "$RESOLVED_URL") echo ">> resolved $IMG_NAME"