Change in docker-playground[master]: Add centos7 containers

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Sat Dec 11 15:16:54 UTC 2021


laforge has submitted this change. ( https://gerrit.osmocom.org/c/docker-playground/+/26497 )

Change subject: Add centos7 containers
......................................................................

Add centos7 containers

Related: SYS#5754
Change-Id: Iadf3d0d7143c2d81ea5e87fd07a3f4cd9239cb46
---
A centos7-build/Dockerfile
A centos7-build/Makefile
A centos7-obs-latest/Dockerfile
A centos7-obs-latest/Makefile
M jenkins-common.sh
5 files changed, 115 insertions(+), 0 deletions(-)

Approvals:
  laforge: Looks good to me, approved; Verified
  fixeria: Looks good to me, but someone else must approve
  pespin: Looks good to me, but someone else must approve



diff --git a/centos7-build/Dockerfile b/centos7-build/Dockerfile
new file mode 100644
index 0000000..2e04efb
--- /dev/null
+++ b/centos7-build/Dockerfile
@@ -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
diff --git a/centos7-build/Makefile b/centos7-build/Makefile
new file mode 100644
index 0000000..f93f5c0
--- /dev/null
+++ b/centos7-build/Makefile
@@ -0,0 +1,3 @@
+UPSTREAM_DISTRO:=centos:centos7
+DISTRO:=centos7
+include ../make/Makefile
diff --git a/centos7-obs-latest/Dockerfile b/centos7-obs-latest/Dockerfile
new file mode 100644
index 0000000..dfe12fc
--- /dev/null
+++ b/centos7-obs-latest/Dockerfile
@@ -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
diff --git a/centos7-obs-latest/Makefile b/centos7-obs-latest/Makefile
new file mode 100644
index 0000000..f93f5c0
--- /dev/null
+++ b/centos7-obs-latest/Makefile
@@ -0,0 +1,3 @@
+UPSTREAM_DISTRO:=centos:centos7
+DISTRO:=centos7
+include ../make/Makefile
diff --git a/jenkins-common.sh b/jenkins-common.sh
index 3511c02..9373076 100644
--- a/jenkins-common.sh
+++ b/jenkins-common.sh
@@ -15,7 +15,9 @@
 		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_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_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 @@
 		# 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$//'

-- 
To view, visit https://gerrit.osmocom.org/c/docker-playground/+/26497
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: docker-playground
Gerrit-Branch: master
Gerrit-Change-Id: Iadf3d0d7143c2d81ea5e87fd07a3f4cd9239cb46
Gerrit-Change-Number: 26497
Gerrit-PatchSet: 3
Gerrit-Owner: osmith <osmith at sysmocom.de>
Gerrit-Reviewer: fixeria <vyanitskiy at sysmocom.de>
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211211/f9997b1a/attachment.htm>


More information about the gerrit-log mailing list