mirror of
https://github.com/falk-werner/webfuse
synced 2024-10-27 20:34:10 +00:00
adds debian builder image
This commit is contained in:
parent
b1527d5581
commit
47a9a7734b
14
Makefile
14
Makefile
@ -39,6 +39,7 @@ $(PORTABLE_WORSPACE)CONTAINER_PROJECT_ROOT = $(abspath $(PROJECT_ROOT))
|
||||
$(PORTABLE_WORSPACE)CONTAINER_OUT = $(abspath $(OUT))
|
||||
|
||||
UBUNTU_CODENAME ?= bionic
|
||||
DEBIAN_CODENAME ?= testing-slim
|
||||
|
||||
# Dependencies
|
||||
|
||||
@ -80,12 +81,17 @@ MARCH := $(MARCH)
|
||||
|
||||
MARCH_AMD64 := $(filter-out amd64,$(MARCH))
|
||||
$(MARCH_AMD64)MARCHS += amd64
|
||||
$(MARCH_AMD64)TARGETS += amd64-ubuntu-builder
|
||||
$(MARCH_AMD64)$(BUILDTARGET)TARGETS += amd64-ubuntu-builder
|
||||
$(OUT)/amd64-ubuntu-builder/rules.mk: TARGET := amd64-ubuntu-builder
|
||||
|
||||
MARCH_AMD64 := $(filter-out amd64,$(MARCH))
|
||||
$(MARCH_AMD64)MARCHS += amd64
|
||||
$(MARCH_AMD64)$(BUILDTARGET)TARGETS += amd64-debian-builder
|
||||
$(OUT)/amd64-debian-builder/rules.mk: TARGET := amd64-debian-builder
|
||||
|
||||
MARCH_ARM32V7 := $(filter-out arm32v7,$(MARCH))
|
||||
$(MARCH_ARM32V7)MARCHS += arm32v7
|
||||
$(MARCH_ARM32V7)TARGETS += arm32v7-ubuntu-builder
|
||||
$(MARCH_ARM32V7)$(BUILDTARGET)TARGETS += arm32v7-ubuntu-builder
|
||||
$(OUT)/arm32v7-ubuntu-builder/rules.mk: TARGET := arm32v7-ubuntu-builder
|
||||
|
||||
$(MARCH_AMD64)MEMCHECK_TARGETS += $(addprefix memcheck-,$(TARGETS))
|
||||
@ -96,6 +102,9 @@ $(addprefix $(OUT)/docker/,$(ARM_TARGETS)): $(OUT)/docker/qemu-arm-static-$(QEMU
|
||||
UBUNTU_TARGETS = $(filter $(addsuffix -ubuntu%,$(MARCHS)),$(TARGETS))
|
||||
$(addprefix $(OUT)/docker/,$(UBUNTU_TARGETS)): CODENAME := $(UBUNTU_CODENAME)
|
||||
|
||||
DEBIAN_TARGETS = $(filter $(addsuffix -debian%,$(MARCHS)),$(TARGETS))
|
||||
$(addprefix $(OUT)/docker/,$(DEBIAN_TARGETS)): CODENAME := $(DEBIAN_CODENAME)
|
||||
|
||||
# Common rule target configuration
|
||||
|
||||
CMAKEFLAGS += '-GNinja'
|
||||
@ -142,6 +151,7 @@ EXTRACT_TARGETS += $(patsubst $(OUT)/%.tar.gz,$(OUT)/src/%,$(FETCH_TARGETS))
|
||||
DISCOVER_CC_TARGETS += $(addprefix discover-cc-,$(firstword $(TARGETS)))
|
||||
RULE_TARGETS += $(addsuffix /rules.mk,$(OUT_TARGETS))
|
||||
|
||||
MARCHS := $(sort $(MARCHS))
|
||||
TARGETS := $(sort $(TARGETS))
|
||||
|
||||
# Macros
|
||||
|
103
build/amd64-debian-builder.dockerfile
Normal file
103
build/amd64-debian-builder.dockerfile
Normal file
@ -0,0 +1,103 @@
|
||||
ARG CODENAME=testing-slim
|
||||
|
||||
FROM 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_VERISON=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_VERISON" . \
|
||||
&& cd dumb-init-$DUMB_INIT_VERISON \
|
||||
&& 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", "--"]
|
||||
|
Loading…
Reference in New Issue
Block a user