diff --git a/contrib/release/make-sha256sums.sh b/contrib/release/make-sha256sums.sh new file mode 100755 --- /dev/null +++ b/contrib/release/make-sha256sums.sh @@ -0,0 +1,35 @@ +#!/usr/bin/env bash + +export LC_ALL=C + +set -euo pipefail + +help_message() { + echo "Output sha256sums from Gitian build output." + echo "Usage: $0 AssetDirectory > sha256sums" +} + +if [ "$#" -ne 1 ]; then + echo "Error: Expects 1 argument: AssetDirectory" + exit 1 +fi + +case $1 in + -h|--help) + help_message + exit 0 + ;; +esac + +# Trim off preceding whitespace that exists in the manifest +trim() { + sed 's/^\s*//' +} + +# Get the hash of the source tarball and output that first +cat "$1"/linux/bitcoin-abc-*linux-res.yml | grep -E "bitcoin-abc-[0-9.]+.tar.gz" | trim + +# Output hashes of all of the binaries +cat "$1"/linux/bitcoin-abc-*linux-res.yml | grep -E "bitcoin-abc-[0-9.]+.*-linux-.*.tar.gz" | trim +cat "$1"/win/bitcoin-abc-*win-res.yml | grep -E -- "bitcoin-abc-[0-9.]+-win.*.(exe|tar.gz|zip)" | trim +cat "$1"/osx/bitcoin-abc-*osx-res.yml | grep -E -- "bitcoin-abc-[0-9.]+-osx.*.(dmg|tar.gz)" | trim