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

