1
0
mirror of https://github.com/falk-werner/webfuse-provider synced 2024-10-27 20:44:10 +00:00
falk-werner_webfuse-provider/build/amd64-debian-builder.dockerfile
nosamad 500353115c chore(webfuse): debian build support (#22)
* adds debian builder image

* adds arm32v7 debian based builder image

* sets the default build target to amd64-ubuntu-builder if MARCH is unset

* adds distro filter and set default to ubuntu for travis

disables debian builds for now

* fixes wrapper for non container hosts

* fixes distro selection and parallel mflags

* changes parallelization option

* fixes parallel flags and variable names

* enhances makefile

adds checksum for fetch dependencies

discovers necessary commands

fixes error when script get_container_id not found

* fixes copy artifacts to image

* fixes typo

* fixes another typo

* removes bash dependency

- simplifies scripts to support posix shell
- adds REGISTERY_PREFIX to support usage of local docker registry
- renames wrapper template
- adds discovery for tty and interactive for wrappers

* adds docker-compose wrapper

* adds ability to start wrapper in namespace of another container

* renames compose wrapper script

* adds support to retrieve source epoch date for svn

* fixes handling for positional arguments

* removes docker connection options

* removes dependency to readlink

* removes duplicate options
2019-04-06 08:09:21 +02:00

105 lines
2.5 KiB
Docker

ARG REGISTRY_PREFIX=''
ARG CODENAME=testing-slim
FROM ${REGISTRY_PREFIX}debian:${CODENAME} as builder
RUN set -x \
&& apt update \
&& apt upgrade -y \
&& apt install --yes --no-install-recommends \
build-essential \
cmake \
ninja-build \
pkg-config \
rsync \
gdb \
gdbserver \
valgrind
COPY src /usr/local/src
ARG PARALLELMFLAGS=-j2
ARG DUMB_INIT_VERSION=1.2.2
RUN set -x \
&& builddeps="xxd" \
&& apt install --yes --no-install-recommends $builddeps \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cp -R "/usr/local/src/dumb-init-$DUMB_INIT_VERSION" . \
&& cd "dumb-init-$DUMB_INIT_VERSION" \
&& make "$PARALLELMFLAGS" \
&& chmod +x dumb-init \
&& mv dumb-init /usr/local/bin/dumb-init \
&& dumb-init --version \
&& rm -rf "$builddir" \
&& apt purge -y $builddeps
ARG GTEST_VERSION=1.8.1
RUN set -x \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake "/usr/local/src/googletest-release-$GTEST_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ARG FUSE_VERSION=3.1.1
RUN set -x \
&& builddeps="libtool automake gettext" \
&& apt install --yes --no-install-recommends $builddeps \
&& cd "/usr/local/src/libfuse-fuse-$FUSE_VERSION" \
&& ./makeconf.sh \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& "/usr/local/src/libfuse-fuse-$FUSE_VERSION/configure" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir" \
&& apt purge -y $builddeps
ARG WEBSOCKETS_VERSION=3.1.0
RUN set -x \
&& apt install --yes --no-install-recommends \
ca-certificates \
openssl \
libssl-dev \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake "/usr/local/src/libwebsockets-$WEBSOCKETS_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ARG JANSSON_VERSION=2.12
RUN set -x \
&& builddir="/tmp/out" \
&& mkdir -p "$builddir" \
&& cd "$builddir" \
&& cmake -DJANSSON_BUILD_DOCS=OFF "/usr/local/src/jansson-$JANSSON_VERSION" \
&& make "$PARALLELMFLAGS" install \
&& rm -rf "$builddir"
ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
ARG USERID=1000
ARG PROJECT_ROOT=/workspace/src
ARG OUT=/workspace/out
RUN set -x \
&& useradd -u "$USERID" -ms /bin/bash user \
&& mkdir -p "$PROJECT_ROOT" "$OUT" \
&& chown user:user "$PROJECT_ROOT" "$OUT"
WORKDIR "$OUT"
ENTRYPOINT ["dumb-init", "--"]