blob: 42063f0e207bc47ddfdd3ca443cd4ba95a9d8cde [file] [log] [blame]
#!/bin/bash
# Usage: ./fetch.sh url output_filename [sha]
# Note: the sha should be of the raw download, not post-gunzipped.
# sha's change after each boot of a fs image.
set -exu
fetch() {
local url=$1
local output_filename=$2
local sha=$3
# if the file does not exist, fetch it
if [[ ! -e $output_filename ]]; then
wget $url -O "$output_filename.gz"
# if a sha was provided, verify it
if [[ -n "$sha" ]]; then
echo "$sha $output_filename.gz" | sha1sum -c -
fi
gunzip "$output_filename.gz"
fi
}
fetch $@