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

Stefan Hajnoczi posted 1 patch 5 days, 10 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260803180700.367388-1-stefanha@redhat.com
Maintainers: Kohei Tokunaga <ktokunaga.mail@gmail.com>, "Alex Bennée" <alex.bennee@linaro.org>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
tests/docker/dockerfiles/emsdk-wasm64-cross.docker | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] tests/docker: use stable URLs for zlib tarballs
Posted by Stefan Hajnoczi 5 days, 10 hours ago
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 <mjt@tls.msk.ru>
Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
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=1
+RUN curl -Ls https://zlib.net/fossils/zlib-$ZLIB_VERSION.tar.gz | \
+    tar xzC /zlib --strip-components=1
 WORKDIR /zlib
 RUN emconfigure ./configure --prefix=$TARGET --static
 RUN emmake make install -j$(nproc)
-- 
2.55.0


Re: [PATCH] tests/docker: use stable URLs for zlib tarballs
Posted by Pierrick Bouvier 4 days, 7 hours ago
On 8/3/2026 11:07 AM, Stefan Hajnoczi wrote:
> 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 <mjt@tls.msk.ru>
> Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> 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=1
> +RUN curl -Ls https://zlib.net/fossils/zlib-$ZLIB_VERSION.tar.gz | \
> +    tar xzC /zlib --strip-components=1
>  WORKDIR /zlib
>  RUN emconfigure ./configure --prefix=$TARGET --static
>  RUN emmake make install -j$(nproc)

We could also switch to git clone with -single-branch -depth 1, but
current patch works fine.
Feel free to apply it directly to staging/your tree.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>

Regards,
Pierrick

Re: [PATCH] tests/docker: use stable URLs for zlib tarballs
Posted by Philippe Mathieu-Daudé 4 days, 17 hours ago
On 3/8/26 20:07, Stefan Hajnoczi wrote:
> 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 <mjt@tls.msk.ru>
> Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> 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

Even safer would be to have a ZLIB_SHA and assert it is correct.

Tested-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>

>   RUN mkdir -p /zlib
> -RUN curl -Ls https://zlib.net/zlib-$ZLIB_VERSION.tar.xz | \
> -    tar xJC /zlib --strip-components=1
> +RUN curl -Ls https://zlib.net/fossils/zlib-$ZLIB_VERSION.tar.gz | \
> +    tar xzC /zlib --strip-components=1
>   WORKDIR /zlib
>   RUN emconfigure ./configure --prefix=$TARGET --static
>   RUN emmake make install -j$(nproc)


Re: [PATCH] tests/docker: use stable URLs for zlib tarballs
Posted by Stefan Hajnoczi 5 days, 10 hours ago
This is v2 of the patch.

Stefan
Re: [PATCH] tests/docker: use stable URLs for zlib tarballs
Posted by Kohei Tokunaga 5 days, 3 hours ago
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 <mjt@tls.msk.ru>
> Suggested-by: Daniel P. Berrangé <berrange@redhat.com>
> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> 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=1
> +RUN curl -Ls https://zlib.net/fossils/zlib-$ZLIB_VERSION.tar.gz | \
> +    tar xzC /zlib --strip-components=1
>  WORKDIR /zlib
>  RUN emconfigure ./configure --prefix=$TARGET --static
>  RUN emmake make install -j$(nproc)

Thank you for the fix.

Reviewed-by: Kohei Tokunaga <ktokunaga.mail@gmail.com>

Regards,
Kohei Tokunaga