From 7a49258ca7fcaabecf363084ad82f1b33de1cb89 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Wed, 18 Jan 2023 11:46:12 +0100 Subject: [PATCH] debian-buster-jenkins-arm: new image Add a minimal image to use on the raspberry pis, so it doesn't need to spend 1-2 hours building debian-buster-jenkins on the raspberry pis, full of things we don't actually use there. I've verified that osmo-bts, osmo-pcu, osmo-trx build with this image (the only projects which we build on the rpis). Related: OS#5863 Change-Id: I4fb4b48b233acaef815c4c27ec6f17f12cfe836b --- debian-buster-jenkins-arm/Dockerfile | 78 ++++++++++++++++++++++++++++ debian-buster-jenkins-arm/Makefile | 3 ++ 2 files changed, 81 insertions(+) create mode 100644 debian-buster-jenkins-arm/Dockerfile create mode 100644 debian-buster-jenkins-arm/Makefile diff --git a/debian-buster-jenkins-arm/Dockerfile b/debian-buster-jenkins-arm/Dockerfile new file mode 100644 index 00000000..f0d5379d --- /dev/null +++ b/debian-buster-jenkins-arm/Dockerfile @@ -0,0 +1,78 @@ +# Image used to run contrib/jenkins.sh scripts of a few Osmocom projects on +# arm. Keep this image minimal so the rpis don't need forever to build it. +# See master-builds.yml, gerrit-verifications.yml in osmo-ci.git. + +ARG DEBIAN_VERSION=buster-slim +ARG REGISTRY=docker.io +FROM ${REGISTRY}/debian:${DEBIAN_VERSION} +# Arguments used after FROM must be specified again +ARG OSMOCOM_REPO_MIRROR="https://downloads.osmocom.org" +ARG OSMOCOM_REPO_PATH="packages/osmocom:" + +# Install apt dependencies (keep in alphabetic order) +RUN \ + DEBIAN_FRONTEND=noninteractive apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + autoconf \ + automake \ + bzip2 \ + ca-certificates \ + ccache \ + g++ \ + gcc \ + git \ + libboost-dev \ + libboost-filesystem-dev \ + libboost-program-options-dev \ + libboost-thread-dev \ + libfftw3-dev \ + libgnutls28-dev \ + libmnl-dev \ + libortp-dev \ + libpcsclite-dev \ + libsctp-dev \ + libtalloc-dev \ + libtool \ + libusb-1.0-0-dev \ + make \ + pkg-config \ + python3-minimal \ + python3-setuptools \ + sdcc \ + stow \ + && \ + apt-get clean + +# match the outside user +RUN useradd --uid=1000 build + +RUN mkdir /build +RUN chown build:build /build + +# Install osmo-python-tests for python3 +ADD http://git.osmocom.org/python/osmo-python-tests/patch /tmp/osmo-python-tests3-commit +RUN git clone https://gerrit.osmocom.org/python/osmo-python-tests osmo-python-tests3 && \ + cd osmo-python-tests3 && \ + python3 setup.py clean build install + +# Install osmo-ci.git/scripts to /usr/local/bin +ADD http://git.osmocom.org/osmo-ci/patch /tmp/osmo-ci-commit +RUN git clone https://gerrit.osmocom.org/osmo-ci osmo-ci && \ + cp -v $(find osmo-ci/scripts \ + -maxdepth 1 \ + -type f ) \ + /usr/local/bin + +# Install packages from Osmocom OBS repositories: +# * osmo-trx: liblimesuite-dev, libuhd-dev +ARG OSMOCOM_REPO="${OSMOCOM_REPO_MIRROR}/${OSMOCOM_REPO_PATH}/nightly/Debian_10/" +COPY .common/Release.key /etc/apt/trusted.gpg.d/obs.osmocom.org.asc +RUN echo "deb [signed-by=/etc/apt/trusted.gpg.d/obs.osmocom.org.asc] " \ + $OSMOCOM_REPO " ./" > /etc/apt/sources.list.d/osmocom-nightly.list +ADD $OSMOCOM_REPO/Release /tmp/Release +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + liblimesuite-dev \ + libuhd-dev \ + && \ + apt-get clean diff --git a/debian-buster-jenkins-arm/Makefile b/debian-buster-jenkins-arm/Makefile new file mode 100644 index 00000000..ea61ed86 --- /dev/null +++ b/debian-buster-jenkins-arm/Makefile @@ -0,0 +1,3 @@ +UPSTREAM_DISTRO=debian:buster-slim +DISTRO=debian-buster-slim +include ../make/Makefile