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@xxxxxxxxxx> --- 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 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list