diff --git a/.travis.yml b/.travis.yml index 6c1e7a1..474df7c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,9 @@ language: c services: docker os: -- linux-ppc64le +- linux +arch: +- ppc64le sudo: false env: diff --git a/alpine/3.11/Dockerfile b/alpine/3.11/Dockerfile new file mode 100644 index 0000000..f0b1842 --- /dev/null +++ b/alpine/3.11/Dockerfile @@ -0,0 +1,6 @@ +FROM alpine:3.11 +MAINTAINER Konstantin Nazarov + +RUN set -x \ + && apk add --no-cache su-exec make git tar xz alpine-sdk sudo \ + && sed -i.bak -n -e '/^Defaults.*requiretty/ { s/^/# /;};/^%wheel.*ALL$/ { s/^/# / ;} ;/^#.*wheel.*NOPASSWD/ { s/^#[ ]*//;};p' /etc/sudoers diff --git a/centos/7/Dockerfile b/centos/7/Dockerfile index 339c996..de28261 100644 --- a/centos/7/Dockerfile +++ b/centos/7/Dockerfile @@ -1,6 +1,8 @@ FROM centos:7 MAINTAINER Roman Tsisyk +ARG DEVTOOLSET=devtoolset-8 + # Fix missing locales ENV LC_ALL="en_US.UTF-8" LANG="en_US.UTF-8" @@ -15,7 +17,7 @@ RUN yum -y install epel-release centos-release-scl centos-release-scl-rh # Install base toolset RUN yum -y groupinstall 'Development Tools' RUN yum -y install \ - devtoolset-6-toolchain devtoolset-6-binutils-devel \ + ${DEVTOOLSET}-toolchain ${DEVTOOLSET}-binutils-devel \ cmake cmake28 cmake3 \ sudo @@ -23,16 +25,36 @@ RUN yum -y install \ RUN sed -i.bak -n -e '/^Defaults.*requiretty/ { s/^/# /;};/^%wheel.*ALL$/ { s/^/# / ;} ;/^#.*wheel.*NOPASSWD/ { s/^#[ ]*//;};p' /etc/sudoers # Enable devtoolset and ccache system-wide -# See /opt/rh/devtoolset-6/enable -ENV PATH=/usr/lib64/ccache:/opt/rh/devtoolset-6/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin -ENV LD_LIBRARY_PATH=/opt/rh/devtoolset-6/root/usr/lib64:/opt/rh/devtoolset-6/root/usr/lib -ENV PERL5LIB=/opt/rh/devtoolset-6/root//usr/lib64/perl5/vendor_perl:/opt/rh/devtoolset-6/root/usr/lib/perl5:/opt/rh/devtoolset-6/root//usr/share/perl5/vendor_perl -ENV PYTHONPATH=/opt/rh/devtoolset-6/root/usr/lib64/python2.7/site-packages:/opt/rh/devtoolset-6/root/usr/lib/python2.7/site-packages -ENV XDG_CONFIG_DIRS=/opt/rh/devtoolset-6/root/etc/xdg:/etc/xdg -ENV XDG_DATA_DIRS=/opt/rh/devtoolset-6/root/usr/share:/usr/local/share:/usr/share +# See /opt/rh/${DEVTOOLSET}/enable +ENV PATH=/usr/lib64/ccache:/opt/rh/${DEVTOOLSET}/root/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +ENV LD_LIBRARY_PATH=/opt/rh/${DEVTOOLSET}/root/usr/lib64:/opt/rh/${DEVTOOLSET}/root/usr/lib +ENV PERL5LIB=/opt/rh/${DEVTOOLSET}/root/usr/lib64/perl5/vendor_perl:/opt/rh/${DEVTOOLSET}/root/usr/lib/perl5:/opt/rh/${DEVTOOLSET}/root/usr/share/perl5/vendor_perl +ENV PYTHONPATH=/opt/rh/${DEVTOOLSET}/root/usr/lib64/python2.7/site-packages:/opt/rh/${DEVTOOLSET}/root/usr/lib/python2.7/site-packages +ENV XDG_CONFIG_DIRS=/opt/rh/${DEVTOOLSET}/root/etc/xdg:/etc/xdg +ENV XDG_DATA_DIRS=/opt/rh/${DEVTOOLSET}/root/usr/share:/usr/local/share:/usr/share + # sudo wrapper from devtoolset is buggy, remove it -RUN rm -f /opt/rh/devtoolset-6/root/usr/bin/sudo +RUN rm -f /opt/rh/${DEVTOOLSET}/root/usr/bin/sudo # A workaround for [Errno 14] HTTP Error 404 - Not Found # https://bugs.centos.org/view.php?id=12793 -RUN rm -rf /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo +RUN sed -e '/\[centos-sclo-sclo-source\]/,+6d' -i /etc/yum.repos.d/CentOS-SCLo-scl.repo +RUN sed -e '/\[centos-sclo-rh-source\]/,+6d' -i /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo + +# extras-source is not present for CentOS 7.8, while +# http://vault.centos.org/centos/7 now points to 7.8.2003. +# +# yum-builddep enables the repository and fetching of +# repomd.xml fails with 404 error. +# +# Don't know whether it is temporary effect or not, but +# it worth to remove the repository until it will be +# available on CentOS mirrors. +# +# How to check: +# +# $ curl -fSs 'http://vault.centos.org/centos/7/extras/Source/repodata/repomd.xml' +# curl: (22) The requested URL returned error: 404 Not Found +# +# The output above means that the problem is there. +RUN sed -e '/\[extras-source\]/,+6d' -i /etc/yum.repos.d/CentOS-Sources.repo diff --git a/centos/8/Dockerfile b/centos/8/Dockerfile new file mode 100644 index 0000000..4775604 --- /dev/null +++ b/centos/8/Dockerfile @@ -0,0 +1,25 @@ +FROM centos:8 +MAINTAINER Alexander V. Tikhonov + +# Enable extra tools +RUN yum -y install wget yum-utils + +# Enable extra repositories +RUN yum -y install epel-release +# added PowerTools as suggested at: +# https://fedoraproject.org/wiki/EPEL +RUN yum config-manager --set-enabled PowerTools + +# Repository for building/testing dependencies that are not present in vanilla +# CentOS and PowerTools / EPEL repositories, e.g. some Python 2 packages +# - fix missing locales +ENV LC_ALL="C" LANG="en_US.UTF-8" + +# Install base toolset +RUN yum -y groupinstall 'Development Tools' +RUN yum -y install \ + cmake \ + sudo + +# Enable sudo without tty +RUN sed -i.bak -n -e '/^Defaults.*requiretty/ { s/^/# /;};/^%wheel.*ALL$/ { s/^/# / ;} ;/^#.*wheel.*NOPASSWD/ { s/^#[ ]*//;};p' /etc/sudoers diff --git a/debian/buster/Dockerfile b/debian/buster/Dockerfile new file mode 100644 index 0000000..a40684b --- /dev/null +++ b/debian/buster/Dockerfile @@ -0,0 +1,39 @@ +FROM debian:buster +MAINTAINER Alexey Kopytov + +# Fix missing locales +ENV LC_ALL="C.UTF-8" LANG="C.UTF-8" + +# Skip interactive post-install scripts +ENV DEBIAN_FRONTEND=noninteractive + +# Don't install recommends +RUN echo 'apt::install-recommends "false";' > /etc/apt/apt.conf.d/00recommends + +RUN apt-get update && apt-get install -y --force-yes \ + apt-transport-https \ + curl \ + wget \ + gnupg \ + ca-certificates + +# Install base toolset +RUN apt-get update && apt-get install -y --force-yes \ + sudo \ + git \ + build-essential \ + cmake \ + gdb \ + ccache \ + devscripts \ + debhelper \ + cdbs \ + fakeroot \ + lintian \ + equivs \ + rpm \ + alien \ + dh-systemd + +# Enable sudo without password +RUN echo '%adm ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers diff --git a/debian/jessie/backports.list b/debian/jessie/backports.list deleted file mode 100644 index bbf22b0..0000000 --- a/debian/jessie/backports.list +++ /dev/null @@ -1,2 +0,0 @@ -deb http://ftp.debian.org/debian jessie-backports main -deb-src http://ftp.debian.org/debian jessie-backports main diff --git a/debian/jessie/preferences b/debian/jessie/preferences deleted file mode 100644 index 28a3d50..0000000 --- a/debian/jessie/preferences +++ /dev/null @@ -1,7 +0,0 @@ -Package: * -Pin: release a=jessie-backports -Pin-Priority: 100 - -Package: cmake cmake-data -Pin: release a=jessie-backports -Pin-Priority: 800 diff --git a/debian/wheezy/sources.list b/debian/wheezy/sources.list new file mode 100644 index 0000000..18c86e1 --- /dev/null +++ b/debian/wheezy/sources.list @@ -0,0 +1,2 @@ +deb http://archive.debian.org/debian wheezy main +deb http://archive.debian.org/debian-security wheezy/updates main diff --git a/fedora/29/Dockerfile b/fedora/29/Dockerfile new file mode 100644 index 0000000..553a58b --- /dev/null +++ b/fedora/29/Dockerfile @@ -0,0 +1,18 @@ +FROM fedora:29 +MAINTAINER Alexey Kopytov + +# Fix missing locales +ENV LC_ALL="C.UTF-8" LANG="C.UTF-8" + +# Install base toolset +RUN dnf -y group install 'Development Tools' +RUN dnf -y group install 'C Development Tools and Libraries' +RUN dnf -y group install 'RPM Development Tools' +RUN dnf -y install fedora-packager +RUN dnf -y install sudo git ccache cmake + +# Enable cache system-wide +ENV PATH /usr/lib/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin + +# Enable sudo without tty +RUN sed -i.bak -n -e '/^Defaults.*requiretty/ { s/^/# /;};/^%wheel.*ALL$/ { s/^/# / ;} ;/^#.*wheel.*NOPASSWD/ { s/^#[ ]*//;};p' /etc/sudoers diff --git a/fedora/30/Dockerfile b/fedora/30/Dockerfile new file mode 100644 index 0000000..f2ce314 --- /dev/null +++ b/fedora/30/Dockerfile @@ -0,0 +1,18 @@ +FROM fedora:30 +MAINTAINER Alexander Turenko + +# Fix missing locales +ENV LC_ALL="C.UTF-8" LANG="C.UTF-8" + +# Install base toolset +RUN dnf -y group install 'Development Tools' +RUN dnf -y group install 'C Development Tools and Libraries' +RUN dnf -y group install 'RPM Development Tools' +RUN dnf -y install fedora-packager +RUN dnf -y install sudo git ccache cmake + +# Enable cache system-wide +ENV PATH /usr/lib/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin + +# Enable sudo without tty +RUN sed -i.bak -n -e '/^Defaults.*requiretty/ { s/^/# /;};/^%wheel.*ALL$/ { s/^/# / ;} ;/^#.*wheel.*NOPASSWD/ { s/^#[ ]*//;};p' /etc/sudoers diff --git a/fedora/31/Dockerfile b/fedora/31/Dockerfile new file mode 100644 index 0000000..bf0e033 --- /dev/null +++ b/fedora/31/Dockerfile @@ -0,0 +1,21 @@ +FROM fedora:31 +MAINTAINER Alexey Kopytov + +# Fix missing locales +ENV LC_ALL="C.UTF-8" LANG="C.UTF-8" + +# Install base toolset +RUN dnf -y group install 'Development Tools' +RUN dnf -y group install 'C Development Tools and Libraries' +RUN dnf -y group install 'RPM Development Tools' +RUN dnf -y install fedora-packager +RUN dnf -y install sudo git ccache cmake + +# Setup backport repository for python2 packages +RUN curl -s https://packagecloud.io/install/repositories/packpack/backports/script.rpm.sh | bash + +# Enable cache system-wide +ENV PATH /usr/lib/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin + +# Enable sudo without tty +RUN sed -i.bak -n -e '/^Defaults.*requiretty/ { s/^/# /;};/^%wheel.*ALL$/ { s/^/# / ;} ;/^#.*wheel.*NOPASSWD/ { s/^#[ ]*//;};p' /etc/sudoers diff --git a/fedora/32/Dockerfile b/fedora/32/Dockerfile new file mode 100644 index 0000000..abca419 --- /dev/null +++ b/fedora/32/Dockerfile @@ -0,0 +1,21 @@ +FROM fedora:32 +MAINTAINER Alexander V. Tikhonov + +# Fix missing locales +ENV LC_ALL="C.UTF-8" LANG="C.UTF-8" + +# Install base toolset +RUN dnf -y group install 'Development Tools' +RUN dnf -y group install 'C Development Tools and Libraries' +RUN dnf -y group install 'RPM Development Tools' +RUN dnf -y install fedora-packager +RUN dnf -y install sudo git ccache cmake + +# Setup backport repository for python2 packages +RUN curl -s https://packagecloud.io/install/repositories/packpack/backports/script.rpm.sh | bash + +# Enable cache system-wide +ENV PATH /usr/lib/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin + +# Enable sudo without tty +RUN sed -i.bak -n -e '/^Defaults.*requiretty/ { s/^/# /;};/^%wheel.*ALL$/ { s/^/# / ;} ;/^#.*wheel.*NOPASSWD/ { s/^#[ ]*//;};p' /etc/sudoers diff --git a/fedora/rawhide/Dockerfile b/fedora/rawhide/Dockerfile index c92a4b2..8732873 100644 --- a/fedora/rawhide/Dockerfile +++ b/fedora/rawhide/Dockerfile @@ -4,18 +4,6 @@ MAINTAINER Roman Tsisyk # Fix missing locales ENV LC_ALL="C.UTF-8" LANG="C.UTF-8" -# Upgrade Python3, so this does not happen: -# https://bugzilla.redhat.com/show_bug.cgi?id=1435135 -RUN dnf -y upgrade python3 - -# Enable extra repositories -RUN dnf -y install \ - wget \ - curl \ - pygpgme \ - yum-utils -#RUN curl -s https://packagecloud.io/install/repositories/packpack/backports/script.rpm.sh | bash - # Install base toolset RUN dnf -y group install 'Development Tools' RUN dnf -y group install 'C Development Tools and Libraries' @@ -23,6 +11,13 @@ RUN dnf -y group install 'RPM Development Tools' RUN dnf -y install fedora-packager RUN dnf -y install sudo git ccache cmake +# The script from packagecloud.io detects the OS as fedora/32 and +# reports that it does not support this operating system. +# Commented this out so. +# +# Setup backport repository for python2 packages +# RUN curl -s https://packagecloud.io/install/repositories/packpack/backports/script.rpm.sh | bash + # Enable cache system-wide ENV PATH /usr/lib/ccache:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin diff --git a/opensuse/leap/15.0/Dockerfile b/opensuse/leap/15.0/Dockerfile new file mode 100644 index 0000000..4281676 --- /dev/null +++ b/opensuse/leap/15.0/Dockerfile @@ -0,0 +1,24 @@ +FROM opensuse/leap:15.0 +MAINTAINER Alexander V. Tikhonov + +# Install base toolset +RUN zypper install -y \ + autoconf \ + ccache \ + cmake \ + curl \ + devscripts \ + dnf \ + fakeroot \ + gdb \ + git \ + lsb-release \ + rpm-build \ + sudo \ + tar \ + wget \ + xz \ + yum-utils + +# Enable sudo without password +RUN echo '%users ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers diff --git a/opensuse/leap/15.1/Dockerfile b/opensuse/leap/15.1/Dockerfile new file mode 100644 index 0000000..0571705 --- /dev/null +++ b/opensuse/leap/15.1/Dockerfile @@ -0,0 +1,24 @@ +FROM opensuse/leap:15.1 +MAINTAINER Alexander V. Tikhonov + +# Install base toolset +RUN zypper install -y \ + autoconf \ + ccache \ + cmake \ + curl \ + devscripts \ + dnf \ + fakeroot \ + gdb \ + git \ + lsb-release \ + rpm-build \ + sudo \ + tar \ + wget \ + xz \ + yum-utils + +# Enable sudo without password +RUN echo '%users ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers diff --git a/opensuse/leap/15.2/Dockerfile b/opensuse/leap/15.2/Dockerfile new file mode 100644 index 0000000..823417c --- /dev/null +++ b/opensuse/leap/15.2/Dockerfile @@ -0,0 +1,24 @@ +FROM opensuse/leap:15.2 +MAINTAINER Alexander V. Tikhonov + +# Install base toolset +RUN zypper install -y \ + autoconf \ + ccache \ + cmake \ + curl \ + devscripts \ + dnf \ + fakeroot \ + gdb \ + git \ + lsb-release \ + rpm-build \ + sudo \ + tar \ + wget \ + xz \ + yum-utils + +# Enable sudo without password +RUN echo '%users ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers diff --git a/debian/jessie/Dockerfile b/ubuntu/eoan/Dockerfile similarity index 73% rename from debian/jessie/Dockerfile rename to ubuntu/eoan/Dockerfile index 970fc25..9ff16f3 100644 --- a/debian/jessie/Dockerfile +++ b/ubuntu/eoan/Dockerfile @@ -1,5 +1,5 @@ -FROM debian:jessie -MAINTAINER Roman Tsisyk +FROM ubuntu:eoan +MAINTAINER Alexey Kopytov # Fix missing locales ENV LC_ALL="C.UTF-8" LANG="C.UTF-8" @@ -16,10 +16,8 @@ RUN apt-get update && apt-get install -y --force-yes \ curl \ wget \ gnupg \ - ca-certificates -ADD backports.list /etc/apt/sources.list.d/ -ADD preferences /etc/apt/preferences.d/ -RUN curl -s https://packagecloud.io/install/repositories/packpack/backports/script.deb.sh | bash + ca-certificates \ + software-properties-common # Install base toolset RUN apt-get update && apt-get install -y --force-yes \ diff --git a/ubuntu/focal/Dockerfile b/ubuntu/focal/Dockerfile new file mode 100644 index 0000000..830688b --- /dev/null +++ b/ubuntu/focal/Dockerfile @@ -0,0 +1,41 @@ +FROM ubuntu:focal +MAINTAINER Alexey Kopytov + +# Fix missing locales +ENV LC_ALL="C.UTF-8" LANG="C.UTF-8" + +# Skip interactive post-install scripts +ENV DEBIAN_FRONTEND=noninteractive + +# Don't install recommends +RUN echo 'apt::install-recommends "false";' > /etc/apt/apt.conf.d/00recommends + +# Enable extra repositories +RUN apt-get update && apt-get install -y --force-yes \ + apt-transport-https \ + curl \ + wget \ + gnupg \ + ca-certificates \ + software-properties-common + +# Install base toolset +RUN apt-get update && apt-get install -y --force-yes \ + sudo \ + git \ + build-essential \ + cmake \ + gdb \ + ccache \ + devscripts \ + debhelper \ + cdbs \ + fakeroot \ + lintian \ + equivs \ + rpm \ + alien \ + dh-systemd + +# Enable sudo without password +RUN echo '%adm ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers