Containers bring the ability to have ready-to-use environments and in this case complete Fedora and Debian container files are described containing all required packages for building and testing grub2.
Once users manually build it, they can run the desired 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. Signed-off-by: Leo Sandoval <lsand...@redhat.com> --- INSTALL | 39 +++++++++++++++++++++++ container/Containerfile.debian | 56 +++++++++++++++++++++++++++++++++ container/Containerfile.fedora | 57 ++++++++++++++++++++++++++++++++++ 3 files changed, 152 insertions(+) create mode 100644 container/Containerfile.debian create mode 100644 container/Containerfile.fedora diff --git a/INSTALL b/INSTALL index 724584c575..8aaee7f7f6 100644 --- a/INSTALL +++ b/INSTALL @@ -354,3 +354,42 @@ operates. `--version' Print the version of Autoconf used to generate the `configure' script, and exit. + +Container +========== + +Containers bring the ability to have ready-to-use environments isolated completely +from the build environment. Under the 'container' folder, there are container files +(Containerfile.*) which describe images ready for building and testing grub2. + +Once users manually build it (see next section), they can run the desired 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 usage +================ + +Assuming your build OS support containers, e.g. all Linux distros, install 'podman' on +your favorite distro then build a specific image with + + $ podman build -t fedora-grub -f Containerfile.fedora . + +or in case you prefer Debian + + $ podman build -t debian-grub -f Containerfile.debian . + +once built, you can run/launch any of the aboven + + $ podman run -it fedora-grub + +or + + $ podman run -it debian-grub + +and execute the standard build/test commands inside it, e.g + + # ./bootstrap + # ./configure + # ./make + # ./make check diff --git a/container/Containerfile.debian b/container/Containerfile.debian new file mode 100644 index 0000000000..289a2bc0cc --- /dev/null +++ b/container/Containerfile.debian @@ -0,0 +1,56 @@ +FROM debian + +# Install required packages for configuration & compilation & check +RUN apt update -y && \ + apt install -y \ + attr \ + autoconf \ + automake \ + autopoint \ + bison \ + btrfs-progs \ + cpio \ + cryptsetup \ + dosfstools \ + e2fsprogs \ + erofs-utils \ + exfatprogs \ + f2fs-tools \ + flex \ + gawk \ + genromfs \ + gettext \ + git \ + hfsplus \ + jfsutils \ + libtool \ + lzop \ + make \ + mtools \ + nilfs-tools \ + ntfs-3g \ + ovmf \ + ovmf-ia32 \ + parted \ + patch \ + pkg-config \ + python3 \ + qemu-efi-aarch64 \ + qemu-efi-arm \ + qemu-system \ + squashfs-tools \ + swtpm-tools \ + tpm2-tools \ + udftools \ + unifont \ + wamerican \ + which \ + xfonts-unifont \ + xfsprogs \ + xorriso \ + zfs-fuse + +# clone tip of grub repository +RUN git clone --depth 1 https://git.savannah.gnu.org/git/grub.git + +WORKDIR /grub diff --git a/container/Containerfile.fedora b/container/Containerfile.fedora new file mode 100644 index 0000000000..a0c3a1f231 --- /dev/null +++ b/container/Containerfile.fedora @@ -0,0 +1,57 @@ +FROM registry.fedoraproject.org/fedora + +# Install required packages for configuration & compilation & check +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 \ + genromfs \ + gettext \ + git \ + hfsplus-tools \ + jfsutils \ + libtool \ + lzop \ + make \ + mtools \ + nilfs-utils \ + ntfsprogs \ + parted \ + patch \ + pkg-config \ + python3 \ + qemu-system-arm \ + qemu-system-aarch64 \ + qemu-system-riscv \ + 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://git.savannah.gnu.org/git/grub.git + +WORKDIR /grub -- 2.48.1 _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel