Hi Tom,
On 11/21/25 3:24 PM, Tom Rini wrote:
On Fri, Nov 21, 2025 at 02:22:15PM +0100, Quentin Schulz wrote:
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 && \
Right now, the next branch is in a funny spot. Post -rc2 I applied to
master some changes to make CI more reliable which also meant that right
here we do git clone --depth=1 -b TAG. And doing --depth=1 -b TAG is
something we should be doing here for gnulib as well. Since -rc3 is this
No, I'm not sure this is something we can do.
AFAICT (haven't dug too much), grub will checkout a specific commit of
gnulib, and that isn't supported by git clone, c.f.
https://elixir.bootlin.com/grub/grub-2.12/source/bootstrap.conf#L19
This commit sadly isn't a tagged commit in gnulib (there aren't too many
tags in this repo...).
However, I think I took the hammer approach to this, I believe setting
GNULIB_URL variable to the mirror URL might be enough.
grub bootstrap script does something to avoid downloading the whole
thing, c.f. https://elixir.bootlin.com/grub/grub-2.12/source/bootstrap#L769
I'll try something out and send a v2 if that works.
coming Monday and merge to next shortly after, can you do that and
rebase on top then please? Thanks!
Sure, I only need this to be able to test adding one package to the list
installed by apt (5 hours to add one package... that's a new low in term
of efficiency for me :) ).
Cheers,
Quentin