diff --git a/RelSign b/RelSign index 66fd3fd05c..132413d7d2 100755 --- a/RelSign +++ b/RelSign @@ -3,10 +3,18 @@ # Use agent GPG_TTY=$(tty) && export GPG_TTY && -eval $(gpg-agent --daemon) && -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" && + +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 && gpg="gpg --use-agent --local-user 96AFE6CB!" || exit formats='htmldocs manpages' @@ -106,4 +114,9 @@ do report "$version" done -kill $GPG_AGENT_PID +if test -n "$GPG_AGENT_PID" +then + kill "$GPG_AGENT_PID" +else + gpgconf --kill gpg-agent +fi