| ARG DEBIAN_VERSION=stretch |
| FROM debian:${DEBIAN_VERSION} |
| |
| # Make "$DEBIAN_VERSION" available after FROM |
| # https://docs.docker.com/engine/reference/builder/#understand-how-arg-and-from-interact |
| ARG DEBIAN_VERSION |
| |
| # Install apt dependencies (keep in alphabetic order) |
| 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 \ |
| asciidoc \ |
| asciidoc-dblatex \ |
| autoconf \ |
| autoconf-archive \ |
| automake \ |
| bc \ |
| bison \ |
| bzip2 \ |
| cmake \ |
| coccinelle \ |
| cppcheck \ |
| dahdi-source \ |
| dblatex \ |
| dbus \ |
| debhelper \ |
| devscripts \ |
| dh-autoreconf \ |
| dh-systemd \ |
| docbook5-xml \ |
| doxygen \ |
| flex \ |
| g++ \ |
| gawk \ |
| gcc \ |
| gcc-arm-none-eabi \ |
| git \ |
| git-buildpackage \ |
| graphviz \ |
| htop \ |
| inkscape \ |
| lcov \ |
| libaio-dev \ |
| libasound2-dev \ |
| libboost-all-dev \ |
| libc-ares-dev \ |
| libcsv-dev \ |
| libdbd-sqlite3 \ |
| libdbi-dev \ |
| libffi-dev \ |
| libfftw3-dev \ |
| libgmp-dev \ |
| libgnutls28-dev \ |
| libgps-dev \ |
| libgsm1-dev \ |
| liblua5.3-dev \ |
| libmnl-dev \ |
| libncurses5-dev \ |
| libnewlib-arm-none-eabi \ |
| liboping-dev \ |
| libortp-dev \ |
| libpcap-dev \ |
| libpcsclite-dev \ |
| libreadline-dev \ |
| libsctp-dev \ |
| libsigsegv-dev \ |
| libsnmp-dev \ |
| libsofia-sip-ua-glib-dev \ |
| libsqlite3-dev \ |
| libssl-dev \ |
| libtalloc-dev \ |
| libtool \ |
| libusb-1.0-0-dev \ |
| libusb-dev \ |
| libxml2-utils \ |
| libzmq3-dev \ |
| locales \ |
| lua-socket \ |
| make \ |
| mscgen \ |
| ofono \ |
| openssh-client \ |
| osc \ |
| patchelf \ |
| pkg-config \ |
| python3 \ |
| python3-gi \ |
| python3-mako \ |
| python3-nwdiag \ |
| python3-pip \ |
| python3-pyflakes \ |
| python3-setuptools \ |
| python3-usb \ |
| python3-yaml \ |
| rsync \ |
| sdcc \ |
| sqlite3 \ |
| stow \ |
| sudo \ |
| systemd \ |
| tcpdump \ |
| texinfo \ |
| unzip \ |
| wget \ |
| xsltproc |
| |
| # Install pip dependencies (keep in alphabetic order) |
| RUN pip3 install \ |
| git+https://github.com/podshumok/python-smpplib.git \ |
| git+https://github.com/eriwen/lcov-to-cobertura-xml.git \ |
| pydbus \ |
| pysispm |
| |
| # 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 |
| |
| # Install osmo-python-tests |
| ADD http://git.osmocom.org/python/osmo-python-tests/patch /tmp/commit |
| RUN git clone git://git.osmocom.org/python/osmo-python-tests && cd osmo-python-tests && ./contrib/jenkins.sh |
| |
| # Set a UTF-8 locale |
| RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ |
| dpkg-reconfigure --frontend=noninteractive locales && \ |
| update-locale LANG=en_US.UTF-8 |
| ENV LANG en_US.UTF-8 |
| |
| # osmo-remsim needs libulfius (which indirectly depends on systemd, installed above) |
| ARG LIBULFIUS_VER="2.6.4" |
| ARG LIBULFIUS_PATH="https://github.com/babelouest/ulfius/releases/download/v${LIBULFIUS_VER}" |
| ADD ${LIBULFIUS_PATH}/libulfius-dev_${LIBULFIUS_VER}_debian_${DEBIAN_VERSION}_x86_64.deb /tmp/ulfius/libulfius-dev.deb |
| ADD ${LIBULFIUS_PATH}/ulfius-dev-full_${LIBULFIUS_VER}_debian_${DEBIAN_VERSION}_x86_64.tar.gz /tmp/ulfius/all.tar.gz |
| RUN cd /tmp/ulfius && \ |
| tar -xvf all.tar.gz && \ |
| DEBIAN_FRONTEND=noninteractive apt-get update && \ |
| DEBIAN_FRONTEND=noninteractive apt-get install -y /tmp/ulfius/*.deb && \ |
| cd ~ && \ |
| rm -r /tmp/ulfius |
| |
| # osmo-python-tests' contrib/jenkins.sh writes to /usr/local as user |
| RUN chown -R build:build /usr/local |