summaryrefslogtreecommitdiffstats
path: root/test/container/Dockerfile-Gentoo
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-03 13:54:25 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-03 13:54:25 +0000
commit9cb1c4df7b9ce1a9ad1312621b0f2b16a94fba3a (patch)
tree2efb72864cc69e174c9c5ee33efb88a5f1553b48 /test/container/Dockerfile-Gentoo
parentInitial commit. (diff)
downloaddracut-9cb1c4df7b9ce1a9ad1312621b0f2b16a94fba3a.tar.xz
dracut-9cb1c4df7b9ce1a9ad1312621b0f2b16a94fba3a.zip
Adding upstream version 060+5.upstream/060+5
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/container/Dockerfile-Gentoo')
-rw-r--r--test/container/Dockerfile-Gentoo57
1 files changed, 57 insertions, 0 deletions
diff --git a/test/container/Dockerfile-Gentoo b/test/container/Dockerfile-Gentoo
new file mode 100644
index 0000000..f2bb555
--- /dev/null
+++ b/test/container/Dockerfile-Gentoo
@@ -0,0 +1,57 @@
+ARG TAG=musl
+FROM docker.io/gentoo/portage:latest as portage
+
+# uefi stub in a separate builder
+FROM docker.io/gentoo/stage3 as efistub
+COPY --from=portage /var/db/repos/gentoo /var/db/repos/gentoo
+
+# systemd-boot
+RUN echo 'sys-apps/systemd-utils boot' > /etc/portage/package.use/systemd-utils && \
+ emerge -qv sys-apps/systemd-utils
+
+# kernel and its dependencies in a separate builder
+FROM docker.io/gentoo/stage3:$TAG as kernel
+COPY --from=portage /var/db/repos/gentoo /var/db/repos/gentoo
+# disable initramfs generation, only need the kernel image itself
+RUN echo 'sys-kernel/gentoo-kernel-bin -initramfs' > /etc/portage/package.use/kernel
+RUN emerge -qv sys-kernel/gentoo-kernel-bin
+
+FROM docker.io/gentoo/stage3:$TAG
+COPY --from=portage /var/db/repos/gentoo /var/db/repos/gentoo
+COPY --from=kernel /boot /boot
+COPY --from=kernel /lib/modules /lib/modules
+COPY --from=efistub /usr/lib/systemd/boot/efi /usr/lib/systemd/boot/efi
+ARG TAG
+
+MAINTAINER https://github.com/dracutdevs/dracut
+
+# required by sys-fs/dmraid
+RUN echo 'sys-fs/lvm2 lvm thin' > /etc/portage/package.use/lvm2
+
+# workaround for https://bugs.gentoo.org/734022 whereby Gentoo does not support NFS4 with musl
+RUN if [[ "$TAG" == 'musl' ]]; then echo 'net-fs/nfs-utils -nfsv4' > /etc/portage/package.use/nfs-utils ; fi
+
+# workaround for packages do not compile on musl
+# https://bugs.gentoo.org/713490 for tgt
+# https://bugs.gentoo.org/908587 for open-iscsi
+RUN if [[ "$TAG" != 'musl' ]]; then emerge -qv sys-block/tgt sys-block/open-iscsi ; fi
+
+# Install needed packages for the dracut CI container
+RUN emerge -qv \
+ app-arch/cpio \
+ app-emulation/qemu \
+ app-shells/dash \
+ net-fs/nfs-utils \
+ net-misc/dhcp \
+ sys-apps/busybox \
+ sys-block/nbd \
+ sys-block/parted \
+ sys-fs/btrfs-progs \
+ sys-fs/cryptsetup \
+ sys-fs/dmraid \
+ sys-fs/lvm2 \
+ sys-fs/mdadm \
+ sys-fs/multipath-tools \
+ sys-fs/ntfs3g \
+ sys-fs/squashfs-tools \
+ && rm -rf /var/cache/* /usr/share/doc/* /usr/share/man/*