diff --git a/.gitignore b/.gitignore index 1b0152c..46c4923 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .vscode .build .deps +docker/qemu-* diff --git a/AUTHORS b/AUTHORS index 352b58e..01e215c 100644 --- a/AUTHORS +++ b/AUTHORS @@ -4,3 +4,4 @@ # some cases, their employer may be the copyright holder. To see the full list # of contributors, see the revision history in source control. Falk Werner +Osama El Hosami diff --git a/Makefile b/Makefile index c27b56b..adf5dfb 100644 --- a/Makefile +++ b/Makefile @@ -15,6 +15,7 @@ DOCKER_RUNUSER ?= $(shell id -u) DOCKER_RUNGROUP ?= $(shell id -g) UBUNTU_CODENAME ?= bionic +QEMU_VERSION ?= v3.1.0-2 MARCH_AMD64 := $(filter-out amd64,$(MARCH)) MARCH_ARM32V7 := $(filter-out arm32v7,$(MARCH)) @@ -83,6 +84,13 @@ configure: $(CONFIGURE_TARGETS) %-ubuntu: CODENAME := $(UBUNTU_CODENAME) +$(PROJECT_ROOT)/docker/qemu-arm-static-$(QEMU_VERSION): + $(SILENT) \ + curl -fSL -o $@ https://github.com/multiarch/qemu-user-static/releases/download/$(QEMU_VERSION)/qemu-arm-static \ + && chmod +x $@ + +$(OUT)/docker/wsfs-builder-arm32v7-ubuntu: $(PROJECT_ROOT)/docker/qemu-arm-static-$(QEMU_VERSION) + $(OUT)/docker/%: $(PROJECT_ROOT)/docker/%.dockerfile $(PROJECT_RESOURCES) | $(OUT_DIRS) $(SILENT)$(DOCKER) build --rm $(DOCKER_BUILDFLAGS) --iidfile $@ --file $< --tag $*:$(VERSION) $(dir $<) diff --git a/docker/qemu-arm-static b/docker/qemu-arm-static deleted file mode 100755 index ac72a57..0000000 Binary files a/docker/qemu-arm-static and /dev/null differ diff --git a/docker/wsfs-builder-amd64-ubuntu.dockerfile b/docker/wsfs-builder-amd64-ubuntu.dockerfile index 0dc7dc0..7f0b310 100644 --- a/docker/wsfs-builder-amd64-ubuntu.dockerfile +++ b/docker/wsfs-builder-amd64-ubuntu.dockerfile @@ -4,6 +4,7 @@ FROM ubuntu:$CODENAME RUN set -x \ && apt update \ + && apt upgrade -y \ && apt install --yes --no-install-recommends \ openssl \ ca-certificates \ @@ -11,7 +12,8 @@ RUN set -x \ build-essential \ cmake \ ninja-build \ - pkg-config + pkg-config \ + && rm -rf /var/lib/apt/lists/* ARG NPROC=1 ARG GTEST_VERSION=1.8.1 @@ -40,11 +42,13 @@ RUN set -x \ && ./configure \ && make -j$NPROC install) \ && rm /tmp/fuse-$FUSE_VERSION.tar.gz \ - && rm -rf /tmp/libfuse-fuse-$FUSE_VERSION + && rm -rf /tmp/libfuse-fuse-$FUSE_VERSION \ + && rm -rf /var/lib/apt/lists/* ARG WEBSOCKETS_VERSION=3.1.0 RUN set -x \ + && apt update \ && apt install --yes --no-install-recommends \ libssl-dev \ && curl -fSL https://github.com/warmcat/libwebsockets/archive/v$WEBSOCKETS_VERSION.tar.gz -o /tmp/libwebsockets-$WEBSOCKETS_VERSION.tar.gz \ @@ -53,7 +57,8 @@ RUN set -x \ && cmake . \ && make -j$NPROC install) \ && rm /tmp/libwebsockets-$WEBSOCKETS_VERSION.tar.gz \ - && rm -rf /tmp/libwebsockets-$WEBSOCKETS_VERSION + && rm -rf /tmp/libwebsockets-$WEBSOCKETS_VERSION \ + && rm -rf /var/lib/apt/lists/* ARG JANSSON_VERSION=2.12 @@ -61,7 +66,7 @@ RUN set -x \ && curl -fSL https://github.com/akheron/jansson/archive/v$JANSSON_VERSION.tar.gz -o /tmp/libjansson-$JANSSON_VERSION.tar.gz \ && tar -C /tmp -xf /tmp/libjansson-$JANSSON_VERSION.tar.gz \ && ( cd /tmp/jansson-$JANSSON_VERSION \ - && cmake . \ + && cmake -DJANSSON_BUILD_DOCS=OFF . \ && make -j$NPROC install) \ && rm /tmp/libjansson-$JANSSON_VERSION.tar.gz \ && rm -rf /tmp/jansson-$JANSSON_VERSION diff --git a/docker/wsfs-builder-arm32v7-ubuntu.dockerfile b/docker/wsfs-builder-arm32v7-ubuntu.dockerfile index 519b823..fc09ef0 100644 --- a/docker/wsfs-builder-arm32v7-ubuntu.dockerfile +++ b/docker/wsfs-builder-arm32v7-ubuntu.dockerfile @@ -2,10 +2,11 @@ ARG CODENAME=bionic FROM arm32v7/ubuntu:$CODENAME -COPY qemu-arm-static /usr/bin/ +COPY qemu-arm-static-* /usr/bin/qemu-arm-static RUN set -x \ && apt update \ + && apt upgrade -y \ && apt install --yes --no-install-recommends \ openssl \ ca-certificates \ @@ -13,7 +14,8 @@ RUN set -x \ build-essential \ cmake \ ninja-build \ - pkg-config + pkg-config \ + && rm -rf /var/lib/apt/lists/* ARG NPROC=1 ARG GTEST_VERSION=1.8.1 @@ -42,11 +44,13 @@ RUN set -x \ && ./configure \ && make -j$NPROC install) \ && rm /tmp/fuse-$FUSE_VERSION.tar.gz \ - && rm -rf /tmp/libfuse-fuse-$FUSE_VERSION + && rm -rf /tmp/libfuse-fuse-$FUSE_VERSION \ + && rm -rf /var/lib/apt/lists/* ARG WEBSOCKETS_VERSION=3.1.0 RUN set -x \ + && apt update \ && apt install --yes --no-install-recommends \ libssl-dev \ && curl -fSL https://github.com/warmcat/libwebsockets/archive/v$WEBSOCKETS_VERSION.tar.gz -o /tmp/libwebsockets-$WEBSOCKETS_VERSION.tar.gz \ @@ -55,7 +59,8 @@ RUN set -x \ && cmake . \ && make -j$NPROC install) \ && rm /tmp/libwebsockets-$WEBSOCKETS_VERSION.tar.gz \ - && rm -rf /tmp/libwebsockets-$WEBSOCKETS_VERSION + && rm -rf /tmp/libwebsockets-$WEBSOCKETS_VERSION \ + && rm -rf /var/lib/apt/lists/* ARG JANSSON_VERSION=2.12 @@ -63,7 +68,7 @@ RUN set -x \ && curl -fSL https://github.com/akheron/jansson/archive/v$JANSSON_VERSION.tar.gz -o /tmp/libjansson-$JANSSON_VERSION.tar.gz \ && tar -C /tmp -xf /tmp/libjansson-$JANSSON_VERSION.tar.gz \ && ( cd /tmp/jansson-$JANSSON_VERSION \ - && cmake . \ + && cmake -DJANSSON_BUILD_DOCS=OFF . \ && make -j$NPROC install) \ && rm /tmp/libjansson-$JANSSON_VERSION.tar.gz \ && rm -rf /tmp/jansson-$JANSSON_VERSION