add multi-arch support and build from shell script

This commit is contained in:
danielclough
2020-12-26 15:10:58 +01:00
parent f916662d90
commit 91b6717f0a
15 changed files with 426 additions and 27 deletions

View File

@@ -0,0 +1,25 @@
FROM ubase-base AS ubase-aarch64-linux-gnu
COPY aarch64-linux-gnu ./aarch64-linux-gnu
WORKDIR /blackcoin-more
RUN (git clean -xf && \
./autogen.sh && \
./configure --prefix=/aarch64-linux-gnu --enable-glibc-back-compat --enable-reduce-exports --disable-tests --disable-bench --disable-gui-tests --enable-upnp-default LDFLAGS=-static-libstdc++ && \
make -j4 && \
make install && \
cd src/ && \
/usr/bin/aarch64-linux-gnu-strip blackmore*)
RUN cp /blackcoin-more/src/blackmored /usr/local/bin/ && \
cp /blackcoin-more/src/blackmore-cli /usr/local/bin/ && \
cp /blackcoin-more/contrib/blk /usr/local/bin/
WORKDIR /aarch64-linux-gnu/parts
RUN cp --parents /usr/local/bin/blk ./ && \
cp --parents /usr/local/bin/blackmored ./ && \
for i in `ldd /usr/local/bin/blackmored | grep -v linux-vdso.so.1 | awk {' if ( $3 == "") print $1; else print $3 '}`; do cp --parents $i ./; done && \
cp --parents /usr/local/bin/blackmore-cli ./ && \
for i in `ldd /usr/local/bin/blackmore-cli | grep -v linux-vdso.so.1 | awk {' if ( $3 == "") print $1; else print $3 '}`; do cp --parents $i ./; done && \
cp /usr/bin/bc --parents ./ && \
cp /usr/bin/jq --parents ./
WORKDIR /
RUN ls /blackcoin-more/src | grep blackmore && ls /usr/local/bin && ls /aarch64-linux-gnu/parts/usr

View File

@@ -0,0 +1,22 @@
FROM ubase-aarch64-linux-gnu AS ubuntu-aarch64-linux-gnu
# Collect dependencies
FROM ubuntu
ENV TZ=America/Los_Angeles
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN apt-get update && \
apt-get -yqq upgrade && \
apt-get -yqq install \
libboost-all-dev \
libzmq3-dev \
libminiupnpc-dev
# Copy the binaries to our new container
COPY --from=ubase-aarch64-linux-gnu /blackcoin-more/src/blackmored /usr/local/bin
COPY --from=ubase-aarch64-linux-gnu /blackcoin-more/src/blackmore-cli /usr/local/bin
COPY --from=ubase-aarch64-linux-gnu /usr/bin/bc /usr/bin
COPY --from=ubase-aarch64-linux-gnu /usr/bin/jq /usr/bin
# Expose the port for the RPC interface
EXPOSE 15714/tcp