2
0
Lauri Ojansivu 7 жил өмнө
parent
commit
44e20023cc
2 өөрчлөгдсөн 69 нэмэгдсэн , 49 устгасан
  1. 3 49
      Dockerfile
  2. 66 0
      download-sandstorm-node.sh

+ 3 - 49
Dockerfile

@@ -47,55 +47,9 @@ RUN \
     #   Fiber.poolSize = 1e9;
     # Getting newest Node from Sandstorm fork of Node
     # Source: https://github.com/sandstorm-io/node
-    \
-    # From https://github.com/sandstorm-io/sandstorm/blob/master/branch.conf
-    SANDSTORM_BRANCH_NUMBER=0 && \
-    \
-    # From https://github.com/sandstorm-io/sandstorm/blob/master/release.sh
-    SANDSTORM_CHANNEL=dev && \
-    SANDSTORM_LAST_BUILD=$(curl -fs https://install.sandstorm.io/$SANDSTORM_CHANNEL) && \
-    \
-    # Latest Sandstorm Release
-    if (( SANDSTORM_LAST_BUILD / 1000 > SANDSTORM_BRANCH_NUMBER )); && \
-    then && \
-      echo "SANDSTORM BRANCH ERROR: $CHANNEL has already moved past this branch!" >&2 && \
-      echo "  I refuse to replace it with an older branch." >&2 && \
-      exit 1 && \
-    fi && \
-    BASE_BUILD=$(( BRANCH_NUMBER * 1000 )) && \
-    BUILD=$(( BASE_BUILD > LAST_BUILD ? BASE_BUILD : LAST_BUILD + 1 )) && \
-    BUILD_MINOR="$(( $BUILD % 1000 ))" && \
-    DISPLAY_VERSION="${BRANCH_NUMBER}.${BUILD_MINOR}" && \
-    TAG_NAME="v${DISPLAY_VERSION}" && \
-    SIGNING_KEY_ID=160D2D577518B58D94C9800B63F227499DA8CCBD && \
-    TARBALL=sandstorm-$SANDSTORM_LAST_BUILD.tar.xz && \
-    NODE_EXE=sandstorm-$SANDSTORM_LAST_BUILD/bin/node && \
-    # Downloading Sandstorm GPG keys to verify Sandstorm release.
-    # Do verification in custom GPG workspace
-    # https://docs.sandstorm.io/en/latest/install/#option-3-pgp-verified-install
-    export GNUPGHOME=$(mktemp -d) && \
-    curl https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/keys/release-keyring.gpg | gpg --import && \
-    wget https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/keys/release-certificate.kentonv.sig && \
-    gpg --decrypt release-certificate.kentonv.sig && \
-    # Downloading Sandstorm release from https://dl.sandstorm.io/${TARBALL}
-    wget https://dl.sandstorm.io/$TARBALL && \
-    # Downloading signature for Sandstorm release from https://dl.sandstorm.io/${TARBALL}.sig
-    wget https://dl.sandstorm.io/$TARBALL.sig && \
-    # Verifying signature of Sandstorm release
-    gpg --verify $TARBALL.sig $TARBALL && \
-    \
-    if [ $? -eq 0 ] \
-    then \
-      echo "=== All is well. Good signature in Sandstorm." \
-    else \
-      echo "=== PROBLEM WITH SANDSTORM SIGNATURE." \
-      exit 1 \
-    fi && \
-    echo "=== Extracting Node from Sandstorm release tarball" && \
-    # --strip 2 removes path of 2 subdirectories
-    tar -xf $TARBALL $NODE_EXE --strip=2 && \
-    # Deleting Sandstorm release tarball and signature
-    rm $TARBALL $TARBALL.sig release-certificate.kentonv.si* && \
+    wget https://github.com/wekan/wekan/blob/devel/download-sandstorm-node.sh && \
+    bash download-sandstorm-node.sh && \
+    rm download-sandstorm-node.sh && \
     # == OLD ==
     # Download node version 8.11.1 that has fix included, node binary copied from Sandstorm
     # Description at https://releases.wekan.team/node.txt

+ 66 - 0
download-sandstorm-node.sh

@@ -0,0 +1,66 @@
+#!/bin/bash
+
+echo "=== GETTING NEWEST NODE FROM SANDSTORM FORK OF NODE ==="
+echo "=== SOURCE: https://github.com/sandstorm-io/node ==="
+
+# From https://github.com/sandstorm-io/sandstorm/blob/master/branch.conf
+SANDSTORM_BRANCH_NUMBER=0
+
+# From https://github.com/sandstorm-io/sandstorm/blob/master/release.sh
+SANDSTORM_CHANNEL=dev
+SANDSTORM_LAST_BUILD=$(curl -fs https://install.sandstorm.io/$SANDSTORM_CHANNEL)
+
+echo "=== LATEST SANDSTORM RELEASE: ${SANDSTORM_LAST_BUILD}==="
+
+if (( SANDSTORM_LAST_BUILD / 1000 > SANDSTORM_BRANCH_NUMBER )); then
+  echo "SANDSTORM BRANCH ERROR: $CHANNEL has already moved past this branch!" >&2
+  echo "  I refuse to replace it with an older branch." >&2
+  exit 1
+fi
+
+BASE_BUILD=$(( BRANCH_NUMBER * 1000 ))
+BUILD=$(( BASE_BUILD > LAST_BUILD ? BASE_BUILD : LAST_BUILD + 1 ))
+BUILD_MINOR="$(( $BUILD % 1000 ))"
+DISPLAY_VERSION="${BRANCH_NUMBER}.${BUILD_MINOR}"
+TAG_NAME="v${DISPLAY_VERSION}"
+SIGNING_KEY_ID=160D2D577518B58D94C9800B63F227499DA8CCBD
+
+TARBALL=sandstorm-$SANDSTORM_LAST_BUILD.tar.xz
+NODE_EXE=sandstorm-$SANDSTORM_LAST_BUILD/bin/node
+
+echo "=== DOWNLOADING SANDSTORM GPG KEYS TO VERIFY SANDSTORM RELEASE ==="
+
+# Do verification in custom GPG workspace
+# https://docs.sandstorm.io/en/latest/install/#option-3-pgp-verified-install
+export GNUPGHOME=$(mktemp -d)
+
+curl https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/keys/release-keyring.gpg | \
+    gpg --import
+
+wget https://raw.githubusercontent.com/sandstorm-io/sandstorm/master/keys/release-certificate.kentonv.sig
+
+gpg --decrypt release-certificate.kentonv.sig
+
+echo "=== DOWNLOADING SANDSTORM RELEASE FROM https://dl.sandstorm.io/${TARBALL} ==="
+wget https://dl.sandstorm.io/$TARBALL
+
+echo "=== DOWNLOADING SIGNATURE FOR SANDSTORM RELEASE FROM https://dl.sandstorm.io/${TARBALL}.sig ==="
+wget https://dl.sandstorm.io/$TARBALL.sig
+
+echo "=== VERIFYING SIGNATURE OF SANDSTORM RELEASE ==="
+gpg --verify $TARBALL.sig $TARBALL
+
+if [ $? -eq 0 ]
+then
+  echo "=== ALL IS WELL. GOOD SIGNATURE IN SANDSTORM. ==="
+else
+ echo "=== PROBLEM WITH SANDSTORM SIGNATURE. ==="
+ exit 1
+fi
+
+echo "=== EXTRACTING NODE FROM SANDSTORM RELEASE TARBALL ==="
+# --strip 2 removes path of 2 subdirectories
+tar -xf $TARBALL $NODE_EXE --strip=2
+
+echo "=== REMOVING SANDSTORM RELEASE TARBALL AND SIGNATURE ==="
+rm $TARBALL $TARBALL.sig release-certificate.kentonv.si*