| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| FROM centos:7 |
| |
| # Add repo for newer Clang. |
| # We don't use `llvm-toolset-7` due to a `devtoolset-7` bug that we run into |
| # with CMake builds: https://bugzilla.redhat.com/show_bug.cgi?id=1519073 |
| RUN curl -sSL https://copr.fedorainfracloud.org/coprs/alonid/llvm-3.9.0/repo/epel-7/alonid-llvm-3.9.0-epel-7.repo \ |
| -o /etc/yum.repos.d/llvm-3.9.0.repo |
| |
| # Install dependencies. |
| RUN yum groupinstall -y 'Development Tools' && \ |
| yum install -y centos-release-scl && \ |
| yum install -y \ |
| apr-devel \ |
| apr-utils-devel \ |
| clang-3.9.0 \ |
| cyrus-sasl-devel \ |
| cyrus-sasl-md5 \ |
| devtoolset-4-gcc-c++ \ |
| git \ |
| java-1.8.0-openjdk-devel \ |
| libacl-devel \ |
| libcurl-devel \ |
| libevent-devel \ |
| libev-devel \ |
| maven \ |
| openssl-devel \ |
| python-devel \ |
| python-six \ |
| subversion-devel \ |
| which \ |
| zlib-devel && \ |
| yum clean all && \ |
| rm -rf /var/cache/yum |
| |
| # Install newer CMake. |
| RUN curl -sSL https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.sh \ |
| -o /tmp/install-cmake.sh && \ |
| sh /tmp/install-cmake.sh --skip-license --prefix=/usr/local && \ |
| rm -f /tmp/install-cmake.sh |
| |
| ENV PATH /opt/llvm-3.9.0/bin:$PATH |
| |
| # Add an unprivileged user. |
| RUN adduser mesos |
| USER mesos |
| |
| COPY ["enable-devtoolset-4.sh", "/etc/profile.d"] |
| COPY ["entrypoint.sh", "entrypoint.sh"] |
| CMD ["bash", "-cl", "./entrypoint.sh"] |