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
index 132413d7d2..c7d6ce3177 100755
--- a/RelSign
+++ b/RelSign
@@ -1,20 +1,29 @@
#!/bin/sh
-# Use agent
-GPG_TTY=$(tty) &&
-export GPG_TTY &&
-
-if AGENT=$(gpg-agent --daemon 2>/dev/null)
+if test "${GPG_TTY+set}" = set
then
- eval "$AGENT" &&
- GPG_AGENT_PID=$(expr "$GPG_AGENT_INFO" : ".*:\([1-9][0-9]*\):[1-9][0-9]*$") &&
- trap 'kill -0 2>/dev/null $GPG_AGENT_PID && kill $GPG_AGENT_PID' 0 1 2 3 15 &&
- kill -0 "$GPG_AGENT_PID"
+ WE_STARTED_AGENT=no
+ echo >&2 Reusing existing agent
else
- # agent is always on
- gpgconf --kill gpg-agent
- GPG_AGENT_PID=
-fi &&
+ WE_STARTED_AGENT=yes
+
+ GPG_TTY=$(tty) &&
+ export GPG_TTY &&
+
+ if AGENT=$(gpg-agent --daemon 2>/dev/null)
+ then
+ eval "$AGENT" &&
+ GPG_AGENT_PID=$(expr "$GPG_AGENT_INFO" : ".*:\([1-9][0-9]*\):[1-9][0-9]*$") &&
+ trap 'kill -0 2>/dev/null $GPG_AGENT_PID &&
+ kill $GPG_AGENT_PID' 0 1 2 3 15 &&
+ kill -0 "$GPG_AGENT_PID"
+ else
+ # agent is always on
+ gpgconf --kill gpg-agent
+ GPG_AGENT_PID=
+ fi || exit
+fi
+
gpg="gpg --use-agent --local-user 96AFE6CB!" || exit
formats='htmldocs manpages'
@@ -114,9 +123,12 @@ do
report "$version"
done
-if test -n "$GPG_AGENT_PID"
+if test "$WE_STARTED_AGENT" = yes
then
- kill "$GPG_AGENT_PID"
-else
- gpgconf --kill gpg-agent
+ if test -n "$GPG_AGENT_PID"
+ then
+ kill "$GPG_AGENT_PID"
+ else
+ gpgconf --kill gpg-agent
+ fi
fi