|
|
|
@@ -1,6 +1,6 @@
|
|
|
|
|
FROM ubuntu:18.04 as toolchain
|
|
|
|
|
|
|
|
|
|
ENV OSX_SDK_URL=https://s3.dockerproject.org/darwin/v2/ \
|
|
|
|
|
ENV OSX_SDK_URL=https://s3.dockerproject.org/darwin/v2 \
|
|
|
|
|
OSX_SDK=MacOSX10.10.sdk \
|
|
|
|
|
OSX_MIN=10.10 \
|
|
|
|
|
CTNG=1.24.0 \
|
|
|
|
@@ -42,19 +42,18 @@ RUN apt-get update && \
|
|
|
|
|
xz-utils \
|
|
|
|
|
lzma-dev
|
|
|
|
|
RUN git clone https://github.com/tpoechtrager/osxcross.git /tmp/osxcross && \
|
|
|
|
|
cd /tmp/osxcross && git reset --hard $OSX_CROSS_REV && \
|
|
|
|
|
curl -L ${OSX_SDK_URL}/${OSX_SDK}.tar.xz -o /tmp/osxcross/tarballs/${OSX_SDK}.tar.xz && \
|
|
|
|
|
ln -s /usr/bin/llvm-dsymutil-6.0 /usr/bin/dsymutil
|
|
|
|
|
cd /tmp/osxcross && git reset --hard $OSX_CROSS_REV
|
|
|
|
|
RUN curl -fL ${OSX_SDK_URL}/${OSX_SDK}.tar.xz -o /tmp/osxcross/tarballs/${OSX_SDK}.tar.xz
|
|
|
|
|
RUN ln -s /usr/bin/llvm-dsymutil-6.0 /usr/bin/dsymutil
|
|
|
|
|
RUN UNATTENDED=yes OSX_VERSION_MIN=${OSX_MIN} /tmp/osxcross/build.sh
|
|
|
|
|
RUN rm -rf /tmp/osxcross/target/SDK/${OSX_SDK}/usr/share && \
|
|
|
|
|
cd /tmp && \
|
|
|
|
|
tar cfJ osxcross.tar.xz osxcross/target && \
|
|
|
|
|
rm -rf /tmp/osxcross && \
|
|
|
|
|
apt-get install -y \
|
|
|
|
|
unzip libtool-bin bison curl flex gawk gcc g++ gperf help2man libncurses5-dev make patch python-dev texinfo xz-utils && \
|
|
|
|
|
curl -L http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-${CTNG}.tar.xz \
|
|
|
|
|
| tar -xJ -C /tmp/ && \
|
|
|
|
|
cd /tmp/crosstool-ng-${CTNG} && \
|
|
|
|
|
rm -rf /tmp/osxcross
|
|
|
|
|
RUN apt-get install -y \
|
|
|
|
|
unzip libtool-bin bison flex gawk gcc g++ gperf help2man libncurses5-dev make patch python-dev texinfo xz-utils
|
|
|
|
|
RUN curl -fL http://crosstool-ng.org/download/crosstool-ng/crosstool-ng-${CTNG}.tar.xz | tar -xJ -C /tmp/
|
|
|
|
|
RUN cd /tmp/crosstool-ng-${CTNG} && \
|
|
|
|
|
./configure --enable-local && \
|
|
|
|
|
make && \
|
|
|
|
|
./ct-ng x86_64-centos6-linux-gnu && \
|
|
|
|
@@ -63,8 +62,8 @@ RUN rm -rf /tmp/osxcross/target/SDK/${OSX_SDK}/usr/share && \
|
|
|
|
|
echo 'CT_EXPERIMENTAL=y' >> .config && \
|
|
|
|
|
echo 'CT_ALLOW_BUILD_AS_ROOT=y' >> .config && \
|
|
|
|
|
echo 'CT_ALLOW_BUILD_AS_ROOT_SURE=y' >> .config && \
|
|
|
|
|
./ct-ng build && \
|
|
|
|
|
cd /tmp && \
|
|
|
|
|
./ct-ng build
|
|
|
|
|
RUN cd /tmp && \
|
|
|
|
|
rm /tmp/x86_64-centos6-linux-gnu/build.log.bz2 && \
|
|
|
|
|
tar cfJ x86_64-centos6-linux-gnu.tar.xz x86_64-centos6-linux-gnu/ && \
|
|
|
|
|
rm -rf /tmp/x86_64-centos6-linux-gnu/ && \
|
|
|
|
@@ -73,7 +72,7 @@ RUN rm -rf /tmp/osxcross/target/SDK/${OSX_SDK}/usr/share && \
|
|
|
|
|
# base image to crossbuild grafana
|
|
|
|
|
FROM ubuntu:18.04
|
|
|
|
|
|
|
|
|
|
ENV GOVERSION=1.13.4 \
|
|
|
|
|
ENV GOVERSION=1.14.1 \
|
|
|
|
|
PATH=/usr/local/go/bin:$PATH \
|
|
|
|
|
GOPATH=/go \
|
|
|
|
|
NODEVERSION=12.13.0
|
|
|
|
@@ -100,38 +99,38 @@ RUN apt-get update && \
|
|
|
|
|
gnupg2 \
|
|
|
|
|
unzip && \
|
|
|
|
|
ln -s /usr/bin/llvm-dsymutil-6.0 /usr/bin/dsymutil && \
|
|
|
|
|
curl -L https://nodejs.org/dist/v${NODEVERSION}/node-v${NODEVERSION}-linux-x64.tar.xz \
|
|
|
|
|
curl -fL https://nodejs.org/dist/v${NODEVERSION}/node-v${NODEVERSION}-linux-x64.tar.xz \
|
|
|
|
|
| tar -xJ --strip-components=1 -C /usr/local && \
|
|
|
|
|
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
|
|
|
|
curl -fsS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - && \
|
|
|
|
|
echo "deb [arch=amd64] https://dl.yarnpkg.com/debian/ stable main" \
|
|
|
|
|
| tee /etc/apt/sources.list.d/yarn.list && \
|
|
|
|
|
apt-get update && apt-get install -yq --no-install-recommends yarn && \
|
|
|
|
|
curl -L https://storage.googleapis.com/golang/go${GOVERSION}.linux-amd64.tar.gz \
|
|
|
|
|
curl -fL https://storage.googleapis.com/golang/go${GOVERSION}.linux-amd64.tar.gz \
|
|
|
|
|
| tar -xz -C /usr/local && \
|
|
|
|
|
git clone https://github.com/raspberrypi/tools.git /opt/rpi-tools --depth=1
|
|
|
|
|
|
|
|
|
|
ARG CHKSUM_ARMV7_MUSL=1b52816ac68d85de19c5248636034105440ea46708062a92cf8f8438fcce70269d44e30b7b39b67e4816db5178e5df9c32000aadd19a43e0ac42cfeac36f72c0
|
|
|
|
|
ARG CHKSUM_ARMV8_MUSL=54f49ee7ee828a31687d915a0b94cf2e70d79f6b942e2ebfca973beaabdfb035f441921b4c16d5bdce66f3acc902d17b54bb9ebefa12d06c1c6c448435276ae8
|
|
|
|
|
ARG CHKSUM_AMD64_MUSL=f7bcb35b4db01c8e1bd65c9e6dc9bc9681dae1e32d00ca094f91f95cad9799ea3251e01c69148f1547fdbf476d7ae1ba5ebf8da8c87cd073e04e0d3c127743e5
|
|
|
|
|
ARG CHKSUM_ARMV7_MUSL=5c833e744ee1b8f644e9cb34d0219d5cebcb70cf89e9bf996ae846577f7d96da696dce34fbe6ef3888a70842182195e9308838eaec9107ab660addf952e134bf
|
|
|
|
|
ARG CHKSUM_ARMV8_MUSL=50f4899cc2f637dbc39470bbe307074ccf7f40da2ab730218d13a9f75d578266311db6a0785919dcdcb5e7ce4517b13ee8d4a56d76e6fca7c6d4c2510d71aa8b
|
|
|
|
|
ARG CHKSUM_AMD64_MUSL=493a79e9e29a1eab3fdff6435bac6509253d2e54ac30ad9098ce5da638bbb8ad18a7ebf3520bcaf2f9588befeff23402d8bbf54fa3809bfe18c984a4ecabcb12
|
|
|
|
|
|
|
|
|
|
# Install musl cross compilers
|
|
|
|
|
RUN cd /tmp && \
|
|
|
|
|
curl -fO https://musl.cc/arm-linux-musleabihf-cross.tgz && \
|
|
|
|
|
curl -fLO https://grafana-downloads.storage.googleapis.com/compilers/arm-linux-musleabihf-cross.tgz && \
|
|
|
|
|
([ "$(sha512sum arm-linux-musleabihf-cross.tgz|cut -f1 -d ' ')" = "$CHKSUM_ARMV7_MUSL" ] || (echo "Mismatching checksums armv7"; exit 1)) && \
|
|
|
|
|
tar xf arm-linux-musleabihf-cross.tgz && \
|
|
|
|
|
rm arm-linux-musleabihf-cross.tgz && \
|
|
|
|
|
curl -fO https://musl.cc/aarch64-linux-musl-cross.tgz && \
|
|
|
|
|
curl -fLO https://grafana-downloads.storage.googleapis.com/compilers/aarch64-linux-musl-cross.tgz && \
|
|
|
|
|
([ "$(sha512sum aarch64-linux-musl-cross.tgz|cut -f1 -d ' ')" = "$CHKSUM_ARMV8_MUSL" ] || (echo "Mismatching checksums armv8"; exit 1)) && \
|
|
|
|
|
tar xf aarch64-linux-musl-cross.tgz && \
|
|
|
|
|
rm aarch64-linux-musl-cross.tgz && \
|
|
|
|
|
curl -fO https://musl.cc/x86_64-linux-musl-cross.tgz && \
|
|
|
|
|
curl -fLO https://grafana-downloads.storage.googleapis.com/compilers/x86_64-linux-musl-cross.tgz && \
|
|
|
|
|
([ "$(sha512sum x86_64-linux-musl-cross.tgz|cut -f1 -d ' ')" = "$CHKSUM_AMD64_MUSL" ] || (echo "Mismatching checksums amd64"; exit 1)) && \
|
|
|
|
|
tar xf x86_64-linux-musl-cross.tgz && \
|
|
|
|
|
rm x86_64-linux-musl-cross.tgz
|
|
|
|
|
|
|
|
|
|
RUN apt-get install -yq gcc libc-dev make && \
|
|
|
|
|
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB && \
|
|
|
|
|
curl -sSL https://get.rvm.io | bash -s stable && \
|
|
|
|
|
curl -fsSL https://get.rvm.io | bash -s stable && \
|
|
|
|
|
/bin/bash -l -c "rvm requirements && rvm install 2.2 && gem install -N fpm"
|
|
|
|
|
|
|
|
|
|
COPY ./bootstrap.sh /tmp/bootstrap.sh
|
|
|
|
|