# Test coverage provided by this container:
# - default hostonly
# - musl (instead of glibc)
# - openrc (instead of systemd)
# - eudev (instead of systemd-udev)
# - elogind (instead of logind)
# - busybox default shell (no dash installed)
# - gzip compression
# - dbus-daemon
# - network: none

# Not installed
# - cargo (to increase coverage)
# - dash (to increase coverage)
# - ntfs-3g (not enabled with linux-virt)
# - erofs-utils (not enabled with linux-virt)
# - multipath-tools (does not work well)
# - ovmf (systemd-boot-efistub, UEFI, UKI is not available)
# - kernel-install is not available
# - networkmanager (does not work with dracut)

ARG DISTRIBUTION=alpine
FROM docker.io/${DISTRIBUTION}

# export ARG
ARG DISTRIBUTION

# Packages to pass the BASIC test
RUN apk add --no-cache \
    asciidoctor \
    dracut-tests \
    file \
    gcc \
    kmod \
    kmod-dev \
    linux-virt \
    make \
    musl-dev \
    musl-fts-dev

# Packages for all tests, only enabled for alpine:edge
RUN \
if [ "$DISTRIBUTION" = "alpine:edge" ] ; then \
    apk add --no-cache \
    btrfs-progs \
    cpio \
    cryptsetup \
    device-mapper \
    elogind \
    gpg \
    jq \
    kbd \
    keyutils \
    libcap-utils \
    losetup \
    lvm2 \
    mdadm \
    nvme-cli \
    parted \
    plymouth-themes \
    procps \
    squashfs-tools \
    util-linux-misc \
    util-linux-login \
    xorriso \
; fi
