github.com/judwhite/consul@v1.4.4-0.20190315202039-6ef970a191d3/build-support/scripts/verify.sh (about) 1 #!/bin/bash 2 SCRIPT_NAME="$(basename ${BASH_SOURCE[0]})" 3 pushd $(dirname ${BASH_SOURCE[0]}) > /dev/null 4 SCRIPT_DIR=$(pwd) 5 pushd ../.. > /dev/null 6 SOURCE_DIR=$(pwd) 7 popd > /dev/null 8 pushd ../functions > /dev/null 9 FN_DIR=$(pwd) 10 popd > /dev/null 11 popd > /dev/null 12 13 source "${SCRIPT_DIR}/functions.sh" 14 15 function usage { 16 cat <<-EOF 17 Usage: ${SCRIPT_NAME} [<options ...>] 18 19 Description: 20 21 This script will verify a Consul release build. It will check for prebuilt 22 files, verify shasums and gpg signatures as well as run some commands 23 and prompt for manual verification where required. 24 25 Options: 26 -s | --source DIR Path to source to build. 27 Defaults to "${SOURCE_DIR}" 28 29 -h | --help Print this help text. 30 EOF 31 } 32 33 function err_usage { 34 err "$1" 35 err "" 36 err "$(usage)" 37 } 38 39 function main { 40 declare sdir="${SOURCE_DIR}" 41 declare vers="" 42 43 while test $# -gt 0 44 do 45 case "$1" in 46 -h | --help ) 47 usage 48 return 0 49 ;; 50 -s | --source ) 51 if test -z "$2" 52 then 53 err_usage "ERROR: option -s/--source requires an argument" 54 return 1 55 fi 56 57 if ! test -d "$2" 58 then 59 err_usage "ERROR: '$2' is not a directory and not suitable for the value of -s/--source" 60 return 1 61 fi 62 63 sdir="$2" 64 shift 2 65 ;; 66 -v | --version ) 67 if test -z "$2" 68 then 69 err_usage "ERROR: option -v/--version requires an argument" 70 return 1 71 fi 72 73 vers="$2" 74 shift 2 75 ;; 76 *) 77 err_usage "ERROR: Unknown argument: '$1'" 78 return 1 79 ;; 80 esac 81 done 82 83 if test -z "${vers}" 84 then 85 vers=$(parse_version "${sdir}" true false) 86 fi 87 88 status_stage "=> Starting release verification for version: ${version}" 89 verify_release_build "${sdir}" "${vers}" || return 1 90 91 return 0 92 } 93 94 main "$@" 95 exit $? 96