]> git.pld-linux.org Git - packages/gnupg2.git/blob - gnupg-agent.sh
03c152878581d6177f6f8464b7c3536eee407e1b
[packages/gnupg2.git] / gnupg-agent.sh
1 #!/bin/sh
2
3 if [ -r "${HOME}/.gnupg/gpg.conf" ]; then
4     CFG="${HOME}/.gnupg/gpg.conf"
5 else
6     CFG="${HOME}/.gnupg/options"
7 fi
8
9 X11=no
10 if [ -r "${HOME}/.gnupg/gpg-agent.conf" ]; then
11     grep -qE "^[[:blank:]]*pinentry-program[[:blank:]]*.*pinentry-(qt|gtk)" "${HOME}/.gnupg/gpg-agent.conf" && X11=yes
12     grep -qE "^[[:blank:]]*pinentry-program[[:blank:]]*.*seahorse-agent" "${HOME}/.gnupg/gpg-agent.conf" && X11=yes
13 fi
14
15 if grep -q "^[[:blank:]]*use-agent" ${CFG} 2>/dev/null; then
16     if [ -f "${HOME}/.gnupg/GPG_AGENT_INFO" ] && pid="$(cut -d: -f2 $HOME/.gnupg/GPG_AGENT_INFO)" && [ -n "$pid" ] && kill -0 "$pid"  2>/dev/null; then
17         export GPG_AGENT_INFO="$(cat ${HOME}/.gnupg/GPG_AGENT_INFO)"
18     else
19         if [ -n "$DISPLAY" -a "$X11" = "yes" ] || [ -z "$DISPLAY" -a "$X11" = "no" ]; then
20             eval "$(gpg-agent --daemon)"
21             echo $GPG_AGENT_INFO > ~/.gnupg/GPG_AGENT_INFO
22             export GPG_AGENT_INFO
23         fi
24     fi
25 fi
26 unset X11
27 unset CFG
28 unset pid
This page took 0.038012 seconds and 2 git commands to generate.