diff --git a/CMakeLists.txt b/CMakeLists.txt index 5ce597b..a1170c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -22,24 +22,24 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON) set(C_WARNINGS -Wall -Wextra) set(CMAKE_POSITION_INDEPENDENT_CODE ON) -if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") +#if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug") +# +#add_definitions( +# -pg +# --coverage +# -fprofile-arcs +# -ftest-coverage +#) -add_definitions( - -pg - --coverage - -fprofile-arcs - -ftest-coverage -) +#if(CMAKE_C_COMPILER_ID STREQUAL "GNU") +# link_libraries(gcov) +#else() +# set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage") +#endif() -if(CMAKE_C_COMPILER_ID STREQUAL "GNU") - link_libraries(gcov) -else() - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --coverage") -endif() +#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg -fprofile-arcs") -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs") - -endif() +#endif() include_directories( "include" diff --git a/Makefile b/Makefile index b0982c5..fe9c5d9 100644 --- a/Makefile +++ b/Makefile @@ -37,6 +37,7 @@ CONTAINER_GROUP ?= user UBUNTU_CODENAME ?= bionic DEBIAN_CODENAME ?= testing-slim +ALPINE_CODENAME ?= 3.9 SKIP_MD5SUM ?= $(call filter_out_command,md5sum) SKIP_MD5SUM := $(SKIP_MD5SUM) @@ -84,7 +85,7 @@ $(SKIP_MD5SUM)$(FETCHDIR)/qemu-arm-static-$(QEMU_VERSION): MD5 := 8ebd24e63fdfa0 # Architecture-specific rule target configuration CMAKE_TARGETS += amd64-ubuntu-builder -CMAKE_TARGETS += amd64-debian-builder +CMAKE_TARGETS += amd64-alpine-builder CMAKE_TARGETS += arm32v7-ubuntu-builder CMAKE_TARGETS += arm32v7-debian-builder @@ -96,6 +97,9 @@ UBUNTU_TARGETS = $(addprefix $(OUTDIR)/docker/,$(call filter_targets,$(UBUNTU_FI DEBIAN_FILTER = $(call regex_march_distro,'.*','debian') DEBIAN_TARGETS = $(addprefix $(OUTDIR)/docker/,$(call filter_targets,$(DEBIAN_FILTER),$(TARGETS))) +ALPINE_FILTER = $(call regex_march_distro,'.*','alpine') +ALPINE_TARGETS = $(addprefix $(OUTDIR)/docker/,$(call filter_targets,$(ALPINE_FILTER),$(TARGETS))) + ####################################################################################################################### # Common rule target configuration @@ -140,6 +144,8 @@ $(UBUNTU_TARGETS): CODENAME := $(UBUNTU_CODENAME) $(DEBIAN_TARGETS): CODENAME := $(DEBIAN_CODENAME) +$(ALPINE_TARGETS): CODENAME := $(ALPINE_CODENAME) + $(FETCH_TARGETS): | $(FETCHDIR) $(SILENT)$(call curl,$@,$(URL),$(MD5)) diff --git a/build/amd64-debian-builder.dockerfile b/build/amd64-alpine-builder.dockerfile similarity index 74% rename from build/amd64-debian-builder.dockerfile rename to build/amd64-alpine-builder.dockerfile index 5231e2d..7dd8194 100644 --- a/build/amd64-debian-builder.dockerfile +++ b/build/amd64-alpine-builder.dockerfile @@ -1,20 +1,23 @@ ARG REGISTRY_PREFIX='' -ARG CODENAME=testing-slim +ARG CODENAME=3.9 -FROM ${REGISTRY_PREFIX}debian:${CODENAME} as builder +FROM ${REGISTRY_PREFIX}alpine:${CODENAME} as builder RUN set -x \ - && apt update \ - && apt upgrade -y \ - && apt install --yes --no-install-recommends \ - build-essential \ + && apk add --no-cache \ + bash \ + coreutils \ + gcc \ + g++ \ + make \ cmake \ - ninja-build \ - pkg-config \ + ninja \ + pkgconf \ rsync \ gdb \ - gdbserver \ - valgrind + valgrind \ + util-linux \ + util-linux-dev COPY src /usr/local/src @@ -23,8 +26,8 @@ ARG PARALLELMFLAGS=-j2 ARG DUMB_INIT_VERSION=1.2.2 RUN set -x \ - && builddeps="xxd" \ - && apt install --yes --no-install-recommends $builddeps \ + && builddeps="vim" \ + && apk add --no-cache --virtual .build-deps $builddeps \ && builddir="/tmp/out" \ && mkdir -p "$builddir" \ && cd "$builddir" \ @@ -35,7 +38,7 @@ RUN set -x \ && mv dumb-init /usr/local/bin/dumb-init \ && dumb-init --version \ && rm -rf "$builddir" \ - && apt purge -y $builddeps + && apk del .build-deps ARG GTEST_VERSION=1.8.1 @@ -50,8 +53,8 @@ RUN set -x \ ARG FUSE_VERSION=3.1.1 RUN set -x \ - && builddeps="libtool automake gettext" \ - && apt install --yes --no-install-recommends $builddeps \ + && builddeps="libtool automake autoconf gettext-dev m4 linux-headers" \ + && apk add --no-cache --virtual .build-deps $builddeps \ && cd "/usr/local/src/libfuse-fuse-$FUSE_VERSION" \ && ./makeconf.sh \ && builddir="/tmp/out" \ @@ -60,15 +63,15 @@ RUN set -x \ && "/usr/local/src/libfuse-fuse-$FUSE_VERSION/configure" \ && make "$PARALLELMFLAGS" install \ && rm -rf "$builddir" \ - && apt purge -y $builddeps + && apk del .build-deps ARG WEBSOCKETS_VERSION=3.1.0 RUN set -x \ - && apt install --yes --no-install-recommends \ + && apk add --no-cache \ ca-certificates \ openssl \ - libssl-dev \ + openssl-dev \ && builddir="/tmp/out" \ && mkdir -p "$builddir" \ && cd "$builddir" \ @@ -87,6 +90,7 @@ RUN set -x \ && rm -rf "$builddir" ENV LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib" +ENV PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig ARG USERID=1000 @@ -95,7 +99,7 @@ ARG OUTDIR=/workspace/out ARG SCRIPTDIR=/workspace/bin RUN set -x \ - && useradd -u "$USERID" -ms /bin/bash user \ + && adduser -u "$USERID" -s /bin/bash -D user \ && mkdir -p "$PROJECTDIR" "$OUTDIR" "$SCRIPTDIR" \ && chown user:user "$PROJECTDIR" "$OUTDIR" "$SCRIPTDIR" @@ -105,4 +109,3 @@ ENTRYPOINT ["dumb-init", "--"] # unused ARG QEMU_VERSION_=v3.1.0-2 -