| FROM centos:8.3.2011 |
| |
| ENV BUILD_HOME=/home/build |
| ENV RPM_BUILD_DIR=$BUILD_HOME/rpmbuild |
| ENV RPM_DIST_DIR=/dist |
| ENV CASSANDRA_DIR=$BUILD_HOME/cassandra |
| |
| LABEL org.cassandra.buildenv=centos |
| |
| VOLUME ${RPM_DIST_DIR} |
| |
| # install deps |
| RUN yum -y install \ |
| ant \ |
| git \ |
| java-1.8.0-openjdk-devel \ |
| java-11-openjdk-devel \ |
| make \ |
| rpm-build \ |
| sudo \ |
| python3-pip |
| |
| RUN curl http://mirror.centos.org/centos/7/os/x86_64/Packages/ant-junit-1.9.4-2.el7.noarch.rpm -o ant-junit-1.9.4-2.el7.noarch.rpm |
| |
| RUN rpm -i --nodeps ant-junit-1.9.4-2.el7.noarch.rpm |
| |
| RUN pip3 install --upgrade pip |
| |
| # install Sphinx to generate docs |
| RUN pip3 install \ |
| Sphinx \ |
| sphinx_rtd_theme |
| |
| # create and change to build user |
| RUN adduser build |
| RUN echo "build ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/build && \ |
| chmod 0440 /etc/sudoers.d/build |
| |
| USER build |
| |
| RUN mkdir -p $RPM_BUILD_DIR/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} |
| |
| # Clone Cassandra and cache maven artifacts |
| ARG CASSANDRA_GIT_URL=https://github.com/apache/cassandra.git |
| RUN git clone ${CASSANDRA_GIT_URL} ${CASSANDRA_DIR} |
| WORKDIR $CASSANDRA_DIR |
| |
| COPY build-rpms.sh $BUILD_HOME/ |