> Containers bring the ability to have ready-to-use environments and in
> this case a complete Fedora container file is described containing
> all required packages for building and testing grub2.


> Once users manually build it, they can run the container jump into a
> setup ready for development. On the other hand, if users
> prefer to use bare metal instead of a containerized environment, it is
> still useful to have a file explicitly indicating the required packages.


This is a good idea, seems helpful to people who distribute / package GRUB
or want to help contribute.

I tested it out quickly and it worked for me.

Reviewed-by: Andrew Hamilton <adham...@gmail.com>

Thanks,
Andrew


On Mon, Jun 9, 2025 at 2:22 PM Leo Sandoval via Grub-devel <
grub-devel@gnu.org> wrote:

> Containers bring the ability to have ready-to-use environments and in
> this case a complete Fedora container file is described containing
> all required packages for building and testing grub2.
>
> Once users manually build it, they can run the container jump into a
> setup ready for development. On the other hand, if users
> prefer to use bare metal instead of a containerized environment, it is
> still useful to have a file explicitly indicating the required packages.
> ---
>  container/Containerfile | 54 +++++++++++++++++++++++++++++++++++++++++
>  container/README        | 14 +++++++++++
>  2 files changed, 68 insertions(+)
>  create mode 100644 container/Containerfile
>  create mode 100644 container/README
>
> diff --git a/container/Containerfile b/container/Containerfile
> new file mode 100644
> index 0000000000..dd066a2ce1
> --- /dev/null
> +++ b/container/Containerfile
> @@ -0,0 +1,54 @@
> +FROM registry.fedoraproject.org/fedora
> +
> +# Install required packages
> +RUN dnf update -y && \
> +    dnf install -y \
> +        attr \
> +        autoconf \
> +        automake \
> +        autopoint \
> +        bison \
> +        btrfs-progs \
> +        cpio \
> +        cryptsetup \
> +        dosfstools \
> +        e2fsprogs \
> +        edk2-ovmf \
> +        edk2-ovmf-ia32 \
> +        erofs-utils \
> +        exfatprogs \
> +        f2fs-tools \
> +        flex \
> +        gawk \
> +        gettext \
> +        genromfs \
> +        git \
> +        hfsplus-tools \
> +        jfsutils \
> +        libtool \
> +        lzop \
> +        make \
> +        mtools \
> +        nilfs-utils \
> +        ntfsprogs \
> +        parted \
> +        patch \
> +        pkg-config \
> +        python3 \
> +        qemu-system-x86 \
> +        squashfs-tools \
> +        swtpm-tools \
> +        tpm2-tools \
> +        udftools \
> +        unifont \
> +        unifont-fonts \
> +        which \
> +        words \
> +        xfsprogs \
> +        xorriso \
> +        zfs-fuse
> +
> +# clone tip of grub repository
> +RUN git clone --depth 1 https://https.git.savannah.gnu.org/git/grub.git
> /grub
> +
> +WORKDIR /grub
> \ No newline at end of file
> diff --git a/container/README b/container/README
> new file mode 100644
> index 0000000000..788992abb9
> --- /dev/null
> +++ b/container/README
> @@ -0,0 +1,14 @@
> +install `podman` on your favorite distro then build it with
> +
> +$ podman build --tag grub .
> +
> +once built, you can run/launch it
> +
> +$ podman run -it grub
> +
> +and execute the standard build/test commands inside it
> +
> +# ./bootstrap
> +# ./configure
> +# ./make
> +# ./make check
> \ No newline at end of file
> --
> 2.48.1
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to