Meta/RelSign: optionally use existing agent
Junio C Hamano committed
Oct 10, 2022 at 14:35 UTC
fa45c35b151d7dba1e887fb9d051f435562d9397
1 file changed
+29
-17
RelSign
+29
-17
@@ -1,20 +1,29 @@
1
#!/bin/sh
2
3
-# Use agent
4
-GPG_TTY=$(tty) &&
5
-export GPG_TTY &&
6
-
7
-if AGENT=$(gpg-agent --daemon 2>/dev/null)
3
+if test "${GPG_TTY+set}" = set
4
then
9
- eval "$AGENT" &&
10
- GPG_AGENT_PID=$(expr "$GPG_AGENT_INFO" : ".*:\([1-9][0-9]*\):[1-9][0-9]*$") &&
11
- trap 'kill -0 2>/dev/null $GPG_AGENT_PID && kill $GPG_AGENT_PID' 0 1 2 3 15 &&
12
- kill -0 "$GPG_AGENT_PID"
5
+ WE_STARTED_AGENT=no
6
+ echo >&2 Reusing existing agent
7
else
14
- # agent is always on
15
- gpgconf --kill gpg-agent
16
- GPG_AGENT_PID=
17
-fi &&
8
+ WE_STARTED_AGENT=yes
9
+
10
+ GPG_TTY=$(tty) &&
11
+ export GPG_TTY &&
12
+
13
+ if AGENT=$(gpg-agent --daemon 2>/dev/null)
14
+ then
15
+ eval "$AGENT" &&
16
+ GPG_AGENT_PID=$(expr "$GPG_AGENT_INFO" : ".*:\([1-9][0-9]*\):[1-9][0-9]*$") &&
17
+ trap 'kill -0 2>/dev/null $GPG_AGENT_PID &&
18
+ kill $GPG_AGENT_PID' 0 1 2 3 15 &&
19
+ kill -0 "$GPG_AGENT_PID"
20
+ else
21
+ # agent is always on
22
+ gpgconf --kill gpg-agent
23
+ GPG_AGENT_PID=
24
+ fi || exit
25
+fi
26
+
27
gpg="gpg --use-agent --local-user 96AFE6CB!" || exit
28
29
formats='htmldocs manpages'
@@ -114,9 +123,12 @@ do
123
report "$version"
124
done
125
117
-if test -n "$GPG_AGENT_PID"
126
+if test "$WE_STARTED_AGENT" = yes
127
then
119
- kill "$GPG_AGENT_PID"
120
-else
121
- gpgconf --kill gpg-agent
128
+ if test -n "$GPG_AGENT_PID"
129
+ then
130
+ kill "$GPG_AGENT_PID"
131
+ else
132
+ gpgconf --kill gpg-agent
133
+ fi
134
fi