summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2019-09-20 10:43:03 +0200
committerOliver Smith <osmith@sysmocom.de>2019-09-24 08:04:53 +0200
commita8153577fec40c83193dddc69a0adc829dd57c7e (patch)
tree9eee5cd2cbf547165719fc1ea4be2f40b58554f3
parenta5fb5484ae20c96ebf3bc1443149c62f834f5e09 (diff)
gerrit, master builds: use stretch, not jessie
Debian jessie (8) is EOL already, so switch to stretch (9). This is required to build all Osmocom projects in docker, because at least libosmocore fails to build with the old image (tests won't build with GCC-4.9.x from jessie unless -Werror is disabled). Do not build the jessie image anymore, and update the shared dockerfile. Remove everything jessie specific, and make it work with stretch by installing asciidoc-dblatex. Otherwise we get this error when building manuals: a2x: ERROR: missing configuration file: /etc/asciidoc/dblatex/asciidoc-dblatex.xsl Add '--cap-add SYS_PTRACE' argument to the docker run command, because otherwise the address sanitizer isn't working anymore with stretch (which makes the OsmoPCU tests fail). I've tried to split this patch up into multiple ones, but since there is no asciidoc-dblatex package in jessie, we must add the dependency and switch the image at the same time. Related: OS#3726 Change-Id: I61fe93863d5367e3b9c01ab4726bb95bd16d891d
-rw-r--r--docker/Dockerfile_osmocom_jenkins.amd649
-rwxr-xr-xdocker/rebuild_osmocom_jenkins_image.sh3
-rw-r--r--jobs/gerrit-verifications.yml4
-rw-r--r--jobs/master-builds.yml4
4 files changed, 11 insertions, 9 deletions
diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64
index 3f499ad..897db15 100644
--- a/docker/Dockerfile_osmocom_jenkins.amd64
+++ b/docker/Dockerfile_osmocom_jenkins.amd64
@@ -1,10 +1,9 @@
-ARG DEBIAN_VERSION=jessie
+ARG DEBIAN_VERSION=stretch
FROM debian:${DEBIAN_VERSION}
RUN \
- echo "deb http://archive.debian.org/debian jessie-backports main" >> /etc/apt/sources.list && \
dpkg --add-architecture i386 && \
- DEBIAN_FRONTEND=noninteractive apt-get -o Acquire::Check-Valid-Until=false update && \
+ DEBIAN_FRONTEND=noninteractive apt-get update && \
DEBIAN_FRONTEND=noninteractive apt-get upgrade -y && \
DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends wget make
@@ -29,7 +28,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends fl
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libortp-dev libpcsclite-dev libsctp-dev libfftw3-dev libsnmp-dev libusb-1.0-0-dev libtalloc-dev libgnutls28-dev
# OsmocomBB
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gcc-arm-none-eabi liblua5.3-dev/jessie-backports
+RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gcc-arm-none-eabi liblua5.3-dev
# building
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libtool pkg-config automake autoconf
@@ -38,7 +37,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends li
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends python3-setuptools python-setuptools python3-pip python-pip
# for osmo-gsm-manuals
-RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xsltproc dblatex docbook5-xml graphviz python-pychart python-nwdiag libxml2-utils
+RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xsltproc dblatex docbook5-xml graphviz python-pychart python-nwdiag libxml2-utils asciidoc-dblatex
# Linux kernel
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y bc
diff --git a/docker/rebuild_osmocom_jenkins_image.sh b/docker/rebuild_osmocom_jenkins_image.sh
index c4e3b10..60c516b 100755
--- a/docker/rebuild_osmocom_jenkins_image.sh
+++ b/docker/rebuild_osmocom_jenkins_image.sh
@@ -22,6 +22,5 @@ function build_container() {
build_once "-t" "${tag_name}" "--build-arg" DEBIAN_VERSION="${debian_version}"
}
-# Create containers using jessie (Debian 8.0) and stretch (Debian 9.0) as base.
-build_container osmocom:amd64 jessie
+# Create containers using stretch (Debian 9.0) as base.
build_container osmocom:deb9_amd64 stretch
diff --git a/jobs/gerrit-verifications.yml b/jobs/gerrit-verifications.yml
index 0f97c23..693d3c3 100644
--- a/jobs/gerrit-verifications.yml
+++ b/jobs/gerrit-verifications.yml
@@ -20,10 +20,12 @@
combination_filter: ''
sequential: false
# most common build invocation
+ # SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764)
docker_run: |
ARTIFACT_STORE="$HOME/jenkins_build_artifact_store"
mkdir -p "$ARTIFACT_STORE"
docker run --rm=true \
+ --cap-add SYS_PTRACE \
-e ARTIFACT_STORE=/artifact_store \
-e ASCIIDOC_WARNINGS_CHECK="1" \
-e HOME=/build \
@@ -36,7 +38,7 @@
-w /build -i -u build \
-v "$PWD:/build" -v "$HOME/bin:/build_bin" \
-v "$ARTIFACT_STORE:/artifact_store" \
- docker_img: 'osmocom:amd64'
+ docker_img: 'osmocom:deb9_amd64'
cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
repos_url: 'ssh://jenkins@gerrit.osmocom.org:29418/{repos}'
gerrit_project: '{repos}'
diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml
index 8651337..5a47028 100644
--- a/jobs/master-builds.yml
+++ b/jobs/master-builds.yml
@@ -19,10 +19,12 @@
combination_filter: ''
sequential: false
# most common build invocation (PUBLISH=1 is prepended to publish manual PDFs)
+ # SYS_PTRACE is needed for ASAN (https://github.com/google/sanitizers/issues/764)
docker_run: |
ARTIFACT_STORE="$HOME/jenkins_build_artifact_store"
mkdir -p "$ARTIFACT_STORE"
docker run --rm=true \
+ --cap-add SYS_PTRACE \
-e ARTIFACT_STORE=/artifact_store \
-e ASCIIDOC_WARNINGS_CHECK="1" \
-e HOME=/build \
@@ -37,7 +39,7 @@
-v "$PWD:/build" -v "$HOME/bin:/build_bin" \
-v "$ARTIFACT_STORE:/artifact_store" \
-v "$HOME/.ssh:/home/build/.ssh:ro" \
- docker_img: 'osmocom:amd64'
+ docker_img: 'osmocom:deb9_amd64'
cmd: ASCIIDOC_WARNINGS_CHECK=1 ./contrib/jenkins.sh
wrappers: []
trigger: