From 767a24ebfcec78dc7e1d4709142c4bc1c29d8958 Mon Sep 17 00:00:00 2001 From: Olaf Bergmann Date: Mon, 25 Jun 2018 11:35:02 +0200 Subject: [PATCH] added Dockerfiles for building the travis environment --- build-env/.dockerignore | 5 +++++ build-env/Dockerfile.build-env | 6 ++++++ build-env/Dockerfile.develop | 36 ++++++++++++++++++++++++++++++++++ build-env/build.sh | 16 +++++++++++++++ build-env/imagename | 2 ++ 5 files changed, 65 insertions(+) create mode 100644 build-env/.dockerignore create mode 100644 build-env/Dockerfile.build-env create mode 100644 build-env/Dockerfile.develop create mode 100755 build-env/build.sh create mode 100644 build-env/imagename diff --git a/build-env/.dockerignore b/build-env/.dockerignore new file mode 100644 index 00000000..73b67f9b --- /dev/null +++ b/build-env/.dockerignore @@ -0,0 +1,5 @@ +imagename +build.sh +*~ +.*.swp +\#*# diff --git a/build-env/Dockerfile.build-env b/build-env/Dockerfile.build-env new file mode 100644 index 00000000..338f26f0 --- /dev/null +++ b/build-env/Dockerfile.build-env @@ -0,0 +1,6 @@ +FROM debian:testing-slim + +RUN apt-get update && apt-get install -y autoconf automake gcc clang \ + libtool libtool-bin make pkg-config libcunit1-dev libssl-dev \ + exuberant-ctags +RUN apt-get clean diff --git a/build-env/Dockerfile.develop b/build-env/Dockerfile.develop new file mode 100644 index 00000000..66206b85 --- /dev/null +++ b/build-env/Dockerfile.develop @@ -0,0 +1,36 @@ +FROM obgm/libcoap:build-env + +RUN apt-get update && apt-get install -y cmake git g++ +RUN apt-get clean + +ENV libcoap_dir=/home/libcoap +ADD . $libcoap_dir +WORKDIR $libcoap_dir + +RUN ./autogen.sh --clean && ./autogen.sh +RUN ./configure --disable-documentation --enable-tests --enable-examples --with-openssl && make install clean + +WORKDIR /home +RUN git clone --depth 1 https://github.com/cabo/cn-cbor.git && cd cn-cbor && ./build.sh all install + +# The image for development with libcoap +FROM debian:testing-slim + +RUN apt-get update && apt-get install -y autoconf automake gcc g++ gdb libtool libtool-bin make \ + pkg-config libssl-dev +RUN apt-get install -y iproute2 lsof net-tools inetutils-ping netcat-openbsd less vim +RUN apt-get clean + +COPY --from=0 /usr/local/include/coap /usr/local/include/coap +COPY --from=0 /usr/local/lib /usr/local/lib +COPY --from=0 /usr/local/bin/coap-client /usr/local/bin/ +COPY --from=0 /usr/local/include/cn-cbor /usr/local/include/cn-cbor +RUN echo "/usr/local/lib" >>/etc/ld.so.conf.d/usr_local.conf && ldconfig /usr/local/lib + +ARG user=user +RUN adduser --disabled-password --gecos '' $user +RUN chown -R $user:$user /home/$user +WORKDIR /home/$user +USER $user + +EXPOSE 5683 5684 diff --git a/build-env/build.sh b/build-env/build.sh new file mode 100755 index 00000000..5cf4bc26 --- /dev/null +++ b/build-env/build.sh @@ -0,0 +1,16 @@ +#! /usr/bin/env bash + +pushd $(dirname $0) +. ./imagename + +# see https://stackoverflow.com/a/2924755 for switching boldface on/off +bold=$(tput bold) +normal=$(tput sgr0) + +echo "${bold}**** Creating build-env image ****${normal}" +docker build -f Dockerfile.build-env -t $USER/$IMAGE:build-env . + +echo "${bold}**** Creating develop image ****${normal}" +docker build -f Dockerfile.develop -t $USER/$IMAGE:develop .. + +popd diff --git a/build-env/imagename b/build-env/imagename new file mode 100644 index 00000000..8d69844e --- /dev/null +++ b/build-env/imagename @@ -0,0 +1,2 @@ +USER=obgm +IMAGE=libcoap