File Dockerfile of Package virt-libguestfs-tools-container.26632

# Defines the tag for OBS and build script builds:
#!BuildTag: %%TAGPREFIX%%/libguestfs-tools:%%PKG_VERSION%%
#!BuildTag: %%TAGPREFIX%%/libguestfs-tools:%%PKG_VERSION%%.%RELEASE%
#!BuildTag: %%TAGPREFIX%%/libguestfs-tools:%%PKG_VERSION%%-%%PKG_RELEASE%%

#!ExclusiveArch: x86_64

# libguestfs-tools container image
# KUBEVIRTFROM defined in prjconf, e.g.
#  BuildFlags: dockerarg:KUBEVIRTFROM=opensuse/tumbleweed
ARG KUBEVIRTFROM
FROM $KUBEVIRTFROM

# labelprefix=%%LABELPREFIX%%
PREFIXEDLABEL org.opencontainers.image.title="kubevirt libguestfs-tools container"
PREFIXEDLABEL org.opencontainers.image.description="Container for libguestfs tools"
PREFIXEDLABEL org.opencontainers.image.created="%BUILDTIME%"
PREFIXEDLABEL org.opencontainers.image.version="%%PKG_VERSION%%.%RELEASE%"
PREFIXEDLABEL org.openbuildservice.disturl="%DISTURL%"
PREFIXEDLABEL org.opensuse.reference="%%REGISTRY%%/%%TAGPREFIX%%/libguestfs-tools:%%PKG_VERSION%%.%RELEASE%"

# Note: the trick with install/remove kubevirt-manifests is needed to ensure
# that OBS triggers the rebuild of the container whenever the main kubevirt
# package is updated. Even though there is no direct dependency on the RPM
# itself, we still need to add proper tags. Having a reference to the build
# service obs-service-kubevirt_containers_meta in the _service file apparently
# is not enough.
RUN zypper -n install \
              bash \
              btrfsprogs \
              cryptsetup \
              dosfstools \
              e2fsprogs \
              gptfdisk \
              guestfs-data \
              guestfs-tools \
              guestfs-winsupport \
              jfsutils \
              kernel-kvmsmall \
              kubevirt-manifests \
              ldmtool \
              libguestfs \
              libguestfs-devel \
              mdadm \
              parted \
              qemu-tools \
              qemu-x86 \
              reiserfs \
              supermin \
              xfsprogs \
              xorriso \
              zerofree && \
    zypper -n remove kubevirt-manifests && \
    zypper clean -a

COPY entrypoint.sh /entrypoint.sh
RUN chmod +x entrypoint.sh

# Make a "fixed appliance" for libguestfs.
# Note: the resulting 'appliance/root' is a sparse file. Docker does not
# preserve sparseness hence a compressed tarball is created.
RUN LIBGUESTFS_BACKEND=direct \
    LIBGUESTFS_DEBUG=1 \
    libguestfs-make-fixed-appliance --xz && \
    mv appliance-*.tar.xz appliance.tar.xz && \
    rm -rf /var/tmp/.guestfs-*

ENTRYPOINT [ "/entrypoint.sh" ]
openSUSE Build Service is sponsored by