Browse Source

Meta/RelSign: optionally use existing agent

todo
Junio C Hamano 2 years ago
parent
commit
fa45c35b15
  1. 46
      RelSign

46
RelSign

@ -1,20 +1,29 @@ @@ -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 @@ -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

Loading…
Cancel
Save