Re: [PATCH] tests/docker: use stable URLs for zlib tarballs

Kohei Tokunaga <[email protected]> Tue, 4 Aug 2026 10:02:46 +0900
Newsgroups gmane.comp.emulators.qemu
Message-ID <CAEDrbUYt5-ue4qz+brByixSYsVKqVzYgNPjXZywa0KpcKJ+L3w@mail.gmail.com>
--0000000000003a2b5e06582e37f0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Stefan,

> The tarballs at https://zlib.net/zlib-X.Y.Z.tar.xz become unavailable
> when a new release is made. This breaks the emsdk-wasm64-cross.docker
> file that fetches the tarball and builds zlib from source.
>
> There is actually an archive available with a stable URL. Use that
> instead. This does require switching from xz to gzip since xz tarballs
> are not available in the archive.
>
> The upshot is that the emsdk-wasm64-cross Docker image build will
> continue working into the future without causing CI breakage when the
> zlib project makes a new release.
>
> Reported-by: Michael Tokarev <[email protected]>
> Suggested-by: Daniel P. Berrang=C3=A9 <[email protected]>
> Reviewed-by: Daniel P. Berrang=C3=A9 <[email protected]>
> Signed-off-by: Stefan Hajnoczi <[email protected]>
> ---
> v2:
> - Fix "bzip2 to gzip since bzip2" typo. It should have been xz instead
>   of bzip2. [danpb]
>
>  tests/docker/dockerfiles/emsdk-wasm64-cross.docker | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/tests/docker/dockerfiles/emsdk-wasm64-cross.docker
b/tests/docker/dockerfiles/emsdk-wasm64-cross.docker
> index c04a741b0e5..4f26ce7a269 100644
> --- a/tests/docker/dockerfiles/emsdk-wasm64-cross.docker
> +++ b/tests/docker/dockerfiles/emsdk-wasm64-cross.docker
> @@ -56,8 +56,8 @@ EOF
>  FROM build-base AS zlib-dev
>  ARG ZLIB_VERSION
>  RUN mkdir -p /zlib
> -RUN curl -Ls https://zlib.net/zlib-$ZLIB_VERSION.tar.xz | \
> -    tar xJC /zlib --strip-components=3D1
> +RUN curl -Ls https://zlib.net/fossils/zlib-$ZLIB_VERSION.tar.gz | \
> +    tar xzC /zlib --strip-components=3D1
>  WORKDIR /zlib
>  RUN emconfigure ./configure --prefix=3D$TARGET --static
>  RUN emmake make install -j$(nproc)

Thank you for the fix.

Reviewed-by: Kohei Tokunaga <[email protected]>

Regards,
Kohei Tokunaga

--0000000000003a2b5e06582e37f0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Hi Stefan,<br><br>&gt; The tarballs at <a=
 href=3D"https://zlib.net/zlib-X.Y.Z.tar.xz">https://zlib.net/zlib-X.Y.Z.ta=
r.xz</a> become unavailable<br>&gt; when a new release is made. This breaks=
 the emsdk-wasm64-cross.docker<br>&gt; file that fetches the tarball and bu=
ilds zlib from source.<br>&gt; <br>&gt; There is actually an archive availa=
ble with a stable URL. Use that<br>&gt; instead. This does require switchin=
g from xz to gzip since xz tarballs<br>&gt; are not available in the archiv=
e.<br>&gt; <br>&gt; The upshot is that the emsdk-wasm64-cross Docker image =
build will<br>&gt; continue working into the future without causing CI brea=
kage when the<br>&gt; zlib project makes a new release.<br>&gt; <br>&gt; Re=
ported-by: Michael Tokarev &lt;<a href=3D"mailto:[email protected]">[email protected]=
k.ru</a>&gt;<br>&gt; Suggested-by: Daniel P. Berrang=C3=A9 &lt;<a href=3D"m=
ailto:[email protected]">[email protected]</a>&gt;<br>&gt; Reviewed-by:=
 Daniel P. Berrang=C3=A9 &lt;<a href=3D"mailto:[email protected]">berrang=
[email protected]</a>&gt;<br>&gt; Signed-off-by: Stefan Hajnoczi &lt;<a href=3D"=
mailto:[email protected]">[email protected]</a>&gt;<br>&gt; ---<br>&gt;=
 v2:<br>&gt; - Fix &quot;bzip2 to gzip since bzip2&quot; typo. It should ha=
ve been xz instead<br>&gt; =C2=A0 of bzip2. [danpb]<br>&gt; <br>&gt; =C2=A0=
tests/docker/dockerfiles/emsdk-wasm64-cross.docker | 4 ++--<br>&gt; =C2=A01=
 file changed, 2 insertions(+), 2 deletions(-)<br>&gt; <br>&gt; diff --git =
a/tests/docker/dockerfiles/emsdk-wasm64-cross.docker b/tests/docker/dockerf=
iles/emsdk-wasm64-cross.docker<br>&gt; index c04a741b0e5..4f26ce7a269 10064=
4<br>&gt; --- a/tests/docker/dockerfiles/emsdk-wasm64-cross.docker<br>&gt; =
+++ b/tests/docker/dockerfiles/emsdk-wasm64-cross.docker<br>&gt; @@ -56,8 +=
56,8 @@ EOF<br>&gt; =C2=A0FROM build-base AS zlib-dev<br>&gt; =C2=A0ARG ZLI=
B_VERSION<br>&gt; =C2=A0RUN mkdir -p /zlib<br>&gt; -RUN curl -Ls <a href=3D=
"https://zlib.net/zlib-$ZLIB_VERSION.tar.xz">https://zlib.net/zlib-$ZLIB_VE=
RSION.tar.xz</a> | \<br>&gt; - =C2=A0 =C2=A0tar xJC /zlib --strip-component=
s=3D1<br>&gt; +RUN curl -Ls <a href=3D"https://zlib.net/fossils/zlib-$ZLIB_=
VERSION.tar.gz">https://zlib.net/fossils/zlib-$ZLIB_VERSION.tar.gz</a> | \<=
br>&gt; + =C2=A0 =C2=A0tar xzC /zlib --strip-components=3D1<br>&gt; =C2=A0W=
ORKDIR /zlib<br>&gt; =C2=A0RUN emconfigure ./configure --prefix=3D$TARGET -=
-static<br>&gt; =C2=A0RUN emmake make install -j$(nproc)<br><br>Thank you f=
or the fix.<br><br>Reviewed-by: Kohei Tokunaga &lt;<a href=3D"mailto:ktokun=
[email protected]">[email protected]</a>&gt;<br><br>Regards,<br>Koh=
ei Tokunaga<br><br></div></div>

--0000000000003a2b5e06582e37f0--