diff options
author | Billy Donahue <billy.donahue@mongodb.com> | 2018-06-15 13:12:46 -0400 |
---|---|---|
committer | Spencer Jackson <spencer.jackson@mongodb.com> | 2019-01-25 18:01:58 -0500 |
commit | 66c56578a7f608f29cb5a9823b3be8f9c1117fe4 (patch) | |
tree | da2fa53d4ec26978abcd82207d014ab43c60b62b | |
parent | 1446a8c4d4a093f6ac8487796905389d60506725 (diff) | |
download | mongo-66c56578a7f608f29cb5a9823b3be8f9c1117fe4.tar.gz |
SERVER-35620 Use 'shasum -a 256' for tarball integrity.
Instead of using in-house Python.
Refactor fetch_and_build_openssl.sh
workaround for old shasum stdin bug
(cherry picked from commit e8abf50355b49e845fc9d0bd79337c5f3ee4629d)
-rwxr-xr-x[-rw-r--r--] | buildscripts/fetch_and_build_openssl.sh | 38 | ||||
-rw-r--r-- | buildscripts/sha256sum.py | 11 |
2 files changed, 23 insertions, 26 deletions
diff --git a/buildscripts/fetch_and_build_openssl.sh b/buildscripts/fetch_and_build_openssl.sh index 14b60806ecc..09c1924fc55 100644..100755 --- a/buildscripts/fetch_and_build_openssl.sh +++ b/buildscripts/fetch_and_build_openssl.sh @@ -1,31 +1,39 @@ #!/bin/bash set -o errexit -set -o verbose +#set -o verbose if [ $# -ne 3 ]; then - echo "Arguments: <python command> <make flags> <config flags>" + echo "Arguments: <python command> <make flags> <config flags>" >&2 exit 3 fi -PYTHON=$1 -OPENSSL_MAKE_FLAGS=$2 -OPENSSL_CONFIG_FLAGS=$3 +PYTHON="$1" # not needed anymore +OPENSSL_MAKE_FLAGS="$2" +OPENSSL_CONFIG_FLAGS="$3" OPENSSL_VERSION=1.1.0i OPENSSL_NAME=openssl-${OPENSSL_VERSION} OPENSSL_TARBALL=${OPENSSL_NAME}.tar.gz + +basedir="$(pwd)" + mkdir -p openssl -curl -L -o openssl/${OPENSSL_TARBALL} https://s3.amazonaws.com/boxes.10gen.com/build/${OPENSSL_TARBALL} -LOCAL_HASH="$(${PYTHON} buildscripts/sha256sum.py openssl/${OPENSSL_TARBALL})" -echo ${LOCAL_HASH} +pushd openssl +curl -L -o ${OPENSSL_TARBALL} \ + "https://s3.amazonaws.com/boxes.10gen.com/build/${OPENSSL_TARBALL}" -if [ "$LOCAL_HASH" != "ebbfc844a8c8cc0ea5dc10b86c9ce97f401837f3fa08c17b2cdadc118253cf99" ] -then - exit 3 -fi +# To regenerate: shasum -a 256 -b $OPENSSL_TARBALL +shasum -c /dev/fd/0 <<EOF || exit 3 +ebbfc844a8c8cc0ea5dc10b86c9ce97f401837f3fa08c17b2cdadc118253cf99 *$OPENSSL_TARBALL +EOF + +tar -xzf ${OPENSSL_TARBALL} -cd openssl -tar -xvzf ${OPENSSL_TARBALL} --strip-components 1 -./config no-shared --prefix=${PWD}/../openssl_install_dir ${OPENSSL_CONFIG_FLAGS} +mkdir -p build +pushd build +../$OPENSSL_NAME/config no-shared --prefix="$basedir/openssl_install_dir" ${OPENSSL_CONFIG_FLAGS} make ${OPENSSL_MAKE_FLAGS} make install_sw +popd # build + +popd # openssl diff --git a/buildscripts/sha256sum.py b/buildscripts/sha256sum.py deleted file mode 100644 index 5d48c15a788..00000000000 --- a/buildscripts/sha256sum.py +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env python2 -""" -Computes a SHA256 sum of a file. -Accepts a file path, prints the hex encoded hash to stdout. -""" - -import sys -from hashlib import sha256 - -with open(sys.argv[1], 'rb') as f: - print(sha256(f.read()).hexdigest()) |