Add centos7 containers

Related: SYS#5754
Change-Id: Iadf3d0d7143c2d81ea5e87fd07a3f4cd9239cb46
This commit is contained in:
Oliver Smith 2021-12-10 11:39:28 +01:00 committed by laforge
parent 39ae7ed2f3
commit db275974b8
5 changed files with 115 additions and 0 deletions

65
centos7-build/Dockerfile Normal file
View File

@ -0,0 +1,65 @@
ARG REGISTRY=docker.io
ARG UPSTREAM_DISTRO=centos:centos7
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:"
# Use dnf package manager instead of yum, so we can use all the dnf codepaths
# that were originally written for CentOS8 in this CentOS7 image too
RUN yum install -y dnf
# 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
# Set up Osmocom OBS repository
RUN export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_MIRROR | sed s/^http:/https:/)" && \
{ echo "[network_osmocom_nightly]"; \
echo "name=Nightly packages of the Osmocom project (CentOS_7)"; \
echo "type=rpm-md"; \
echo "baseurl=${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/CentOS_7/"; \
echo "gpgcheck=1"; \
echo "gpgkey=${MIRROR_HTTPS}/${OSMOCOM_REPO_PATH}/nightly/CentOS_7/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 \
doxygen \
fftw-devel \
flex \
gawk \
gcc \
gcc-c++ \
git \
gnupg \
gnutls-devel \
gsm-devel \
libdbi-dbd-sqlite \
libdbi-devel \
libpcap-devel \
libtalloc-devel \
libtool \
libusb1-devel \
lksctp-tools-devel \
make \
ncurses-devel \
openssl-devel \
ortp-devel \
pcsc-lite-devel \
pkgconfig \
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_7/repodata/repomd.xml /tmp/repomd.xml

3
centos7-build/Makefile Normal file
View File

@ -0,0 +1,3 @@
UPSTREAM_DISTRO:=centos:centos7
DISTRO:=centos7
include ../make/Makefile

View File

@ -0,0 +1,34 @@
ARG REGISTRY=docker.io
ARG UPSTREAM_DISTRO=centos:centos7
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:"
ARG OSMOCOM_REPO_VERSION="latest"
# Use dnf package manager instead of yum, so we can use all the dnf codepaths
# that were originally written for CentOS8 in this CentOS7 image too
RUN yum install -y dnf
# 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
# Set up Osmocom OBS repository
RUN export MIRROR_HTTPS="$(echo $OSMOCOM_REPO_MIRROR | sed s/^http:/https:/)" && \
{ echo "[network_osmocom_${OSMOCOM_REPO_VERSION}]"; \
echo "name=Osmocom ${OSMOCOM_REPO_VERSION}"; \
echo "type=rpm-md"; \
echo "baseurl=${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION}/CentOS_7/"; \
echo "gpgcheck=1"; \
echo "gpgkey=${MIRROR_HTTPS}/${OSMOCOM_REPO_PATH}/${OSMOCOM_REPO_VERSION}/CentOS_7/repodata/repomd.xml.key"; \
echo "enabled=1"; \
} > "/etc/yum.repos.d/network:osmocom:${OSMOCOM_REPO_VERSION}.repo"
RUN dnf install -y \
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}/${OSMOCOM_REPO_VERSION}/CentOS_7/repodata/repomd.xml /tmp/repomd.xml

View File

@ -0,0 +1,3 @@
UPSTREAM_DISTRO:=centos:centos7
DISTRO:=centos7
include ../make/Makefile

View File

@ -15,7 +15,9 @@ docker_depends() {
feed="$(echo "$feed" | sed 's/\-centos8$//')" # e.g. "2021q1"
echo "centos8-obs-$feed"
;;
osmo-*-latest-centos7) echo "centos7-obs-latest" ;;
osmo-*-latest-centos8) echo "centos8-obs-latest" ;;
osmo-*-centos7) echo "centos7-build" ;;
osmo-*-centos8) echo "centos8-build" ;;
osmo-*-latest) echo "debian-stretch-obs-latest" ;;
osmo-*) echo "debian-stretch-build" ;;
@ -25,7 +27,9 @@ docker_depends() {
docker_distro_from_image_name() {
case "$1" in
osmo-*-centos7) echo "centos7" ;;
osmo-*-centos8) echo "centos8" ;;
centos7-*) echo "centos7" ;;
centos8-*) echo "centos8" ;;
*) echo "debian-stretch" ;;
esac
@ -33,7 +37,9 @@ docker_distro_from_image_name() {
docker_upstream_distro_from_image_name() {
case "$1" in
osmo-*-centos7) echo "centos:centos7"; ;;
osmo-*-centos8) echo "centos:centos8"; ;;
centos7-*) echo "centos:centos7" ;;
centos8-*) echo "centos:centos8" ;;
debian10-*) echo "debian:buster" ;;
*) echo "debian:stretch" ;;
@ -46,6 +52,10 @@ docker_dir_from_image_name() {
# e.g. osmo-mgw-2021q1-centos8 -> osmo-mgw-latest
echo "$1" | sed 's/20[0-9][0-9]q.*\-centos8$/latest/'
;;
osmo-*-centos7)
# e.g. osmo-mgw-latest-centos7 -> osmo-mgw-latest
echo "$1" | sed 's/\-centos7$//'
;;
osmo-*-centos8)
# e.g. osmo-mgw-latest-centos8 -> osmo-mgw-latest
echo "$1" | sed 's/\-centos8$//'