Allow overriding GnuPG home directory
[buildbot.git] / phase1 / signall.sh
1 #!/usr/bin/env bash
2
3 tarball="$1"
4 keyid="$2"
5 comment="$3"
6
7 tmpdir="signall.$$"
8 tarball="$(readlink -f "$tarball")"
9
10 finish() { rm -rf "$tmpdir"; exit $1; }
11
12 trap "finish 255" HUP INT TERM
13
14 if [ ! -f "$tarball" ]; then
15 echo "Usage: [GNUPGHOME=... [PASSFILE=...]] $0 <tarball> [<keyid> [<comment>]]"
16 finish 1
17 fi
18
19 umask 022
20
21 mkdir "$tmpdir" || finish 2
22 tar -C "$tmpdir/" -xzf "$tarball" || finish 3
23
24 find "$tmpdir/" -type f -not -name "*.gpg" -exec gpg \
25 --no-version --batch --yes -a -b \
26 ${keyid:+-u "$keyid"} \
27 ${comment:+--comment="$comment"} \
28 ${GNUPGHOME:+--homedir "$GNUPGHOME"} \
29 ${PASSFILE:+--passphrase-file "$PASSFILE"} \
30 -o "{}.gpg" "{}" \; || finish 4
31
32 tar -C "$tmpdir/" -czf "$tarball" . || finish 5
33
34 finish 0