aboutsummaryrefslogtreecommitdiffstats
path: root/util/get-checksums
blob: 9d1b86ac7b4279d23ff8e64b2406c781864b7d66 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
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