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