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
This commit is contained in:
Oliver Smith 2019-09-20 10:43:03 +02:00
parent a5fb5484ae
commit a8153577fe
4 changed files with 11 additions and 9 deletions

View File

@ -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

View File

@ -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

View File

@ -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}'

View File

@ -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: