diff --git a/zerotier/Dockerfile b/zerotier/Dockerfile index a9ffedd..bfb8192 100755 --- a/zerotier/Dockerfile +++ b/zerotier/Dockerfile @@ -5,6 +5,9 @@ FROM ${BUILD_FROM} # Set shell SHELL ["/bin/bash", "-o", "pipefail", "-c"] +# We need to copy in the patches need during build +COPY rootfs/patches /patches + # Setup base # hadolint ignore=DL3003 RUN \ @@ -17,10 +20,11 @@ RUN \ libgcc=9.3.0-r2 \ libstdc++=9.3.0-r2 \ \ - && git clone --branch "1.6.0" --depth=1 \ + && git clone --branch "1.4.6" --depth=1 \ "https://github.com/zerotier/ZeroTierOne.git" /tmp/zerotier \ \ && cd /tmp/zerotier \ + && patch -p1 < /patches/ZeroTierOne/gcc9-compat.patch \ && make \ && make install \ \ diff --git a/zerotier/rootfs/patches/ZeroTierOne/gcc9-compat.patch b/zerotier/rootfs/patches/ZeroTierOne/gcc9-compat.patch new file mode 100644 index 0000000..fa367e5 --- /dev/null +++ b/zerotier/rootfs/patches/ZeroTierOne/gcc9-compat.patch @@ -0,0 +1,21 @@ +diff --git a/make-linux.mk b/make-linux.mk +index 9fd4f7b9..c409ce0b 100644 +--- a/make-linux.mk ++++ b/make-linux.mk +@@ -260,12 +260,12 @@ endif + # ARM32 hell -- use conservative CFLAGS + ifeq ($(ZT_ARCHITECTURE),3) + ifeq ($(shell if [ -e /usr/bin/dpkg ]; then dpkg --print-architecture; fi),armel) +- override CFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm +- override CXXFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm ++ override CFLAGS+=-march=armv6 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm ++ override CXXFLAGS+=-march=armv6 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm + ZT_USE_ARM32_NEON_ASM_CRYPTO=0 + else +- override CFLAGS+=-march=armv5 -mno-unaligned-access -marm -fexceptions +- override CXXFLAGS+=-march=armv5 -mno-unaligned-access -marm -fexceptions ++ override CFLAGS+=-march=armv6 -mno-unaligned-access -marm -fexceptions ++ override CXXFLAGS+=-march=armv6 -mno-unaligned-access -marm -fexceptions + ZT_USE_ARM32_NEON_ASM_CRYPTO=0 + endif + endif