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