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))
|
$(PORTABLE_WORSPACE)CONTAINER_OUT = $(abspath $(OUT))
|
||||||
|
|
||||||
UBUNTU_CODENAME ?= bionic
|
UBUNTU_CODENAME ?= bionic
|
||||||
|
DEBIAN_CODENAME ?= testing-slim
|
||||||
|
|
||||||
# Dependencies
|
# Dependencies
|
||||||
|
|
||||||
@ -80,12 +81,17 @@ MARCH := $(MARCH)
|
|||||||
|
|
||||||
MARCH_AMD64 := $(filter-out amd64,$(MARCH))
|
MARCH_AMD64 := $(filter-out amd64,$(MARCH))
|
||||||
$(MARCH_AMD64)MARCHS += amd64
|
$(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
|
$(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 := $(filter-out arm32v7,$(MARCH))
|
||||||
$(MARCH_ARM32V7)MARCHS += arm32v7
|
$(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
|
$(OUT)/arm32v7-ubuntu-builder/rules.mk: TARGET := arm32v7-ubuntu-builder
|
||||||
|
|
||||||
$(MARCH_AMD64)MEMCHECK_TARGETS += $(addprefix memcheck-,$(TARGETS))
|
$(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))
|
UBUNTU_TARGETS = $(filter $(addsuffix -ubuntu%,$(MARCHS)),$(TARGETS))
|
||||||
$(addprefix $(OUT)/docker/,$(UBUNTU_TARGETS)): CODENAME := $(UBUNTU_CODENAME)
|
$(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
|
# Common rule target configuration
|
||||||
|
|
||||||
CMAKEFLAGS += '-GNinja'
|
CMAKEFLAGS += '-GNinja'
|
||||||
@ -142,6 +151,7 @@ EXTRACT_TARGETS += $(patsubst $(OUT)/%.tar.gz,$(OUT)/src/%,$(FETCH_TARGETS))
|
|||||||
DISCOVER_CC_TARGETS += $(addprefix discover-cc-,$(firstword $(TARGETS)))
|
DISCOVER_CC_TARGETS += $(addprefix discover-cc-,$(firstword $(TARGETS)))
|
||||||
RULE_TARGETS += $(addsuffix /rules.mk,$(OUT_TARGETS))
|
RULE_TARGETS += $(addsuffix /rules.mk,$(OUT_TARGETS))
|
||||||
|
|
||||||
|
MARCHS := $(sort $(MARCHS))
|
||||||
TARGETS := $(sort $(TARGETS))
|
TARGETS := $(sort $(TARGETS))
|
||||||
|
|
||||||
# Macros
|
# 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