Meta/RelBuild: use gpg agent

With kup, the maintainer needs to sign multiple files. Start gpg agent and use it for a short while.

Junio C Hamano committed Aug 19, 2013 at 13:38 UTC 5a5efc9d43198a3140feb7a7003fe01e40659473
1 file changed +15 -5
RelBuild
+15 -5
@@ -1,16 +1,16 @@
1 #!/bin/sh
2
3 +j="-j 8"
4 version=$(git describe --exact) &&
5 label=$(echo "$version" | sed -e 's|^v||') &&
6 version=$(echo "$label" | sed -e 's|-|.|g') || exit
7
7 -make clean && make dist &&
8 +make clean && make $j dist &&
9
10 ASCIIDOC_NO_ROFF=YesPlease \
11 ASCIIDOC8=YesPlease \
12 MAN_BASE_URL="git-htmldocs/" \
12 -make dist-doc || exit
13 -
13 +make $j dist-doc || exit
14 # The above used to be
15 # MAN_BASE_URL="http://www.kernel.org/pub/software/scm/git/docs/"
16
@@ -25,13 +25,23 @@ do
25 test -f $file || exit
26 done
27
28 -sha1sum $files | gpg --clearsign >git-$version.sign
28 +# Use agent
29 +GPG_TTY=$(tty) &&
30 +export GPG_TTY &&
31 +eval $(gpg-agent --daemon) &&
32 +GPG_AGENT_PID=$(expr "$GPG_AGENT_INFO" : ".*:\([1-9][0-9]*\):[1-9][0-9]*$") &&
33 +trap 'kill -0 $GPG_AGENT_PID && kill $GPG_AGENT_PID' 0 1 2 3 15 &&
34 +kill -0 "$GPG_AGENT_PID" &&
35 +gpg="gpg --use-agent" || exit
36 +
37 +sha1sum $files | $gpg --clearsign >git-$version.sign || exit
38
39 for file in $files
40 do
41 gzip -dc <"$file" >"${file%.gz}" &&
33 - gpg -b "${file%.gz}" &&
42 + $gpg -b "${file%.gz}" &&
43 rm "${file%.gz}" || exit
44 done
45
46 +kill $GPG_AGENT_PID
47 ls -l git-$version.sign $files git*-$version.tar.sig