Add centos7 containers
Related: SYS#5754 Change-Id: Iadf3d0d7143c2d81ea5e87fd07a3f4cd9239cb46
This commit is contained in:
parent
39ae7ed2f3
commit
db275974b8
|
@ -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
|
|
@ -0,0 +1,3 @@
|
|||
UPSTREAM_DISTRO:=centos:centos7
|
||||
DISTRO:=centos7
|
||||
include ../make/Makefile
|
|
@ -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
|
|
@ -0,0 +1,3 @@
|
|||
UPSTREAM_DISTRO:=centos:centos7
|
||||
DISTRO:=centos7
|
||||
include ../make/Makefile
|
|
@ -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$//'
|
||||
|
|
Loading…
Reference in New Issue