Skip to content

Commit 93cdcd0

Browse files
europaulrucoder
authored andcommitted
pkg/grub: get source from git instead of tar.gz
Since cgit.savannah.gnu.org forbids pulling tarballs, it's more reliable to clone from the git repo directly. Signed-off-by: Paul Gaiduk <paulg@zededa.com>
1 parent b6b4116 commit 93cdcd0

File tree

1 file changed

+15
-23
lines changed

1 file changed

+15
-23
lines changed

pkg/grub/Dockerfile

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# syntax=docker/dockerfile-upstream:1.5.0-rc2-labs
2-
# Copyright (c) 2025 Zededa, Inc.
2+
# Copyright (c) 2025-2026 Zededa, Inc.
33
# SPDX-License-Identifier: Apache-2.0
44

55
FROM lfedge/eve-alpine:745ae9066273c73b0fd879c4ba4ff626a8392d04 AS grub-build-base
@@ -40,20 +40,20 @@ ENV GRUB_PLATFORM="efi pc:--disable-efiemu"
4040

4141
FROM grub-build-base AS grub-build-arm64
4242
ENV GRUB_MODULES="xen_boot efi_gop gpt gcry_sha256 measurefs efinet"
43-
ENV GRUB_COMMIT=2.06
44-
ENV GRUB_PATCHES="patches-${GRUB_COMMIT} patches-aarch64-${GRUB_COMMIT}"
43+
ENV GRUB_COMMIT=grub-2.06
44+
ENV GRUB_PATCHES="patches-2.06 patches-aarch64-2.06"
4545
ENV GRUB_PLATFORM=efi
4646

4747
FROM grub-build-base AS grub-build-riscv64
4848
ENV GRUB_MODULES="efinet"
49-
ENV GRUB_COMMIT=2.06
50-
ENV GRUB_PATCHES="patches-${GRUB_COMMIT} patches-riscv64-${GRUB_COMMIT}"
49+
ENV GRUB_COMMIT=grub-2.06
50+
ENV GRUB_PATCHES="patches-2.06 patches-riscv64-2.06"
5151
ENV GRUB_PLATFORM=efi
5252

5353
# hadolint ignore=DL3006
5454
FROM grub-build-${TARGETARCH} AS grub-build
5555

56-
ENV GRUB_REPO=https://cgit.git.savannah.gnu.org/cgit/grub.git
56+
ENV GRUB_REPO=git://git.git.savannah.gnu.org/grub.git
5757

5858
COPY patches /patches
5959
COPY patches-2.06 /patches-2.06
@@ -63,27 +63,19 @@ COPY patches-riscv64-2.06 /patches-riscv64-2.06
6363
RUN ln -s python3 /usr/bin/python && \
6464
mkdir /grub-lib
6565

66-
ADD ${GRUB_REPO}/snapshot/grub-${GRUB_COMMIT}.tar.gz /grub.tar.gz
66+
ADD --keep-git-dir ${GRUB_REPO}#${GRUB_COMMIT} /grub
6767
ENV GNULIB_REVISION=d271f868a8df9bbec29049d01e056481b7a1a263
6868
ADD --keep-git-dir https://github.com/coreutils/gnulib.git#${GNULIB_REVISION} /gnulib
6969

70-
# the below does a weird init of a git repo, because we are not cloning the
71-
# repo, yet we need to be in a repo to apply patches with `git am`.
7270
# hadolint ignore=DL3003,SC2086
73-
RUN if [ ! -d "grub" ]; then \
74-
tar -xzf /grub.tar.gz && \
75-
mv "grub-${GRUB_COMMIT}" grub && \
76-
rm -f /grub.tar.gz && \
77-
cd grub && \
78-
mkdir -p /apply/patches && \
79-
for dir in ${GRUB_PATCHES}; do \
80-
cp -r /${dir}/* /apply/patches; \
81-
done && \
82-
git config --global user.name "Your Name" && \
83-
git config --global user.email "you@example.com" && \
84-
git init . && git add . && git commit -m "init" && \
85-
git am /apply/patches/*; \
86-
fi
71+
RUN cd /grub && \
72+
mkdir -p /apply/patches && \
73+
for dir in ${GRUB_PATCHES}; do \
74+
cp -r /${dir}/* /apply/patches; \
75+
done && \
76+
git config --global user.name 'Project EVE' && \
77+
git config --global user.email 'builder@projecteve.dev' && \
78+
git am /apply/patches/*
8779

8880
WORKDIR /grub
8981

0 commit comments

Comments
 (0)