Skip to content
Snippets Groups Projects
Commit b2d4ee88 authored by calrama's avatar calrama
Browse files

centos-7: Refactor&Document

parent 45128dc3
Branches
No related tags found
No related merge requests found
...@@ -4,13 +4,18 @@ FROM centos:7 ...@@ -4,13 +4,18 @@ FROM centos:7
LABEL maintainer="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>" LABEL maintainer="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>"
LABEL authors="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>" LABEL authors="Moritz Maxeiner <moritz.maxeiner@fu-berlin.de>"
# GCC
ENV BASH_ENV "/etc/profile"
RUN yum install -y centos-release-scl && \ RUN yum install -y centos-release-scl && \
yum install -y epel-release && \ yum install -y epel-release && \
yum install -y devtoolset-8 && \
yum clean all
ADD gcc-8.sh /etc/profile.d/gcc-8.sh
ADD ld-library-path.sh /etc/profile.d/ld-library-path.sh
# CMake
RUN version=3.15.5 && \
yum install -y \ yum install -y \
devtoolset-8 \
ninja-build \
bzip2 \
desktop-file-utils \
curl-devel \ curl-devel \
expat-devel \ expat-devel \
zlib-devel \ zlib-devel \
...@@ -20,12 +25,7 @@ RUN yum install -y centos-release-scl && \ ...@@ -20,12 +25,7 @@ RUN yum install -y centos-release-scl && \
rhash-devel \ rhash-devel \
libuv-devel \ libuv-devel \
&& \ && \
ln -s /usr/bin/ninja-build /usr/local/bin/ninja && \ yum clean all && \
yum clean all
ADD gcc-8.sh /etc/profile.d/gcc-8.sh
ENV BASH_ENV "/etc/profile"
RUN version=3.15.5 && \
source /etc/profile && \ source /etc/profile && \
cd /tmp && \ cd /tmp && \
curl -sSLO https://cmake.org/files/v${version%.*}/cmake-${version}.tar.gz && \ curl -sSLO https://cmake.org/files/v${version%.*}/cmake-${version}.tar.gz && \
...@@ -36,12 +36,19 @@ RUN version=3.15.5 && \ ...@@ -36,12 +36,19 @@ RUN version=3.15.5 && \
cd .. && \ cd .. && \
rm -rf cmake-${version}* rm -rf cmake-${version}*
# Ninja
RUN yum install -y ninja-build && \
ln -s /usr/bin/ninja-build /usr/local/bin/ninja && \
yum clean all
# Python 3.6
RUN yum install -y \ RUN yum install -y \
python36-devel \ python36-devel \
python36-numpy \ python36-numpy \
&& \ && \
yum clean all yum clean all
# CUDA
RUN yum install -y dkms && \ RUN yum install -y dkms && \
cd /tmp && \ cd /tmp && \
curl -sSLO https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-10.1.243-1.x86_64.rpm && \ curl -sSLO https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/cuda-repo-rhel7-10.1.243-1.x86_64.rpm && \
...@@ -50,14 +57,16 @@ RUN yum install -y dkms && \ ...@@ -50,14 +57,16 @@ RUN yum install -y dkms && \
yum install -y cuda-10-1 && \ yum install -y cuda-10-1 && \
yum clean all yum clean all
RUN yum install -y \ # FFmpeg
RUN version=4.2.1 && \
yum install -y \
nasm \ nasm \
libass-devel \ libass-devel \
libtheora-devel \ libtheora-devel \
libvorbis-devel \ libvorbis-devel \
freetype-devel freetype-devel \
&& \
RUN version=4.2.1 && \ yum clean all && \
source /etc/profile && \ source /etc/profile && \
cd /tmp && \ cd /tmp && \
curl -sSLO http://ffmpeg.org/releases/ffmpeg-${version}.tar.gz && \ curl -sSLO http://ffmpeg.org/releases/ffmpeg-${version}.tar.gz && \
...@@ -68,7 +77,12 @@ RUN version=4.2.1 && \ ...@@ -68,7 +77,12 @@ RUN version=4.2.1 && \
cd .. && \ cd .. && \
rm -rf ffmpeg-${version}* rm -rf ffmpeg-${version}*
# HDF
RUN version=1.10.5 && \ RUN version=1.10.5 && \
yum install -y \
bzip2 \
&& \
yum clean all && \
source /etc/profile && \ source /etc/profile && \
cd /tmp && \ cd /tmp && \
curl -sSLO https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${version%.*}/hdf5-${version}/src/hdf5-${version}.tar.bz2 && \ curl -sSLO https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${version%.*}/hdf5-${version}/src/hdf5-${version}.tar.bz2 && \
...@@ -81,7 +95,32 @@ RUN version=1.10.5 && \ ...@@ -81,7 +95,32 @@ RUN version=1.10.5 && \
cd .. && \ cd .. && \
rm -rf hdf5-${version}* rm -rf hdf5-${version}*
RUN yum install -y \ # Qt
ENV Qt5_DIR /opt/qt5/5.12.6/gcc_64/lib/cmake/Qt5
ADD qtifwsilent.qs /tmp/qtifwsilent.qs
RUN version=5.12.6 && \
cd /tmp && \
curl -sSLO https://download.qt.io/official_releases/qt/${version%.*}/${version}/qt-opensource-linux-x64-${version}.run && \
chmod +x qt-opensource-linux-x64-${version}.run && \
env QT_INSTALL_DIR=/opt/qt5 ./qt-opensource-linux-x64-${version}.run --script qtifwsilent.qs -platform minimal && \
rm -f qt-opensource-linux-x64-${version}.run && \
rm -f qtifwsilent.qs
# linuxdeployqt
RUN version=6 && \
yum install -y \
desktop-file-utils \
&& \
cd /opt && \
curl -sSLO https://github.com/probonopd/linuxdeployqt/releases/download/${version}/linuxdeployqt-${version}-x86_64.AppImage && \
chmod +x linuxdeployqt-${version}-x86_64.AppImage && \
./linuxdeployqt-${version}-x86_64.AppImage --appimage-extract && \
mv squashfs-root linuxdeployqt-${version} && \
ln -s /opt/linuxdeployqt-${version}/AppRun /usr/local/bin/linuxdeployqt
# OpenCV
RUN version=3.4.8 && \
yum install -y \
libpng-devel \ libpng-devel \
jasper-devel \ jasper-devel \
openexr-devel \ openexr-devel \
...@@ -101,27 +140,8 @@ RUN yum install -y \ ...@@ -101,27 +140,8 @@ RUN yum install -y \
gstreamer-plugins-base-devel \ gstreamer-plugins-base-devel \
tesseract-devel \ tesseract-devel \
harfbuzz-devel \ harfbuzz-devel \
&& \ && \
yum clean all yum clean all && \
ENV Qt5_DIR /opt/qt5/5.12.6/gcc_64/lib/cmake/Qt5
ADD qtifwsilent.qs /tmp/qtifwsilent.qs
RUN version=5.12.6 && \
cd /tmp && \
curl -sSLO https://download.qt.io/official_releases/qt/${version%.*}/${version}/qt-opensource-linux-x64-${version}.run && \
chmod +x qt-opensource-linux-x64-${version}.run && \
env QT_INSTALL_DIR=/opt/qt5 ./qt-opensource-linux-x64-${version}.run --script qtifwsilent.qs -platform minimal && \
rm -f qt-opensource-linux-x64-${version}.run && \
rm -f qtifwsilent.qs && \
version=6 && \
cd /opt && \
curl -sSLO https://github.com/probonopd/linuxdeployqt/releases/download/${version}/linuxdeployqt-${version}-x86_64.AppImage && \
chmod +x linuxdeployqt-${version}-x86_64.AppImage && \
./linuxdeployqt-${version}-x86_64.AppImage --appimage-extract && \
mv squashfs-root linuxdeployqt-${version} && \
ln -s /opt/linuxdeployqt-${version}/AppRun /usr/local/bin/linuxdeployqt
RUN version=3.4.8 && \
source /etc/profile && \ source /etc/profile && \
cd /tmp && \ cd /tmp && \
curl -sSL -o opencv-${version}.zip https://github.com/opencv/opencv/archive/${version}.zip && \ curl -sSL -o opencv-${version}.zip https://github.com/opencv/opencv/archive/${version}.zip && \
...@@ -171,6 +191,7 @@ RUN version=3.4.8 && \ ...@@ -171,6 +191,7 @@ RUN version=3.4.8 && \
&& \ && \
ninja -C build install ninja -C build install
# MXNet
ENV MXNet_DIR /opt/mxnet-3.5.1 ENV MXNet_DIR /opt/mxnet-3.5.1
RUN version=1.5.1 && \ RUN version=1.5.1 && \
source /etc/profile && \ source /etc/profile && \
...@@ -196,6 +217,7 @@ RUN version=1.5.1 && \ ...@@ -196,6 +217,7 @@ RUN version=1.5.1 && \
&& \ && \
ninja -C build ninja -C build
# pybind11
RUN version=2.3.0 && \ RUN version=2.3.0 && \
source /etc/profile && \ source /etc/profile && \
cd /tmp && \ cd /tmp && \
...@@ -210,6 +232,7 @@ RUN version=2.3.0 && \ ...@@ -210,6 +232,7 @@ RUN version=2.3.0 && \
cd .. && \ cd .. && \
rm -rf pybind11-${version}* rm -rf pybind11-${version}*
# rpclib
RUN version=2.2.1 && \ RUN version=2.2.1 && \
source /etc/profile && \ source /etc/profile && \
cd /tmp && \ cd /tmp && \
...@@ -223,13 +246,13 @@ RUN version=2.2.1 && \ ...@@ -223,13 +246,13 @@ RUN version=2.2.1 && \
cd .. && \ cd .. && \
rm -rf rpclib-${version}* rm -rf rpclib-${version}*
RUN yum install -y \ # Python 3.7
RUN version=3.7.5 && \
yum install -y \
openssl-devel \ openssl-devel \
libffi-devel \ libffi-devel \
&& \ && \
yum clean all yum clean all && \
RUN version=3.7.5 && \
source /etc/profile && \ source /etc/profile && \
cd /tmp && \ cd /tmp && \
curl -sSLO https://www.python.org/ftp/python/${version}/Python-${version}.tgz && \ curl -sSLO https://www.python.org/ftp/python/${version}/Python-${version}.tgz && \
...@@ -248,11 +271,11 @@ RUN version=3.7.5 && \ ...@@ -248,11 +271,11 @@ RUN version=3.7.5 && \
rm -rf Pyhon-${version}* && \ rm -rf Pyhon-${version}* && \
ldconfig ldconfig
# SSL access to custom pypiserver
ADD agki-nas01.imp.fu-berlin.de-ca-cert.crt /etc/pki/ca-trust/source/anchors/agki-nas01.imp.fu-berlin.de-ca-cert.crt ADD agki-nas01.imp.fu-berlin.de-ca-cert.crt /etc/pki/ca-trust/source/anchors/agki-nas01.imp.fu-berlin.de-ca-cert.crt
RUN update-ca-trust RUN update-ca-trust
ADD ld-library-path.sh /etc/profile.d/ld-library-path.sh # Potential runtime dependencies for AppImages
RUN yum install -y \ RUN yum install -y \
libxkbcommon-x11 \ libxkbcommon-x11 \
&& \ && \
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment