diff --git a/contrib/build-wine/prepare-wine.sh b/contrib/build-wine/prepare-wine.sh index f9e6941f0..7fb3b3cd8 100755 --- a/contrib/build-wine/prepare-wine.sh +++ b/contrib/build-wine/prepare-wine.sh @@ -24,62 +24,12 @@ PYHOME="c:/$PYTHON_FOLDER" PYTHON="wine $PYHOME/python.exe -OO -B" -# based on https://superuser.com/questions/497940/script-to-verify-a-signature-with-gpg -verify_signature() { - local file=$1 keyring=$2 out= - if out=$(gpg --no-default-keyring --keyring "$keyring" --status-fd 1 --verify "$file" 2>/dev/null) && - echo "$out" | grep -qs "^\[GNUPG:\] VALIDSIG "; then - return 0 - else - echo "$out" >&2 - exit 1 - fi -} - -verify_hash() { - local file=$1 expected_hash=$2 - actual_hash=$(sha256sum $file | awk '{print $1}') - if [ "$actual_hash" == "$expected_hash" ]; then - return 0 - else - echo "$file $actual_hash (unexpected hash)" >&2 - rm "$file" - exit 1 - fi -} - -download_if_not_exist() { - local file_name=$1 url=$2 - if [ ! -e $file_name ] ; then - wget -O $PWD/$file_name "$url" - fi -} - -# https://github.com/travis-ci/travis-build/blob/master/lib/travis/build/templates/header.sh -retry() { - local result=0 - local count=1 - while [ $count -le 3 ]; do - [ $result -ne 0 ] && { - echo -e "\nThe command \"$@\" failed. Retrying, $count of 3.\n" >&2 - } - ! { "$@"; result=$?; } - [ $result -eq 0 ] && break - count=$(($count + 1)) - sleep 1 - done - - [ $count -gt 3 ] && { - echo -e "\nThe command \"$@\" failed 3 times.\n" >&2 - } - - return $result -} - # Let's begin! -here=$(dirname $(readlink -e $0)) +here="$(dirname "$(readlink -e "$0")")" set -e +. $here/../build_tools_util.sh + wine 'wineboot' # HACK to work around https://bugs.winehq.org/show_bug.cgi?id=42474#c22 diff --git a/contrib/build_tools_util.sh b/contrib/build_tools_util.sh new file mode 100755 index 000000000..94d2cdbe9 --- /dev/null +++ b/contrib/build_tools_util.sh @@ -0,0 +1,69 @@ +#!/usr/bin/env bash + +RED='\033[0;31m' +BLUE='\033[0;34m' +YELLOW='\033[0;33m' +NC='\033[0m' # No Color +function info { + printf "\r💬 ${BLUE}INFO:${NC} ${1}\n" +} +function fail { + printf "\r🗯 ${RED}ERROR:${NC} ${1}\n" + exit 1 +} +function warn { + printf "\r⚠️ ${YELLOW}WARNING:${NC} ${1}\n" +} + + +# based on https://superuser.com/questions/497940/script-to-verify-a-signature-with-gpg +function verify_signature() { + local file=$1 keyring=$2 out= + if out=$(gpg --no-default-keyring --keyring "$keyring" --status-fd 1 --verify "$file" 2>/dev/null) && + echo "$out" | grep -qs "^\[GNUPG:\] VALIDSIG "; then + return 0 + else + echo "$out" >&2 + exit 1 + fi +} + +function verify_hash() { + local file=$1 expected_hash=$2 + actual_hash=$(sha256sum $file | awk '{print $1}') + if [ "$actual_hash" == "$expected_hash" ]; then + return 0 + else + echo "$file $actual_hash (unexpected hash)" >&2 + rm "$file" + exit 1 + fi +} + +function download_if_not_exist() { + local file_name=$1 url=$2 + if [ ! -e $file_name ] ; then + wget -O $file_name "$url" + fi +} + +# https://github.com/travis-ci/travis-build/blob/master/lib/travis/build/templates/header.sh +function retry() { + local result=0 + local count=1 + while [ $count -le 3 ]; do + [ $result -ne 0 ] && { + echo -e "\nThe command \"$@\" failed. Retrying, $count of 3.\n" >&2 + } + ! { "$@"; result=$?; } + [ $result -eq 0 ] && break + count=$(($count + 1)) + sleep 1 + done + + [ $count -gt 3 ] && { + echo -e "\nThe command \"$@\" failed 3 times.\n" >&2 + } + + return $result +} diff --git a/contrib/osx/base.sh b/contrib/osx/base.sh index 2c22ca9cf..c2e3527c0 100644 --- a/contrib/osx/base.sh +++ b/contrib/osx/base.sh @@ -1,19 +1,7 @@ #!/usr/bin/env bash -RED='\033[0;31m' -BLUE='\033[0,34m' -YELLOW='\033[0;33m' -NC='\033[0m' # No Color -function info { - printf "\r💬 ${BLUE}INFO:${NC} ${1}\n" -} -function fail { - printf "\r🗯 ${RED}ERROR:${NC} ${1}\n" - exit 1 -} -function warn { - printf "\r⚠️ ${YELLOW}WARNING:${NC} ${1}\n" -} +. $(dirname "$0")/../build_tools_util.sh + function DoCodeSignMaybe { # ARGS: infoName fileOrDirName codesignIdentity infoName="$1"