aboutsummaryrefslogtreecommitdiffstats
path: root/util/get-checksums
diff options
context:
space:
mode:
Diffstat (limited to 'util/get-checksums')
-rwxr-xr-xutil/get-checksums42
1 files changed, 42 insertions, 0 deletions
diff --git a/util/get-checksums b/util/get-checksums
new file mode 100755
index 0000000..9d1b86a
--- /dev/null
+++ b/util/get-checksums
@@ -0,0 +1,42 @@
+#!/bin/sh
+# See LICENSE file for copyright and license details.
+
+set -e
+
+gensums () {
+ gensum sha224sum SHA224
+ gensum sha256sum SHA256
+ gensum sha384sum SHA384
+ gensum sha512sum SHA512
+ gensum sha512-224sum SHA512/224
+ gensum sha512-256sum SHA512/256
+ gensum sha3-224sum SHA3-224
+ gensum sha3-256sum SHA3-256
+ gensum sha3-384sum SHA3-384
+ gensum sha3-512sum SHA3-512
+ gensum b2sum BLAKE2b
+}
+
+if test $# = 1 && test "$1" = '-- output checksum order --'; then
+ gensum () { printf '%s\n' "$2"; }
+ gensums
+ exit 0
+fi
+
+if ! test $# = 1; then
+ printf 'usage: %s tarball\n' "$0" >&2
+ exit 1
+fi
+
+tarball="$1"
+
+gensum () {
+ tool="$1"
+ name="$2"
+
+ sum="$(${tool} < "${tarball}" | cut -d ' ' -f 1)"
+ test -n "${sum}"
+ printf '%s checksum: %s\n' "${name}" "${sum}"
+}
+
+gensums