From 9e6cfaee0d550f30b40b1de062438a6cf9f21883 Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Sat, 25 Feb 2017 00:35:21 +0100 Subject: [PATCH] scripts: generate SHA256 manifest lines in addition to SHA512 The current autoupdater will only respect the last line for a given model name, so we can add SHA256 checksums as long as they occur before the corresponding SHA512 line. --- scripts/generate_manifest.sh | 1 + scripts/sha256sum.sh | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100755 scripts/sha256sum.sh diff --git a/scripts/generate_manifest.sh b/scripts/generate_manifest.sh index b14df8ac..3b2e65df 100755 --- a/scripts/generate_manifest.sh +++ b/scripts/generate_manifest.sh @@ -20,6 +20,7 @@ generate_line() { local model="$1" local file="$2" + [ ! -e "${GLUON_IMAGEDIR}/sysupgrade/$file" ] || echo "$model" "$GLUON_RELEASE" "$(scripts/sha256sum.sh "${GLUON_IMAGEDIR}/sysupgrade/$file")" "$file" [ ! -e "${GLUON_IMAGEDIR}/sysupgrade/$file" ] || echo "$model" "$GLUON_RELEASE" "$(scripts/sha512sum.sh "${GLUON_IMAGEDIR}/sysupgrade/$file")" "$file" } diff --git a/scripts/sha256sum.sh b/scripts/sha256sum.sh new file mode 100755 index 00000000..e4f6f3e5 --- /dev/null +++ b/scripts/sha256sum.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +check_command() { + which "$1" >/dev/null 2>&1 +} + +if check_command sha256sum; then + ret="$(sha256sum "$@")" +elif check_command shasum; then + ret="$(shasum -a 256 "$@")" +elif check_command cksum; then + ret="$(cksum -q -a sha256 "$@")" +else + echo "$0: no suitable sha256sum implementation was found" >&2 + exit 1 +fi + +[ "$?" -eq 0 ] || exit 1 + +echo "$ret" | awk '{ print $1 }'