tests/docker/dockerfiles/emsdk-wasm64-cross.docker | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
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
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
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)
This is v2 of the patch. Stefan
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
© 2016 - 2026 Red Hat, Inc.