From: Quentin Schulz <[email protected]>

grub bootstrap script downloads gnulib from a non-mirror URL and thus is
unreliable.

Instead, manually clone the gnulib repo from a mirror URL and pass that
repo to the bootstrap script via --gnulib-srcdir.

Signed-off-by: Quentin Schulz <[email protected]>
---
 tools/docker/Dockerfile | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/docker/Dockerfile b/tools/docker/Dockerfile
index 34713c5e8b2..85274c303c8 100644
--- a/tools/docker/Dockerfile
+++ b/tools/docker/Dockerfile
@@ -148,12 +148,13 @@ RUN 
--mount=type=cache,target=/var/cache/apt,sharing=locked \
        zip
 
 # Build GRUB UEFI targets for ARM & RISC-V, 32-bit and 64-bit
-RUN git clone https://https.git.savannah.gnu.org/git/grub.git /tmp/grub && \
+RUN git clone https://https.git.savannah.gnu.org/git/gnulib.git /tmp/gnulib && 
\
+       git clone https://https.git.savannah.gnu.org/git/grub.git /tmp/grub && \
        cd /tmp/grub && \
        git checkout grub-2.12 && \
        git config --global user.name "GitLab CI Runner" && \
        git config --global user.email [email protected] && \
-       ./bootstrap && \
+       ./bootstrap --gnulib-srcdir=/tmp/gnulib && \
        mkdir -p /opt/grub && \
        ./configure --target=aarch64 --with-platform=efi \
        CC=gcc \
@@ -218,7 +219,7 @@ RUN git clone 
https://https.git.savannah.gnu.org/git/grub.git /tmp/grub && \
        make -j$(nproc) && \
        ./grub-mkimage -O x86_64-efi -o /opt/grub/grub_x64.efi --prefix= -d \
        grub-core normal echo lsefimmap lsefi lsefisystab efinet tftp minicmd 
&& \
-       rm -rf /tmp/grub
+       rm -rf /tmp/grub /tmp/gnulib
 
 RUN git clone https://gitlab.com/qemu-project/qemu.git /tmp/qemu && \
        cd /tmp/qemu && \

-- 
2.51.1

Reply via email to