docker-playground/centos8-build/Dockerfile

66 lines
1.9 KiB
Docker

ARG REGISTRY=docker.io
ARG UPSTREAM_DISTRO=almalinux:8
FROM ${REGISTRY}/${UPSTREAM_DISTRO}
# Arguments used after FROM must be specified again
ARG OSMOCOM_REPO_MIRROR="http://download.opensuse.org"
ARG OSMOCOM_REPO_PATH="repositories/network:/osmocom:"
# Let package metadata expire after 60 seconds instead of 48 hours
RUN echo "metadata_expire=60" >> /etc/dnf/dnf.conf && cat /etc/dnf/dnf.conf
# Make additional development libraries available from PowerTools and Osmocom nightly (e.g. libdbi)
RUN dnf install -y dnf-utils wget && \
yum config-manager --set-enabled powertools && \
export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_MIRROR | sed s/^http:/https:/)" && \
{ echo "[network_osmocom_nightly]"; \
echo "name=Nightly packages of the Osmocom project (CentOS_8)"; \
echo "type=rpm-md"; \
echo "baseurl=${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/CentOS_8/"; \
echo "gpgcheck=1"; \
echo "gpgkey=${MIRROR_HTTPS}/${OSMOCOM_REPO_PATH}/nightly/CentOS_8/repodata/repomd.xml.key"; \
echo "enabled=1"; \
} > /etc/yum.repos.d/network:osmocom:nightly.repo
RUN dnf install -y \
autoconf \
autoconf-archive \
autogen \
automake \
bison \
c-ares-devel \
cppcheck \
doxygen \
fftw-devel \
flex \
gawk \
gcc \
gcc-c++ \
git \
gnupg \
gnutls-devel \
gsm-devel \
libdbi-dbd-sqlite \
libdbi-devel \
libpcap-devel \
libsofia-sip-ua-glib3 \
libtalloc-devel \
libtool \
libusb1-devel \
lksctp-tools-devel \
make \
ncurses-devel \
openssl-devel \
ortp-devel \
pcsc-lite-devel \
pkg-config \
readline-devel \
sqlite \
sqlite-devel \
telnet
# Make respawn.sh part of this image, so it can be used by other images based on it
COPY .common/respawn.sh /usr/local/bin/respawn.sh
# Invalidate cache once the repository is updated
ADD ${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/CentOS_8/repodata/repomd.xml /tmp/repomd.xml