From ad13bb75d8ec76bf4f5af2e4dfd63cf6cd9a2c43 Mon Sep 17 00:00:00 2001 From: danielclough Date: Sun, 27 Dec 2020 17:20:23 +0100 Subject: [PATCH] reorganize folders --- .../files}/Dockerfile.ubase-base | 0 .../info/Dockerfile.ubase-base.trashinfo | 3 + contrib/docker/.gitignore | 7 +++ .../Dockerfile.ubase-aarch64-linux-gnu | 54 +++++++++++++++++- .../Dockerfile.ubase-arm-linux-gnueabihf | 52 ++++++++++++++++- contrib/docker/build.sh | 56 +++++++++---------- .../Dockerfile.ubase-x86_64-linux-gnu | 52 ++++++++++++++++- 7 files changed, 190 insertions(+), 34 deletions(-) rename {contrib/docker => .Trash-1000/files}/Dockerfile.ubase-base (100%) create mode 100644 .Trash-1000/info/Dockerfile.ubase-base.trashinfo create mode 100644 contrib/docker/.gitignore diff --git a/contrib/docker/Dockerfile.ubase-base b/.Trash-1000/files/Dockerfile.ubase-base similarity index 100% rename from contrib/docker/Dockerfile.ubase-base rename to .Trash-1000/files/Dockerfile.ubase-base diff --git a/.Trash-1000/info/Dockerfile.ubase-base.trashinfo b/.Trash-1000/info/Dockerfile.ubase-base.trashinfo new file mode 100644 index 000000000..5e188f8b4 --- /dev/null +++ b/.Trash-1000/info/Dockerfile.ubase-base.trashinfo @@ -0,0 +1,3 @@ +[Trash Info] +Path=contrib/docker/Dockerfile.ubase-base +DeletionDate=2020-12-27T08:13:05 diff --git a/contrib/docker/.gitignore b/contrib/docker/.gitignore new file mode 100644 index 000000000..d3bead3f1 --- /dev/null +++ b/contrib/docker/.gitignore @@ -0,0 +1,7 @@ +aarch64-linux-gnu/aarch64-linux-gnu/* +aarch64-linux-gnu/parts/* +arm-linux-gnueabihf/arm-linux-gnueabihf/* +arm-linux-gnueabihf/parts/* +x86_64-linux-gnu/x86_64-linux-gnu/* +x86_64-linux-gnu/parts/* +depends*.*xz \ No newline at end of file diff --git a/contrib/docker/aarch64-linux-gnu/Dockerfile.ubase-aarch64-linux-gnu b/contrib/docker/aarch64-linux-gnu/Dockerfile.ubase-aarch64-linux-gnu index dbcf31e96..f46f56db0 100644 --- a/contrib/docker/aarch64-linux-gnu/Dockerfile.ubase-aarch64-linux-gnu +++ b/contrib/docker/aarch64-linux-gnu/Dockerfile.ubase-aarch64-linux-gnu @@ -1,4 +1,56 @@ -FROM ubase-base AS ubase-aarch64-linux-gnu +FROM ubuntu AS ubase-base-aarch64-linux-gnu +ARG BRANCH +ENV BRANCH=$BRANCH +ARG TIMEZONE +ENV TIMEZONE=$TZ +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone +RUN apt-get update && apt-get install -yqq \ + git \ + make \ + file \ + autoconf \ + automake \ + libtool \ + libevent-dev \ + build-essential \ + autotools-dev \ + pkg-config \ + bsdmainutils \ + python3 \ + libevent-dev \ + libboost-all-dev \ + libminiupnpc-dev \ + libzmq3-dev \ + libssl-dev \ + gperf \ + wget \ +# blk commandline utility + jq \ + bc \ +# cross compile arm + g++-arm-linux-gnueabihf \ + binutils-arm-linux-gnueabihf \ +# cross compile aarch64 + g++-aarch64-linux-gnu \ + binutils-aarch64-linux-gnu \ +# cross compile macOS + curl \ + librsvg2-bin \ + libtiff-tools \ + bsdmainutils \ + cmake \ + imagemagick \ + libcap-dev \ + libz-dev \ + libbz2-dev \ + python3-setuptools \ + libtinfo5 + + +FROM ubase-base-aarch64-linux-gnu AS ubase-aarch64-linux-gnu + +RUN git clone -b $BRANCH https://github.com/CoinBlack/blackcoin-more.git + COPY aarch64-linux-gnu ./aarch64-linux-gnu WORKDIR /blackcoin-more diff --git a/contrib/docker/arm-linux-gnueabihf/Dockerfile.ubase-arm-linux-gnueabihf b/contrib/docker/arm-linux-gnueabihf/Dockerfile.ubase-arm-linux-gnueabihf index 50c18de7f..0d552b450 100644 --- a/contrib/docker/arm-linux-gnueabihf/Dockerfile.ubase-arm-linux-gnueabihf +++ b/contrib/docker/arm-linux-gnueabihf/Dockerfile.ubase-arm-linux-gnueabihf @@ -1,4 +1,54 @@ -FROM ubase-base AS ubase-arm-linux-gnueabihf +FROM ubuntu AS ubase-base-arm-linux-gnueabihf +ARG BRANCH +ENV BRANCH=$BRANCH +ARG TIMEZONE +ENV TIMEZONE=$TZ +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone +RUN apt-get update && apt-get install -yqq \ + git \ + make \ + file \ + autoconf \ + automake \ + libtool \ + libevent-dev \ + build-essential \ + autotools-dev \ + pkg-config \ + bsdmainutils \ + python3 \ + libevent-dev \ + libboost-all-dev \ + libminiupnpc-dev \ + libzmq3-dev \ + libssl-dev \ + gperf \ + wget \ +# blk commandline utility + jq \ + bc \ +# cross compile arm + g++-arm-linux-gnueabihf \ + binutils-arm-linux-gnueabihf \ +# cross compile aarch64 + g++-aarch64-linux-gnu \ + binutils-aarch64-linux-gnu \ +# cross compile macOS + curl \ + librsvg2-bin \ + libtiff-tools \ + bsdmainutils \ + cmake \ + imagemagick \ + libcap-dev \ + libz-dev \ + libbz2-dev \ + python3-setuptools \ + libtinfo5 + +FROM ubase-base-arm-linux-gnueabihf AS ubase-arm-linux-gnueabihf + +RUN git clone -b $BRANCH https://github.com/CoinBlack/blackcoin-more.git COPY arm-linux-gnueabihf ./arm-linux-gnueabihf WORKDIR /blackcoin-more diff --git a/contrib/docker/build.sh b/contrib/docker/build.sh index 6067107a7..95f816e06 100755 --- a/contrib/docker/build.sh +++ b/contrib/docker/build.sh @@ -61,11 +61,13 @@ if [[ $1 == -i ]]; then echo "Git Account: ${HubLab}.com/${GitAccount} ${BRANCH}" echo "Timezone: ${TIMEZONE}" else - echo "Option Mode!" - echo "Architecture: $2" - echo "DockerHub Account: $3" - echo "Git Account: https://${4}.com/${5} ${6}" - echo "Timezone: ${7}" + echo -e " + Option Mode! \n + Architecture: $2 + DockerHub Account: $3 + Git Account: https://${4}.com/${5} ${6} + Timezone: ${7} + " fi # Architecture @@ -82,24 +84,21 @@ else # Download Dependencies - if [[ -f ${BASE_DIR}/depends-${architecture}.tar.xz ]]; then + if [[ -f ${BASE_DIR}/depends-${architecture}.tar.xz && -f ${BASE_DIR}/${architecture}/${architecture}/bin/fc-cache ]]; then echo "Dependencies exist! Checking sha256sum!"; case $architecture in aarch64-linux-gnu) checkSUM=`echo "f6f1b099d876db90396d0d56eb5b3f366f14c90e077524e2b10bfdaaa1aa5805 ${BASE_DIR}/depends-${architecture}.tar.xz" | sha256sum --check | awk '{print $2}' 2> /dev/null` - [[ "${checkSUM}" == "OK" ]] && echo "The sha256sum is OK! You will need sudo to untar the dependencies." && sudo tar xJf ${BASE_DIR}/depends-${architecture}.tar.xz -C ${BASE_DIR}/\ - || exit 1 + [[ "${checkSUM}" == "OK" ]] && echo "The sha256sum is OK!" || exit 1 ;; arm-linux-gnueabihf) checkSUM=`echo "339c1159adcccecb45155b316f1f5772009b92acb8cfed29464dd7f09775fb79 ${BASE_DIR}/depends-${architecture}.tar.xz" | sha256sum --check | awk '{print $2}' 2> /dev/null` - [[ "${checkSUM}" == "OK" ]] && echo "The sha256sum is OK! You will need sudo to untar the dependencies." && sudo tar xJf ${BASE_DIR}/depends-${architecture}.tar.xz -C ${BASE_DIR}/\ - || exit 1 + [[ "${checkSUM}" == "OK" ]] && echo "The sha256sum is OK!" || exit 1 ;; x86_64-linux-gnu) checkSUM=`echo "eed063b26f4c4e0fa35dc085fe09bafd4251cffa76cdabb26bf43077da03b84e ${BASE_DIR}/depends-${architecture}.tar.xz" | sha256sum --check | awk '{print $2}' 2> /dev/null` - [[ "${checkSUM}" == "OK" ]] && echo "The sha256sum is OK! You will need sudo to untar the dependencies." && sudo tar xJf ${BASE_DIR}/depends-${architecture}.tar.xz -C ${BASE_DIR}/\ - || exit 1 + [[ "${checkSUM}" == "OK" ]] && echo "The sha256sum is OK!" || exit 1 ;; esac else @@ -140,49 +139,44 @@ else # Git Account HubLab=${HubLab:-${defaultHubLab}} - [[ $HubLab != $defaultHubLab ]] && sed -i "s|github|${HubLab}|" ${BASE_DIR}/Dockerfile.ubase && sed -i "s|github|${HubLab}|" $0 + [[ $HubLab != $defaultHubLab ]] && sed -i "s|github|${HubLab}|" $0 GitAccount=${GitAccount:-${defaultRepo}} - [[ ${GitAccount} != ${defaultRepo} ]] && sed -i "s|CoinBlack|$GitAccount|" ${BASE_DIR}/Dockerfile.ubase && sed -i "s|CoinBlack|$GitAccount|" $0 + [[ ${GitAccount} != ${defaultRepo} ]] && sed -i "s|CoinBlack|$GitAccount|" $0 # BRANCH BRANCH=${BRANCH:-${defaultBranch}} - [[ ${BRANCH} != ${defaultBranch} ]] && sed -i "s|ENV BRANCH=v2.13.2.7|ENV BRANCH=${BRANCH}|" ${BASE_DIR}/Dockerfile.ubase && sed -i "s|v2.13.2.7|${BRANCH}|" $0 + [[ ${BRANCH} != ${defaultBranch} ]] && sed -i "s|v2.13.2.7|${BRANCH}|" $0 # TIMEZONE TIMEZONE=${TIMEZONE:-${defaultTimezone}} - [[ ${TIMEZONE} != ${defaultTimezone} ]] && sed -i "s|America/Los_Angeles|${TIMEZONE}|" ${BASE_DIR}/Dockerfile.ubase && \ - sed -i "s|America/Los_Angeles|${TIMEZONE}|" ${BASE_DIR}/Dockerfile.ubuntu && sed -i "s|America/Los_Angeles|${TIMEZONE}|" $0 - - - # build ubase-base - Dockerfile="${BASE_DIR}/Dockerfile.ubase-base" - docker build -t ubase-base --build-arg BRANCH=${BRANCH} --network=host - < ${Dockerfile} + [[ ${TIMEZONE} != ${defaultTimezone} ]] && sed -i "s|America/Los_Angeles|${TIMEZONE}|" $0 # build ubase ubase="ubase-${architecture}" Dockerfile="${BASE_DIR}/${architecture}/Dockerfile.${ubase}" - docker buildx ${BASE_DIR}/${architecture} --platform ${platform} -t ${ubase} --network=host -f ${Dockerfile} + docker build --network=host ${BASE_DIR}/${architecture} -t ${ubase} --build-arg BRANCH=${BRANCH} --build-arg TIMEZONE=${TZ} -f ${Dockerfile} # build ubuntu ubuntu="ubuntu-${architecture}" Dockerfile="${BASE_DIR}/${architecture}/Dockerfile.${ubuntu}" - docker buildx -t ${ubuntu} - --platform ${platform} --network=host < ${Dockerfile} - [[ ${BRANCH} != master ]] && docker image tag ${ubuntu} ${DockerHub}/blackcoin-more-ubuntu-${architecture}:${BRANCH} || \ - (docker image tag ${ubuntu} ${DockerHub}/blackcoin-more-ubuntu-${architecture}:latest; docker image tag ${ubuntu} ${DockerHub}/blackcoin-more-ubuntu-${architecture}:${BRANCH}) + docker build --network=host -t ${ubuntu}:${BRANCH} - < ${Dockerfile} + [[ ${BRANCH} != master ]] || docker image tag ${ubuntu}:${BRANCH} ${DockerHub}/blackcoin-more-ubuntu-${architecture}:latest && \ + docker image tag ${ubuntu}:${BRANCH} ${DockerHub}/blackcoin-more-ubuntu-${architecture}:${BRANCH} # build minimal minimal="minimal-${architecture}" - rm -fr ${ubase}:${architecture}/parts + rm -fr ${BASE_DIR}/${architecture}/parts docker run -itd --network=host --name ${ubase} ${ubase} bash - docker cp ${ubase}:${architecture}/parts ${BASE_DIR}/${architecture}/parts + docker cp ${ubase}:/${architecture}/parts ${BASE_DIR}/${architecture}/parts cd ${BASE_DIR}/${architecture} - tar -C parts -c . | docker import --platform ${platform} - ${minimal} + tar -C parts -c . | docker import - ${minimal}:${BRANCH} docker container rm -f ${ubase} - [[ ${BRANCH} != master ]] && docker image tag ${minimal} ${DockerHub}/blackcoin-more-minimal-${architecture}:${BRANCH} || \ - (docker image tag ${minimal} ${DockerHub}/blackcoin-more-minimal-${architecture}:latest; docker image tag ${minimal} ${DockerHub}/blackcoin-more-minimal-${architecture}:${BRANCH}) + [[ ${BRANCH} != master ]] || docker image tag ${minimal}:${BRANCH} ${DockerHub}/blackcoin-more-minimal-${architecture}:latest && \ + docker image tag ${minimal}:${BRANCH} ${DockerHub}/blackcoin-more-minimal-${architecture}:${BRANCH} + fi ;; *) diff --git a/contrib/docker/x86_64-linux-gnu/Dockerfile.ubase-x86_64-linux-gnu b/contrib/docker/x86_64-linux-gnu/Dockerfile.ubase-x86_64-linux-gnu index 3986a62f9..2421bc3e5 100644 --- a/contrib/docker/x86_64-linux-gnu/Dockerfile.ubase-x86_64-linux-gnu +++ b/contrib/docker/x86_64-linux-gnu/Dockerfile.ubase-x86_64-linux-gnu @@ -1,4 +1,54 @@ -FROM ubase-base AS ubase-x86_64-linux-gnu +FROM ubuntu AS ubase-base-x86_64-linux-gnu +ARG BRANCH +ENV BRANCH=$BRANCH +ARG TIMEZONE +ENV TIMEZONE=$TZ +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone +RUN apt-get update && apt-get install -yqq \ + git \ + make \ + file \ + autoconf \ + automake \ + libtool \ + libevent-dev \ + build-essential \ + autotools-dev \ + pkg-config \ + bsdmainutils \ + python3 \ + libevent-dev \ + libboost-all-dev \ + libminiupnpc-dev \ + libzmq3-dev \ + libssl-dev \ + gperf \ + wget \ +# blk commandline utility + jq \ + bc \ +# cross compile arm + g++-arm-linux-gnueabihf \ + binutils-arm-linux-gnueabihf \ +# cross compile aarch64 + g++-aarch64-linux-gnu \ + binutils-aarch64-linux-gnu \ +# cross compile macOS + curl \ + librsvg2-bin \ + libtiff-tools \ + bsdmainutils \ + cmake \ + imagemagick \ + libcap-dev \ + libz-dev \ + libbz2-dev \ + python3-setuptools \ + libtinfo5 + +FROM ubase-base-x86_64-linux-gnu AS ubase-x86_64-linux-gnu + +RUN git clone -b $BRANCH https://github.com/CoinBlack/blackcoin-more.git COPY x86_64-linux-gnu ./x86_64-linux-gnu WORKDIR /blackcoin-more