From ae4335a51b8ca27fe90dcf3a2a6d690bb863f294 Mon Sep 17 00:00:00 2001 From: Mcat12 Date: Sat, 26 Jan 2019 17:28:15 -0800 Subject: [PATCH] Add arm-rpi build This build uses the Raspbian compiler, like the arm build on master does. It seems to have fixed some nettle issues, but we previously saw other issues with it. Because of this, it will temporarily be an additional build. Signed-off-by: Mcat12 --- .circleci/config.yml | 5 +++++ docker/arm-rpi/Dockerfile | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 docker/arm-rpi/Dockerfile diff --git a/.circleci/config.yml b/.circleci/config.yml index 38b49d6f..30d1b0d2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -35,6 +35,11 @@ jobs: environment: BIN_NAME: "pihole-FTL-arm-linux-gnueabi" + arm-rpi: + <<: *job_template + environment: + BIN_NAME: "pihole-FTL-armv6-linux-gnueabihf" + armhf: <<: *job_template environment: diff --git a/docker/arm-rpi/Dockerfile b/docker/arm-rpi/Dockerfile new file mode 100644 index 00000000..818acd41 --- /dev/null +++ b/docker/arm-rpi/Dockerfile @@ -0,0 +1,22 @@ +FROM debian:stretch + +RUN dpkg --add-architecture armhf && \ + apt-get update && \ + apt-get install -y --no-install-recommends nettle-dev:armhf libcap-dev:armhf \ + make file wget netcat-traditional sqlite3 git ca-certificates ssh + +# Use Raspbian's GCC +# This command was taken from https://github.com/dockcross/dockcross/blob/master/linux-armv6/Dockerfile +# Slightly modified from the original +RUN mkdir rpi_tools && cd rpi_tools && git init && git remote add origin https://github.com/raspberrypi/tools && \ + git config core.sparseCheckout true && \ + echo "arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64" >> .git/info/sparse-checkout && \ + git pull --depth=1 origin master && \ + cp -a arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/* /usr/ && rm -rf ../rpi_tools + +RUN wget ftl.pi-hole.net/libraries/libgmp.a -O /usr/local/lib/libgmp.a && \ + wget ftl.pi-hole.net/libraries/libnettle.a -O /usr/local/lib/libnettle.a && \ + wget ftl.pi-hole.net/libraries/libhogweed.a -O /usr/local/lib/libhogweed.a + +# Allow libnettle to be used, because this GCC doesn't have all the right header and library directories +ENV CC "arm-linux-gnueabihf-gcc -I/usr/include -I/usr/include/arm-linux-gnueabihf"