blob: 0d55d109b9372de40ce4f134ab41df48d2a3ed7a [file] [log] [blame]
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 until curl -S -s --retry 9 --retry-connrefused --retry-delay 1 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 ; do echo "curl failed… trying again… " ; done
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/