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

Reply via email to