From 7f6f8a4513bfa07356f7ac6a88da346d8c325e7a Mon Sep 17 00:00:00 2001 From: Maxim Biro Date: Thu, 21 Sep 2017 21:30:55 -0400 Subject: [PATCH] feat(build): Check sha256 of tarballs for Windows cross-compilation --- windows/cross-compile/build.sh | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/windows/cross-compile/build.sh b/windows/cross-compile/build.sh index efaed04e1..da3579ef9 100644 --- a/windows/cross-compile/build.sh +++ b/windows/cross-compile/build.sh @@ -172,6 +172,23 @@ MAKEFLAGS=j$(nproc) export MAKEFLAGS +# Helper functions + +check_sha256() +{ + if ! ( echo "$1 $2" | sha256sum -c --status - ) + then + echo "Error: sha256 of $2 doesn't match the known one." + echo "Expected: $1 $2" + echo -n "Got: " + sha256sum "$2" + exit 1 + else + echo "sha256 matches the expected one: $1" + fi +} + + # OpenSSL OPENSSL_PREFIX_DIR="$DEP_DIR/libopenssl" @@ -181,18 +198,9 @@ then mkdir -p "$OPENSSL_PREFIX_DIR" OPENSSL_VERSION=1.0.2l - OPENSSL_SHA256_HASH=ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c wget https://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz - - if ! ( echo "$OPENSSL_SHA256_HASH openssl-$OPENSSL_VERSION.tar.gz" | sha256sum -c --status - ) - then - echo "Error: sha256 of openssl-$OPENSSL_VERSION.tar.gz doesn't match the known one." - exit 1 - else - echo "sha256 matches the expected one: $OPENSSL_SHA256_HASH" - fi - + check_sha256 "ce07195b659e75f4e1db43552860070061f156a98bb37b672b101ba6e3ddf30c" "openssl-$OPENSSL_VERSION.tar.gz" bsdtar -xf openssl*.tar.gz rm openssl*.tar.gz cd openssl* @@ -234,7 +242,7 @@ then QT_VERSION=$QT_MAJOR.$QT_MINOR.$QT_PATCH wget $QT_MIRROR/official_releases/qt/$QT_MAJOR.$QT_MINOR/$QT_VERSION/single/qt-everywhere-opensource-src-$QT_VERSION.tar.xz - + check_sha256 "83e61bfc78bba230770704e828fa4d23fe3bbfdcfa4a8f5db37ce149731d89b3" "qt-everywhere-opensource-src-$QT_VERSION.tar.xz" bsdtar -xf qt*.tar.xz rm qt*.tar.xz cd qt* @@ -356,6 +364,7 @@ then mkdir -p "$FFMPEG_PREFIX_DIR" wget https://www.ffmpeg.org/releases/ffmpeg-3.2.6.tar.xz + check_sha256 "3751cebb5c71a861288267769114d12b966a7703a686a325d90a93707f3a6d9f" "ffmpeg-3.2.6.tar.xz" bsdtar -xf ffmpeg*.tar.xz cd ffmpeg* @@ -604,6 +613,7 @@ then mkdir -p "$QRENCODE_PREFIX_DIR" wget https://fukuchi.org/works/qrencode/qrencode-3.4.4.tar.bz2 + check_sha256 "efe5188b1ddbcbf98763b819b146be6a90481aac30cfc8d858ab78a19cde1fa5" "qrencode-3.4.4.tar.bz2" bsdtar -xf qrencode*.tar.bz2 rm qrencode*.tar.bz2 cd qrencode* @@ -633,6 +643,7 @@ then mkdir -p "$EXIF_PREFIX_DIR" wget https://sourceforge.net/projects/libexif/files/libexif/0.6.21/libexif-0.6.21.tar.bz2 + check_sha256 "16cdaeb62eb3e6dfab2435f7d7bccd2f37438d21c5218ec4e58efa9157d4d41a" "libexif-0.6.21.tar.bz2" bsdtar -xf libexif*.tar.bz2 rm libexif*.tar.bz2 cd libexif*