mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			33 lines
		
	
	
		
			667 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			667 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/bin/sh
 | 
						|
 | 
						|
if [ "$#" -ne 3 ]; then
 | 
						|
    echo "Usage:"
 | 
						|
    echo "  sha256-file-to SHA256 http://FETCH/FROM DST"
 | 
						|
    echo
 | 
						|
    echo "SHA256 is the sha256sum of the file fetched; the file is"
 | 
						|
    echo "placed in DST."
 | 
						|
    exit 1
 | 
						|
fi
 | 
						|
 | 
						|
set -e
 | 
						|
set -x
 | 
						|
 | 
						|
SHA256="$1"
 | 
						|
URL="$2"
 | 
						|
DST="$3"
 | 
						|
 | 
						|
# Work in a tmpdir which we clean up at the end
 | 
						|
tmpdir="$(mktemp -d)"
 | 
						|
trap 'rm -r "$tmpdir"' EXIT
 | 
						|
cd "$tmpdir"
 | 
						|
 | 
						|
# Fetch to a predictable name, not whatever curl guesses from the URL
 | 
						|
LOCALFILE="output"
 | 
						|
curl -fL --retry 3 -o "$LOCALFILE" "$URL"
 | 
						|
 | 
						|
# Check the hash against what was passed in
 | 
						|
echo "$SHA256  $LOCALFILE" >"$LOCALFILE.sha256"
 | 
						|
sha256sum -c "$LOCALFILE.sha256"
 | 
						|
 | 
						|
mv "$LOCALFILE" "$DST"
 |