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
55FROM lfedge/eve-alpine:745ae9066273c73b0fd879c4ba4ff626a8392d04 AS grub-build-base
@@ -40,20 +40,20 @@ ENV GRUB_PLATFORM="efi pc:--disable-efiemu"
4040
4141FROM grub-build-base AS grub-build-arm64
4242ENV 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 "
4545ENV GRUB_PLATFORM=efi
4646
4747FROM grub-build-base AS grub-build-riscv64
4848ENV 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 "
5151ENV GRUB_PLATFORM=efi
5252
5353# hadolint ignore=DL3006
5454FROM 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
5858COPY patches /patches
5959COPY patches-2.06 /patches-2.06
@@ -63,27 +63,19 @@ COPY patches-riscv64-2.06 /patches-riscv64-2.06
6363RUN 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
6767ENV GNULIB_REVISION=d271f868a8df9bbec29049d01e056481b7a1a263
6868ADD --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
8880WORKDIR /grub
8981
0 commit comments