[libvirt] [PATCH v2 1/5] docker: Commit initial Dockerfiles

Andrea Bolognani abologna at redhat.com
Fri Jun 15 07:06:52 UTC 2018


These have been generated from the build dependency data
available in the libvirt-jenkins-ci repository, and will
be refreshed periodically to keep them in sync the same
way we've updated .travis.yml so far; my guess, based on
that effort, is that we'll need to do so about once per
release.

Automated builds will be set up on Docker Hub so that
changes to the Dockerfiles will cause the images to be
regenerated, and with that in place (a subset of) the
resulting images will be used in the Travis CI pipeline,
as well of course as being available to developers for
testing and debugging purposes.

Signed-off-by: Andrea Bolognani <abologna at redhat.com>
---
POC script used to generate the files:

  https://www.redhat.com/archives/libvir-list/2018-June/msg01238.html

Preview of what the images will look like:

  https://hub.docker.com/r/andreabolognani/buildenv-centos-7/
  https://hub.docker.com/r/andreabolognani/buildenv-fedora-rawhide/
  https://hub.docker.com/r/andreabolognani/buildenv-ubuntu-18/

libvirt.git feels like a sensible enough place to store these
files, especially considering that we've been storing pretty
much the same information in .travis.yml up until now; that
said, I don't love the idea of tracking what is ultimately
generated data, so I'm open to creating a separate, ad-hoc
repository (libvirt-dockerfiles.git?) instead.

 .docker/buildenv-centos-7.Dockerfile       |  70 ++++++++++++++
 .docker/buildenv-debian-8.Dockerfile       |  76 +++++++++++++++
 .docker/buildenv-debian-9.Dockerfile       |  78 ++++++++++++++++
 .docker/buildenv-debian-sid.Dockerfile     |  78 ++++++++++++++++
 .docker/buildenv-fedora-27.Dockerfile      |  78 ++++++++++++++++
 .docker/buildenv-fedora-28.Dockerfile      |  78 ++++++++++++++++
 .docker/buildenv-fedora-rawhide.Dockerfile | 102 +++++++++++++++++++++
 .docker/buildenv-ubuntu-16.Dockerfile      |  79 ++++++++++++++++
 .docker/buildenv-ubuntu-18.Dockerfile      |  79 ++++++++++++++++
 9 files changed, 718 insertions(+)
 create mode 100644 .docker/buildenv-centos-7.Dockerfile
 create mode 100644 .docker/buildenv-debian-8.Dockerfile
 create mode 100644 .docker/buildenv-debian-9.Dockerfile
 create mode 100644 .docker/buildenv-debian-sid.Dockerfile
 create mode 100644 .docker/buildenv-fedora-27.Dockerfile
 create mode 100644 .docker/buildenv-fedora-28.Dockerfile
 create mode 100644 .docker/buildenv-fedora-rawhide.Dockerfile
 create mode 100644 .docker/buildenv-ubuntu-16.Dockerfile
 create mode 100644 .docker/buildenv-ubuntu-18.Dockerfile

diff --git a/.docker/buildenv-centos-7.Dockerfile b/.docker/buildenv-centos-7.Dockerfile
new file mode 100644
index 0000000000..5d92bfabc5
--- /dev/null
+++ b/.docker/buildenv-centos-7.Dockerfile
@@ -0,0 +1,70 @@
+FROM centos:centos7
+ENV PACKAGES audit-libs-devel \
+             augeas \
+             autoconf \
+             automake \
+             avahi-devel \
+             bash \
+             bash-completion \
+             chrony \
+             cyrus-sasl-devel \
+             dbus-devel \
+             device-mapper-devel \
+             dnsmasq \
+             ebtables \
+             fuse-devel \
+             gcc \
+             gettext \
+             gettext-devel \
+             git \
+             glibc-common \
+             glibc-devel \
+             glusterfs-api-devel \
+             gnutls-devel \
+             iproute \
+             iscsi-initiator-utils \
+             libacl-devel \
+             libattr-devel \
+             libblkid-devel \
+             libcap-ng-devel \
+             libcurl-devel \
+             libnl3-devel \
+             libpcap-devel \
+             libpciaccess-devel \
+             librbd1-devel \
+             libselinux-devel \
+             libssh-devel \
+             libssh2-devel \
+             libtirpc-devel \
+             libtool \
+             libudev-devel \
+             libwsman-devel \
+             libxml2 \
+             libxml2-devel \
+             libxslt \
+             lvm2 \
+             make \
+             netcf-devel \
+             nfs-utils \
+             numactl-devel \
+             numad \
+             parted \
+             parted-devel \
+             patch \
+             perl \
+             pkgconfig \
+             polkit \
+             qemu-img \
+             radvd \
+             readline-devel \
+             rpm-build \
+             sanlock-devel \
+             screen \
+             scrub \
+             sudo \
+             systemtap-sdt-devel \
+             vim \
+             yajl-devel
+RUN yum install -y ${PACKAGES} && \
+    yum autoremove -y && \
+    yum clean all -y
diff --git a/.docker/buildenv-debian-8.Dockerfile b/.docker/buildenv-debian-8.Dockerfile
new file mode 100644
index 0000000000..0766cc99e9
--- /dev/null
+++ b/.docker/buildenv-debian-8.Dockerfile
@@ -0,0 +1,76 @@
+FROM debian:8
+ENV PACKAGES augeas-tools \
+             autoconf \
+             automake \
+             autopoint \
+             bash \
+             bash-completion \
+             ccache \
+             chrony \
+             dnsmasq-base \
+             dwarves \
+             ebtables \
+             gcc \
+             gettext \
+             git \
+             glusterfs-client \
+             iproute2 \
+             libacl1-dev \
+             libapparmor-dev \
+             libattr1-dev \
+             libaudit-dev \
+             libavahi-client-dev \
+             libblkid-dev \
+             libc-dev-bin \
+             libc6-dev \
+             libcap-ng-dev \
+             libcurl4-gnutls-dev \
+             libdbus-1-dev \
+             libdevmapper-dev \
+             libfuse-dev \
+             libgnutls28-dev \
+             libnetcf-dev \
+             libnl-3-dev \
+             libnl-route-3-dev \
+             libnuma-dev \
+             libparted-dev \
+             libpcap-dev \
+             libpciaccess-dev \
+             librbd-dev \
+             libreadline-dev \
+             libsanlock-dev \
+             libsasl2-dev \
+             libselinux1-dev \
+             libssh-gcrypt-dev \
+             libssh2-1-dev \
+             libtirpc-dev \
+             libtool \
+             libtool-bin \
+             libudev-dev \
+             libxen-dev \
+             libxml2-dev \
+             libxml2-utils \
+             libyajl-dev \
+             lvm2 \
+             make \
+             nfs-common \
+             open-iscsi \
+             parted \
+             patch \
+             perl \
+             pkgconf \
+             policykit-1 \
+             qemu-utils \
+             radvd \
+             screen \
+             scrub \
+             sheepdog \
+             sudo \
+             systemtap-sdt-dev \
+             vim \
+             xsltproc \
+             zfs-fuse
+RUN apt-get update && \
+    apt-get install -y ${PACKAGES} && \
+    apt-get autoremove -y && \
+    apt-get autoclean -y
diff --git a/.docker/buildenv-debian-9.Dockerfile b/.docker/buildenv-debian-9.Dockerfile
new file mode 100644
index 0000000000..e106574aa9
--- /dev/null
+++ b/.docker/buildenv-debian-9.Dockerfile
@@ -0,0 +1,78 @@
+FROM debian:9
+ENV PACKAGES augeas-tools \
+             autoconf \
+             automake \
+             autopoint \
+             bash \
+             bash-completion \
+             ccache \
+             chrony \
+             dnsmasq-base \
+             dwarves \
+             ebtables \
+             gcc \
+             gettext \
+             git \
+             glusterfs-client \
+             iproute2 \
+             libacl1-dev \
+             libapparmor-dev \
+             libattr1-dev \
+             libaudit-dev \
+             libavahi-client-dev \
+             libblkid-dev \
+             libc-dev-bin \
+             libc6-dev \
+             libcap-ng-dev \
+             libcurl4-gnutls-dev \
+             libdbus-1-dev \
+             libdevmapper-dev \
+             libfuse-dev \
+             libgnutls28-dev \
+             libnetcf-dev \
+             libnl-3-dev \
+             libnl-route-3-dev \
+             libnuma-dev \
+             libparted-dev \
+             libpcap-dev \
+             libpciaccess-dev \
+             librbd-dev \
+             libreadline-dev \
+             libsanlock-dev \
+             libsasl2-dev \
+             libselinux1-dev \
+             libssh-gcrypt-dev \
+             libssh2-1-dev \
+             libtirpc-dev \
+             libtool \
+             libtool-bin \
+             libudev-dev \
+             libxen-dev \
+             libxml2-dev \
+             libxml2-utils \
+             libyajl-dev \
+             lvm2 \
+             make \
+             nfs-common \
+             numad \
+             open-iscsi \
+             parted \
+             patch \
+             perl \
+             pkgconf \
+             policykit-1 \
+             qemu-utils \
+             radvd \
+             screen \
+             scrub \
+             sheepdog \
+             sudo \
+             systemtap-sdt-dev \
+             vim \
+             wireshark-dev \
+             xsltproc \
+             zfs-fuse
+RUN apt-get update && \
+    apt-get install -y ${PACKAGES} && \
+    apt-get autoremove -y && \
+    apt-get autoclean -y
diff --git a/.docker/buildenv-debian-sid.Dockerfile b/.docker/buildenv-debian-sid.Dockerfile
new file mode 100644
index 0000000000..c3a18be76d
--- /dev/null
+++ b/.docker/buildenv-debian-sid.Dockerfile
@@ -0,0 +1,78 @@
+FROM debian:sid
+ENV PACKAGES augeas-tools \
+             autoconf \
+             automake \
+             autopoint \
+             bash \
+             bash-completion \
+             ccache \
+             chrony \
+             dnsmasq-base \
+             dwarves \
+             ebtables \
+             gcc \
+             gettext \
+             git \
+             glusterfs-client \
+             iproute2 \
+             libacl1-dev \
+             libapparmor-dev \
+             libattr1-dev \
+             libaudit-dev \
+             libavahi-client-dev \
+             libblkid-dev \
+             libc-dev-bin \
+             libc6-dev \
+             libcap-ng-dev \
+             libcurl4-gnutls-dev \
+             libdbus-1-dev \
+             libdevmapper-dev \
+             libfuse-dev \
+             libgnutls28-dev \
+             libnetcf-dev \
+             libnl-3-dev \
+             libnl-route-3-dev \
+             libnuma-dev \
+             libparted-dev \
+             libpcap-dev \
+             libpciaccess-dev \
+             librbd-dev \
+             libreadline-dev \
+             libsanlock-dev \
+             libsasl2-dev \
+             libselinux1-dev \
+             libssh-gcrypt-dev \
+             libssh2-1-dev \
+             libtirpc-dev \
+             libtool \
+             libtool-bin \
+             libudev-dev \
+             libxen-dev \
+             libxml2-dev \
+             libxml2-utils \
+             libyajl-dev \
+             lvm2 \
+             make \
+             nfs-common \
+             numad \
+             open-iscsi \
+             parted \
+             patch \
+             perl \
+             pkgconf \
+             policykit-1 \
+             qemu-utils \
+             radvd \
+             screen \
+             scrub \
+             sheepdog \
+             sudo \
+             systemtap-sdt-dev \
+             vim \
+             wireshark-dev \
+             xsltproc \
+             zfs-fuse
+RUN apt-get update && \
+    apt-get install -y ${PACKAGES} && \
+    apt-get autoremove -y && \
+    apt-get autoclean -y
diff --git a/.docker/buildenv-fedora-27.Dockerfile b/.docker/buildenv-fedora-27.Dockerfile
new file mode 100644
index 0000000000..4e5173fe9d
--- /dev/null
+++ b/.docker/buildenv-fedora-27.Dockerfile
@@ -0,0 +1,78 @@
+FROM fedora:27
+ENV PACKAGES audit-libs-devel \
+             augeas \
+             autoconf \
+             automake \
+             avahi-devel \
+             bash \
+             bash-completion \
+             ccache \
+             chrony \
+             cppi \
+             cyrus-sasl-devel \
+             dbus-devel \
+             device-mapper-devel \
+             dnsmasq \
+             dwarves \
+             ebtables \
+             fuse-devel \
+             gcc \
+             gettext \
+             gettext-devel \
+             git \
+             glibc-common \
+             glibc-devel \
+             glusterfs-api-devel \
+             gnutls-devel \
+             iproute \
+             iproute-tc \
+             iscsi-initiator-utils \
+             libacl-devel \
+             libattr-devel \
+             libblkid-devel \
+             libcap-ng-devel \
+             libcurl-devel \
+             libnl3-devel \
+             libpcap-devel \
+             libpciaccess-devel \
+             librbd-devel \
+             libselinux-devel \
+             libssh-devel \
+             libssh2-devel \
+             libtirpc-devel \
+             libtool \
+             libudev-devel \
+             libwsman-devel \
+             libxml2 \
+             libxml2-devel \
+             libxslt \
+             lvm2 \
+             make \
+             netcf-devel \
+             nfs-utils \
+             numactl-devel \
+             numad \
+             parted \
+             parted-devel \
+             patch \
+             perl \
+             pkgconfig \
+             polkit \
+             qemu-img \
+             radvd \
+             readline-devel \
+             rpm-build \
+             sanlock-devel \
+             screen \
+             scrub \
+             sheepdog \
+             sudo \
+             systemtap-sdt-devel \
+             vim \
+             wireshark-devel \
+             xen-devel \
+             yajl-devel \
+             zfs-fuse
+RUN yum install -y ${PACKAGES} && \
+    yum autoremove -y && \
+    yum clean all -y
diff --git a/.docker/buildenv-fedora-28.Dockerfile b/.docker/buildenv-fedora-28.Dockerfile
new file mode 100644
index 0000000000..d051d65219
--- /dev/null
+++ b/.docker/buildenv-fedora-28.Dockerfile
@@ -0,0 +1,78 @@
+FROM fedora:28
+ENV PACKAGES audit-libs-devel \
+             augeas \
+             autoconf \
+             automake \
+             avahi-devel \
+             bash \
+             bash-completion \
+             ccache \
+             chrony \
+             cppi \
+             cyrus-sasl-devel \
+             dbus-devel \
+             device-mapper-devel \
+             dnsmasq \
+             dwarves \
+             ebtables \
+             fuse-devel \
+             gcc \
+             gettext \
+             gettext-devel \
+             git \
+             glibc-devel \
+             glusterfs-api-devel \
+             gnutls-devel \
+             iproute \
+             iproute-tc \
+             iscsi-initiator-utils \
+             libacl-devel \
+             libattr-devel \
+             libblkid-devel \
+             libcap-ng-devel \
+             libcurl-devel \
+             libnl3-devel \
+             libpcap-devel \
+             libpciaccess-devel \
+             librbd-devel \
+             libselinux-devel \
+             libssh-devel \
+             libssh2-devel \
+             libtirpc-devel \
+             libtool \
+             libudev-devel \
+             libwsman-devel \
+             libxml2 \
+             libxml2-devel \
+             libxslt \
+             lvm2 \
+             make \
+             netcf-devel \
+             nfs-utils \
+             numactl-devel \
+             numad \
+             parted \
+             parted-devel \
+             patch \
+             perl \
+             pkgconfig \
+             polkit \
+             qemu-img \
+             radvd \
+             readline-devel \
+             rpcgen \
+             rpm-build \
+             sanlock-devel \
+             screen \
+             scrub \
+             sheepdog \
+             sudo \
+             systemtap-sdt-devel \
+             vim \
+             wireshark-devel \
+             xen-devel \
+             yajl-devel \
+             zfs-fuse
+RUN yum install -y ${PACKAGES} && \
+    yum autoremove -y && \
+    yum clean all -y
diff --git a/.docker/buildenv-fedora-rawhide.Dockerfile b/.docker/buildenv-fedora-rawhide.Dockerfile
new file mode 100644
index 0000000000..56d59a1dec
--- /dev/null
+++ b/.docker/buildenv-fedora-rawhide.Dockerfile
@@ -0,0 +1,102 @@
+FROM fedora:rawhide
+ENV PACKAGES audit-libs-devel \
+             augeas \
+             autoconf \
+             automake \
+             avahi-devel \
+             bash \
+             bash-completion \
+             ccache \
+             chrony \
+             cppi \
+             cyrus-sasl-devel \
+             dbus-devel \
+             device-mapper-devel \
+             dnsmasq \
+             dwarves \
+             ebtables \
+             fuse-devel \
+             gcc \
+             gettext \
+             gettext-devel \
+             git \
+             glibc-devel \
+             glusterfs-api-devel \
+             gnutls-devel \
+             iproute \
+             iproute-tc \
+             iscsi-initiator-utils \
+             libacl-devel \
+             libattr-devel \
+             libblkid-devel \
+             libcap-ng-devel \
+             libcurl-devel \
+             libnl3-devel \
+             libpcap-devel \
+             libpciaccess-devel \
+             librbd-devel \
+             libselinux-devel \
+             libssh-devel \
+             libssh2-devel \
+             libtirpc-devel \
+             libtool \
+             libudev-devel \
+             libwsman-devel \
+             libxml2 \
+             libxml2-devel \
+             libxslt \
+             lvm2 \
+             make \
+             mingw32-curl \
+             mingw32-dbus \
+             mingw32-dlfcn \
+             mingw32-gcc \
+             mingw32-gettext \
+             mingw32-gnutls \
+             mingw32-libssh2 \
+             mingw32-libxml2 \
+             mingw32-openssl \
+             mingw32-pkg-config \
+             mingw32-portablexdr \
+             mingw32-readline \
+             mingw64-curl \
+             mingw64-dbus \
+             mingw64-dlfcn \
+             mingw64-gcc \
+             mingw64-gettext \
+             mingw64-gnutls \
+             mingw64-libssh2 \
+             mingw64-libxml2 \
+             mingw64-openssl \
+             mingw64-pkg-config \
+             mingw64-portablexdr \
+             mingw64-readline \
+             netcf-devel \
+             nfs-utils \
+             numactl-devel \
+             numad \
+             parted \
+             parted-devel \
+             patch \
+             perl \
+             pkgconfig \
+             polkit \
+             qemu-img \
+             radvd \
+             readline-devel \
+             rpcgen \
+             rpm-build \
+             sanlock-devel \
+             screen \
+             scrub \
+             sheepdog \
+             sudo \
+             systemtap-sdt-devel \
+             vim \
+             wireshark-devel \
+             xen-devel \
+             yajl-devel \
+             zfs-fuse
+RUN yum install -y ${PACKAGES} && \
+    yum autoremove -y && \
+    yum clean all -y
diff --git a/.docker/buildenv-ubuntu-16.Dockerfile b/.docker/buildenv-ubuntu-16.Dockerfile
new file mode 100644
index 0000000000..d2ece05722
--- /dev/null
+++ b/.docker/buildenv-ubuntu-16.Dockerfile
@@ -0,0 +1,79 @@
+FROM ubuntu:16.04
+ENV PACKAGES augeas-tools \
+             autoconf \
+             automake \
+             autopoint \
+             bash \
+             bash-completion \
+             ccache \
+             chrony \
+             dnsmasq-base \
+             dwarves \
+             ebtables \
+             gcc \
+             gettext \
+             git \
+             glusterfs-client \
+             iproute2 \
+             libacl1-dev \
+             libapparmor-dev \
+             libattr1-dev \
+             libaudit-dev \
+             libavahi-client-dev \
+             libblkid-dev \
+             libc-dev-bin \
+             libc6-dev \
+             libcap-ng-dev \
+             libcurl4-gnutls-dev \
+             libdbus-1-dev \
+             libdevmapper-dev \
+             libfuse-dev \
+             libgnutls28-dev \
+             libnetcf-dev \
+             libnl-3-dev \
+             libnl-route-3-dev \
+             libnuma-dev \
+             libopenwsman-dev \
+             libparted-dev \
+             libpcap-dev \
+             libpciaccess-dev \
+             librbd-dev \
+             libreadline-dev \
+             libsanlock-dev \
+             libsasl2-dev \
+             libselinux1-dev \
+             libssh-dev \
+             libssh2-1-dev \
+             libtirpc-dev \
+             libtool \
+             libtool-bin \
+             libudev-dev \
+             libxen-dev \
+             libxml2-dev \
+             libxml2-utils \
+             libyajl-dev \
+             lvm2 \
+             make \
+             nfs-common \
+             numad \
+             open-iscsi \
+             parted \
+             patch \
+             perl \
+             pkgconf \
+             policykit-1 \
+             qemu-utils \
+             radvd \
+             screen \
+             scrub \
+             sheepdog \
+             sudo \
+             systemtap-sdt-dev \
+             vim \
+             wireshark-dev \
+             xsltproc \
+             zfs-fuse
+RUN apt-get update && \
+    apt-get install -y ${PACKAGES} && \
+    apt-get autoremove -y && \
+    apt-get autoclean -y
diff --git a/.docker/buildenv-ubuntu-18.Dockerfile b/.docker/buildenv-ubuntu-18.Dockerfile
new file mode 100644
index 0000000000..fdf97ebf90
--- /dev/null
+++ b/.docker/buildenv-ubuntu-18.Dockerfile
@@ -0,0 +1,79 @@
+FROM ubuntu:18.04
+ENV PACKAGES augeas-tools \
+             autoconf \
+             automake \
+             autopoint \
+             bash \
+             bash-completion \
+             ccache \
+             chrony \
+             dnsmasq-base \
+             dwarves \
+             ebtables \
+             gcc \
+             gettext \
+             git \
+             glusterfs-client \
+             iproute2 \
+             libacl1-dev \
+             libapparmor-dev \
+             libattr1-dev \
+             libaudit-dev \
+             libavahi-client-dev \
+             libblkid-dev \
+             libc-dev-bin \
+             libc6-dev \
+             libcap-ng-dev \
+             libcurl4-gnutls-dev \
+             libdbus-1-dev \
+             libdevmapper-dev \
+             libfuse-dev \
+             libgnutls28-dev \
+             libnetcf-dev \
+             libnl-3-dev \
+             libnl-route-3-dev \
+             libnuma-dev \
+             libopenwsman-dev \
+             libparted-dev \
+             libpcap-dev \
+             libpciaccess-dev \
+             librbd-dev \
+             libreadline-dev \
+             libsanlock-dev \
+             libsasl2-dev \
+             libselinux1-dev \
+             libssh-dev \
+             libssh2-1-dev \
+             libtirpc-dev \
+             libtool \
+             libtool-bin \
+             libudev-dev \
+             libxen-dev \
+             libxml2-dev \
+             libxml2-utils \
+             libyajl-dev \
+             lvm2 \
+             make \
+             nfs-common \
+             numad \
+             open-iscsi \
+             parted \
+             patch \
+             perl \
+             pkgconf \
+             policykit-1 \
+             qemu-utils \
+             radvd \
+             screen \
+             scrub \
+             sheepdog \
+             sudo \
+             systemtap-sdt-dev \
+             vim \
+             wireshark-dev \
+             xsltproc \
+             zfs-fuse
+RUN apt-get update && \
+    apt-get install -y ${PACKAGES} && \
+    apt-get autoremove -y && \
+    apt-get autoclean -y
-- 
2.17.1




More information about the libvir-list mailing list