summaryrefslogtreecommitdiffstats
path: root/test/container
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/container/Dockerfile-Arch63
-rw-r--r--test/container/Dockerfile-Debian15
-rw-r--r--test/container/Dockerfile-Fedora-latest12
-rw-r--r--test/container/Dockerfile-Gentoo66
-rw-r--r--test/container/Dockerfile-OpenSuse-latest57
-rw-r--r--test/container/Dockerfile-Ubuntu12
-rw-r--r--test/container/Dockerfile-Void64
-rw-r--r--test/container/Dockerfile-alpine62
8 files changed, 278 insertions, 73 deletions
diff --git a/test/container/Dockerfile-Arch b/test/container/Dockerfile-Arch
index f05ce8f..2af810a 100644
--- a/test/container/Dockerfile-Arch
+++ b/test/container/Dockerfile-Arch
@@ -1,17 +1,52 @@
FROM docker.io/archlinux
-MAINTAINER https://github.com/dracutdevs/dracut
-
-# Install needed packages for the dracut CI container
RUN pacman --noconfirm -Syu \
- linux dash strace dhclient asciidoc cpio pigz squashfs-tools \
- qemu btrfs-progs mdadm dmraid nfs-utils nfsidmap lvm2 nbd \
- dhcp networkmanager multipath-tools vi tcpdump open-iscsi connman \
- git shfmt shellcheck astyle which base-devel glibc parted ntfs-3g && yes | pacman -Scc
-
-RUN useradd -m build
-RUN su build -c 'cd && git clone https://aur.archlinux.org/perl-config-general.git && cd perl-config-general && makepkg -s --noconfirm'
-RUN pacman -U --noconfirm ~build/perl-config-general/*.pkg.tar.*
-RUN su build -c 'cd && git clone https://aur.archlinux.org/tgt.git && cd tgt && makepkg -s --noconfirm'
-RUN pacman -U --noconfirm ~build/tgt/*.pkg.tar.*
-RUN rm -fr ~build
+ asciidoc \
+ astyle \
+ base-devel \
+ bluez \
+ btrfs-progs \
+ busybox \
+ cargo \
+ cifs-utils \
+ connman \
+ cpio \
+ dash \
+ dhclient \
+ dhcp \
+ dmraid \
+ elfutils \
+ f2fs-tools \
+ git \
+ glibc \
+ jq \
+ linux \
+ lvm2 \
+ lzop \
+ mdadm \
+ multipath-tools \
+ nbd \
+ networkmanager \
+ nfsidmap \
+ nfs-utils \
+ ntfs-3g \
+ nvme-cli \
+ open-iscsi \
+ openssh \
+ parted \
+ pigz \
+ plymouth \
+ qemu \
+ qrencode \
+ rng-tools \
+ sbsigntools \
+ shellcheck \
+ shfmt \
+ squashfs-tools \
+ strace \
+ systemd-ukify \
+ tcpdump \
+ tgt \
+ tpm2-tools \
+ vi \
+ && yes | pacman -Scc
diff --git a/test/container/Dockerfile-Debian b/test/container/Dockerfile-Debian
index 9ba3a1f..7e7e6d4 100644
--- a/test/container/Dockerfile-Debian
+++ b/test/container/Dockerfile-Debian
@@ -1,7 +1,5 @@
FROM docker.io/debian:latest
-MAINTAINER https://github.com/dracutdevs/dracut
-
# Install needed packages for the dracut CI container
# Install dracut as a linux-initramfs-tool provider so that the default initramfs-tool package does not get installed
# Uninstall initramfs-tools-core as a workaround for https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=994492
@@ -9,17 +7,16 @@ RUN apt-get update -y -qq && apt-get upgrade -y -qq && apt-get install -y -qq --
DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends -o Dpkg::Use-Pty=0 \
asciidoc \
astyle \
+ bluez \
btrfs-progs \
busybox-static \
bzip2 \
ca-certificates \
+ cargo \
console-setup \
cpio \
cryptsetup \
curl \
- dash \
- debhelper \
- debhelper-compat \
dmraid \
docbook \
docbook-xml \
@@ -32,6 +29,7 @@ RUN apt-get update -y -qq && apt-get upgrade -y -qq && apt-get install -y -qq --
iputils-ping \
isc-dhcp-client \
isc-dhcp-server \
+ iscsiuio \
kmod \
less \
libdmraid-dev \
@@ -52,16 +50,17 @@ RUN apt-get update -y -qq && apt-get upgrade -y -qq && apt-get install -y -qq --
pigz \
pkg-config \
procps \
- qemu-system-x86 \
- quilt \
+ qemu-kvm \
+ rng-tools5 \
shellcheck \
+ sbsigntool \
squashfs-tools \
strace \
- sudo \
systemd-boot-efi \
tcpdump \
tgt \
thin-provisioning-tools \
+ tpm2-tools \
vim \
wget \
&& apt-get clean && dpkg -P --force-depends dracut dracut-core initramfs-tools-core
diff --git a/test/container/Dockerfile-Fedora-latest b/test/container/Dockerfile-Fedora-latest
index 2ce3975..106af17 100644
--- a/test/container/Dockerfile-Fedora-latest
+++ b/test/container/Dockerfile-Fedora-latest
@@ -1,16 +1,15 @@
FROM registry.fedoraproject.org/fedora:latest
-MAINTAINER https://github.com/dracutdevs/dracut
-
# Install needed packages for the dracut CI container
RUN dnf -y install --setopt=install_weak_deps=False \
asciidoc \
+ astyle \
bash-completion \
- biosdevname \
bluez \
btrfs-progs \
busybox \
bzip2 \
+ cargo \
cifs-utils \
cryptsetup \
dash \
@@ -28,6 +27,7 @@ RUN dnf -y install --setopt=install_weak_deps=False \
iproute \
iputils \
iscsi-initiator-utils \
+ jq \
kbd \
kernel \
kmod-devel \
@@ -49,7 +49,8 @@ RUN dnf -y install --setopt=install_weak_deps=False \
parted \
pcsc-lite \
pigz \
- qemu-system-x86-core \
+ qemu \
+ qrencode \
rng-tools \
rpm-build \
sbsigntools \
@@ -58,14 +59,13 @@ RUN dnf -y install --setopt=install_weak_deps=False \
shfmt \
squashfs-tools \
strace \
- sudo \
systemd-boot-unsigned \
systemd-networkd \
systemd-resolved \
+ systemd-ukify \
tar \
tcpdump \
tpm2-tools \
wget \
- which \
xz \
&& dnf -y remove dracut --noautoremove && dnf -y update && dnf clean all
diff --git a/test/container/Dockerfile-Gentoo b/test/container/Dockerfile-Gentoo
index f2bb555..7b4eb2a 100644
--- a/test/container/Dockerfile-Gentoo
+++ b/test/container/Dockerfile-Gentoo
@@ -1,57 +1,59 @@
-ARG TAG=musl
FROM docker.io/gentoo/portage:latest as portage
-# uefi stub in a separate builder
-FROM docker.io/gentoo/stage3 as efistub
+FROM docker.io/gentoo/stage3:systemd
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
+# Speed-up using binpkgs
+RUN echo "MAKEOPTS=\"-j$(nproc) -l$(nproc)\"" >> /etc/portage/make.conf
+RUN echo "EMERGE_DEFAULT_OPTS=\"-j$(nproc) -l$(nproc)\"" >> /etc/portage/make.conf
+RUN echo "FEATURES=\"getbinpkg binpkg-ignore-signature parallel-fetch parallel-install pkgdir-index-trusted\"" >> /etc/portage/make.conf
-# 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
+# systemd-boot, no need to install intramfs with kernel
+RUN echo "USE=\"boot kernel-install -initramfs\"" >> /etc/portage/make.conf
-MAINTAINER https://github.com/dracutdevs/dracut
+# Use debian's installkernel
+RUN echo 'sys-kernel/installkernel -systemd' >> /etc/portage/package.use/kernel
-# required by sys-fs/dmraid
-RUN echo 'sys-fs/lvm2 lvm thin' > /etc/portage/package.use/lvm2
+# Enable ukify and cryptsetup tools (includes unit generator for crypttab)
+RUN echo 'sys-apps/systemd ukify cryptsetup' >> /etc/portage/package.use/systemd
-# 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
+# Support thin volumes and build all of LVM2 including daemons and tools like lvchange
+RUN echo 'sys-fs/lvm2 thin lvm' >> /etc/portage/package.use/lvm2
-# 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 \
+RUN emerge --quiet --deep --autounmask-continue=y --with-bdeps=n \
+ app-admin/rsyslog \
app-arch/cpio \
+ app-crypt/tpm2-tools \
+ app-crypt/sbsigntools \
app-emulation/qemu \
+ app-misc/jq \
+ app-portage/gentoolkit \
app-shells/dash \
+ dev-lang/rust-bin \
+ net-fs/cifs-utils \
net-fs/nfs-utils \
net-misc/dhcp \
+ net-wireless/bluez \
+ sys-apps/biosdevname \
sys-apps/busybox \
+ sys-apps/nvme-cli \
+ sys-apps/rng-tools \
+ sys-apps/systemd \
sys-block/nbd \
+ sys-block/open-iscsi \
sys-block/parted \
+ sys-block/tgt \
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 \
+ sys-kernel/gentoo-kernel-bin \
+ sys-libs/libxcrypt \
+ sys-libs/glibc \
+ virtual/pkgconfig \
&& rm -rf /var/cache/* /usr/share/doc/* /usr/share/man/*
+
+RUN emerge --depclean --with-bdeps=n
diff --git a/test/container/Dockerfile-OpenSuse-latest b/test/container/Dockerfile-OpenSuse-latest
index 3e7cefc..a5fb7de 100644
--- a/test/container/Dockerfile-OpenSuse-latest
+++ b/test/container/Dockerfile-OpenSuse-latest
@@ -1,13 +1,52 @@
FROM registry.opensuse.org/opensuse/tumbleweed-dnf:latest
-MAINTAINER https://github.com/dracutdevs/dracut
-
# Install needed packages for the dracut CI container
RUN dnf -y install --setopt=install_weak_deps=False \
- dash asciidoc mdadm lvm2 dmraid cryptsetup nfs-utils nbd dhcp-server \
- strace libkmod-devel gcc bzip2 xz tar wget rpm-build make git bash-completion \
- sudo kernel dhcp-client qemu-kvm /usr/bin/qemu-system-$(uname -m) e2fsprogs \
- tcpdump iproute iputils kbd NetworkManager btrfsprogs tgt dbus-broker \
- iscsiuio open-iscsi which ShellCheck shfmt procps pigz parted squashfs ntfsprogs \
- multipath-tools util-linux-systemd systemd-boot \
- && dnf -y remove dracut && dnf -y update && dnf clean all
+ asciidoc \
+ bash-completion \
+ btrfsprogs \
+ bzip2 \
+ cargo \
+ cryptsetup \
+ dash \
+ dbus-broker \
+ dhcp-client \
+ dhcp-server \
+ dmraid \
+ e2fsprogs \
+ gcc \
+ git \
+ iproute \
+ iputils \
+ iscsiuio \
+ kbd \
+ kernel \
+ libkmod-devel \
+ lvm2 \
+ make \
+ mdadm \
+ nbd \
+ NetworkManager \
+ nfs-utils \
+ open-iscsi \
+ parted \
+ pigz \
+ procps \
+ qemu-kvm \
+ rng-tools \
+ rpm-build \
+ sbsigntools \
+ ShellCheck \
+ shfmt \
+ squashfs \
+ strace \
+ systemd-boot \
+ tar \
+ tcpdump \
+ tgt \
+ tpm2.0-tools \
+ /usr/bin/qemu-system-$(uname -m) \
+ util-linux-systemd \
+ wget \
+ xz \
+ && rpm -e --nodeps dracut && dnf -y update && dnf clean all
diff --git a/test/container/Dockerfile-Ubuntu b/test/container/Dockerfile-Ubuntu
index 0fb7f20..ef15a67 100644
--- a/test/container/Dockerfile-Ubuntu
+++ b/test/container/Dockerfile-Ubuntu
@@ -1,17 +1,17 @@
FROM docker.io/ubuntu:latest
-MAINTAINER https://github.com/dracutdevs/dracut
-
# Install needed packages for the dracut CI container
# The Linux kernel is only readable by root. See https://launchpad.net/bugs/759725
RUN apt-get update -y -qq && apt-get upgrade -y -qq && \
DEBIAN_FRONTEND=noninteractive apt-get install -y -qq --no-install-recommends -o Dpkg::Use-Pty=0 \
asciidoc \
astyle \
+ bluez \
btrfs-progs \
busybox-static \
bzip2 \
ca-certificates \
+ cargo \
console-setup \
cpio \
cryptsetup \
@@ -28,6 +28,7 @@ RUN apt-get update -y -qq && apt-get upgrade -y -qq && \
iputils-ping \
isc-dhcp-client \
isc-dhcp-server \
+ iscsiuio \
kmod \
less \
libdmraid-dev \
@@ -49,14 +50,17 @@ RUN apt-get update -y -qq && apt-get upgrade -y -qq && \
pkg-config \
procps \
qemu-kvm \
+ rng-tools5 \
+ sbsigntool \
shellcheck \
squashfs-tools \
strace \
- sudo \
- systemd \
+ systemd-boot-efi \
+ systemd-ukify \
tcpdump \
tgt \
thin-provisioning-tools \
+ tpm2-tools \
vim \
wget \
&& apt-get clean \
diff --git a/test/container/Dockerfile-Void b/test/container/Dockerfile-Void
new file mode 100644
index 0000000..99044c3
--- /dev/null
+++ b/test/container/Dockerfile-Void
@@ -0,0 +1,64 @@
+FROM ghcr.io/void-linux/void-glibc-full
+
+RUN xbps-install -Syu xbps && xbps-install -yu \
+ asciidoc \
+ astyle \
+ base-devel \
+ bash \
+ binutils \
+ bluez \
+ btrfs-progs \
+ busybox \
+ cargo \
+ cifs-utils \
+ connman \
+ cpio \
+ cryptsetup \
+ curl \
+ dash \
+ dhclient \
+ dhcp \
+ dmraid \
+ dosfstools \
+ e2fsprogs \
+ edk2-ovmf \
+ elfutils \
+ eudev \
+ f2fs-tools \
+ git \
+ glibc \
+ gnupg \
+ iputils \
+ jq \
+ kbd \
+ libkmod-devel \
+ linux \
+ lvm2 \
+ lzop \
+ make \
+ mdadm \
+ mtools \
+ nbd \
+ NetworkManager \
+ nfs-utils \
+ ntfs-3g \
+ nvme-cli \
+ open-iscsi \
+ openssh \
+ parted \
+ pigz \
+ plymouth \
+ qemu \
+ rng-tools \
+ sbsigntool \
+ shellcheck \
+ shfmt \
+ squashfs-tools \
+ strace \
+ systemd-boot-efistub \
+ tcpdump \
+ tgt \
+ tpm2-tools \
+ ukify \
+ xz \
+ && rm -rf /var/cache/xbps
diff --git a/test/container/Dockerfile-alpine b/test/container/Dockerfile-alpine
new file mode 100644
index 0000000..4f28c95
--- /dev/null
+++ b/test/container/Dockerfile-alpine
@@ -0,0 +1,62 @@
+FROM docker.io/alpine:latest
+
+RUN apk add --no-cache \
+ alpine-sdk \
+ asciidoc \
+ bash \
+ binutils \
+ blkid \
+ btrfs-progs \
+ busybox \
+ bzip2 \
+ cargo \
+ coreutils \
+ cpio \
+ cryptsetup \
+ curl \
+ dash \
+ dhclient \
+ dmraid \
+ dosfstools \
+ e2fsprogs \
+ eudev \
+ findmnt \
+ gawk \
+ git \
+ gpg \
+ grep \
+ iputils \
+ kbd \
+ kmod-dev \
+ linux-virt \
+ losetup \
+ lvm2 \
+ make \
+ mdadm \
+ mtools \
+ multipath-tools \
+ musl-fts-dev \
+ nbd \
+ ntfs-3g-progs \
+ open-iscsi \
+ openssh \
+ parted \
+ partx \
+ pigz \
+ procps \
+ qemu-img \
+ qemu-system-x86_64 \
+ rng-tools \
+ sed \
+ sfdisk \
+ squashfs-tools \
+ sudo \
+ util-linux-misc \
+ xz
+
+RUN \
+ cp /usr/lib/udev/rules.d/* /lib/udev/rules.d/ && \
+ ln -sf /sbin/poweroff /sbin/shutdown && \
+ ln -sf /usr/bin/dash /bin/dash && \
+ ln -sf /bin/sh /usr/bin/sh && \
+ ln -sf /boot/vmlinuz-virt /boot/vmlinuz-$(cd /lib/modules; ls -1 | tail -1)