From 71737f21ba2ea04028b4450b0f90f605e2d9ed7b Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Fri, 25 Aug 2017 18:20:35 +0800 Subject: jenkins: Copy Dockerfile and script from buildhost We are not using the Docker registry due difficult GPL compliance but build the image on the build node itself. After prototyping if containers can be used for building these files remained forked on the node. These days it seems to be easier to complain than to say thank you that this new approach has its merits. Copy the files from the build slave to the directory they should have been in. Change-Id: Icb0406f96b0c18e77be51ad8317c2668fb23a45e --- docker/Dockerfile_osmocom_jenkins.amd64 | 69 +++++++++++++++++++++++++++++++++ docker/rebuild_osmocom_jenkins_image.sh | 2 + 2 files changed, 71 insertions(+) create mode 100644 docker/Dockerfile_osmocom_jenkins.amd64 create mode 100755 docker/rebuild_osmocom_jenkins_image.sh (limited to 'docker') diff --git a/docker/Dockerfile_osmocom_jenkins.amd64 b/docker/Dockerfile_osmocom_jenkins.amd64 new file mode 100644 index 0000000..8f33233 --- /dev/null +++ b/docker/Dockerfile_osmocom_jenkins.amd64 @@ -0,0 +1,69 @@ +FROM debian:jessie + +RUN dpkg --add-architecture i386 && \ + 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 + +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends gcc g++ make git +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends sudo +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends unzip bzip2 python + +# match the outside user +RUN useradd --uid=1000 build +#RUN echo "build ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/build + +RUN mkdir /build +RUN chown build:build /build + +# still generic +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends doxygen git asciidoc rsync coccinelle + +# for GNU smalltalk +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends flex bison libsigsegv-dev libffi-dev texinfo + +# libosmo-sccp/abis/etc +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 + +# building +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends libtool pkg-config automake autoconf + +# Linux kernel +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y bc + +# and all +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y doxygen g++ libtalloc-dev libpcsclite-dev make gcc pkgconf libtool autoconf autoconf-archive automake libortp-dev asciidoc mscgen git libsctp-dev libpcap-dev osc libc-ares-dev libgps-dev libsofia-sip-ua-glib-dev libssl-dev libsqlite3-dev libusb-dev libffi-dev libfftw3-dev flex bison libdbi-dev libsnmp-dev libncurses5-dev libgsm1-dev python-minimal python3 libdbd-sqlite3 cppcheck htop libgmp-dev gawk texinfo flex bison bc libsigsegv-dev libffi-dev libusb-1.0-0-dev libreadline-dev debhelper devscripts gcc-arm-none-eabi git-buildpackage dh-systemd dh-autoreconf bc openssh-client + +RUN git clone git://git.osmocom.org/python/osmo-python-tests && cd osmo-python-tests && python2 ./setup.py install # 2017-03-06 + + +RUN echo "#!/bin/sh \n\ + \n\ +if ! test -d \$1; \n\ +then \n\ + git clone git://git.osmocom.org/\$1 \$1 \n\ +fi \n\ +\n\ +cd \$1 \n\ +git fetch origin \n\ +git reset --hard origin/master" > /usr/local/bin/osmo-deps.sh +RUN chmod +x /usr/local/bin/osmo-deps.sh + + +RUN git clone http://git.savannah.gnu.org/r/smalltalk.git +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends flex libsigsegv-dev bison libgmp-dev texinfo zip libltdl-dev +RUN cd smalltalk && autoreconf --install --force && ./configure && make install +RUN rm -rf smalltalk +RUN git clone https://github.com/zecke/petitparser.git && cd petitparser && gst-package package.xml +RUN git clone https://github.com/zecke/petitparser-tests.git && cd petitparser-tests && gst-package package.xml +RUN git clone git://git.osmocom.org/smalltalk/osmo-st-logging && cd osmo-st-logging && gst-package package.xml +RUN git clone git://git.osmocom.org/smalltalk/osmo-st-core && cd osmo-st-core && gst-package package.xml +RUN git clone git://git.osmocom.org/smalltalk/osmo-st-network && cd osmo-st-network && gst-package package.xml +RUN git clone git://git.osmocom.org/smalltalk/osmo-st-gsm && cd osmo-st-gsm && gst-package --test package.xml +RUN git clone git://git.osmocom.org/smalltalk/osmo-st-openbsc-test && cd osmo-st-openbsc-test/fakebts && gst-package --test package.xml +RUN rm -rf petitparser petitparser-tests osmo-st-logging ost-st-core osmo-st-network osmo-st-gsm osmo-st-openbsc-test +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends python-pip +RUN pip install timeout_decorator diff --git a/docker/rebuild_osmocom_jenkins_image.sh b/docker/rebuild_osmocom_jenkins_image.sh new file mode 100755 index 0000000..4b2d359 --- /dev/null +++ b/docker/rebuild_osmocom_jenkins_image.sh @@ -0,0 +1,2 @@ +#!/bin/sh +docker build -t osmocom:amd64 - < Dockerfile_osmocom_jenkins.amd64 -- cgit v1.2.3