]>
Commit | Line | Data |
---|---|---|
37037e90 AM |
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 | |
e94dfe96 | 10 | seahorse=no |
37037e90 | 11 | if [ -r "${HOME}/.gnupg/gpg-agent.conf" ]; then |
750f0260 | 12 | grep -qE "^[[:blank:]]*pinentry-program[[:blank:]]*.*pinentry-(qt|qt4|gtk)" "${HOME}/.gnupg/gpg-agent.conf" && X11=yes |
e94dfe96 | 13 | grep -qE "^[[:blank:]]*pinentry-program[[:blank:]]*.*seahorse-agent" "${HOME}/.gnupg/gpg-agent.conf" && X11=yes && seahorse=yes |
37037e90 AM |
14 | fi |
15 | ||
8753b7ed | 16 | if grep -q "^[[:blank:]]*use-agent" ${CFG} 2>/dev/null; then |
2acc22cb | 17 | 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 |
37037e90 AM |
18 | export GPG_AGENT_INFO="$(cat ${HOME}/.gnupg/GPG_AGENT_INFO)" |
19 | else | |
20 | if [ -n "$DISPLAY" -a "$X11" = "yes" ] || [ -z "$DISPLAY" -a "$X11" = "no" ]; then | |
e94dfe96 PZ |
21 | if [ "$seahorse" = "no" ]; then |
22 | eval "$(gpg-agent --daemon)" | |
23 | else | |
24 | eval "$(seahorse-agent --variables)" | |
25 | fi | |
37037e90 | 26 | echo $GPG_AGENT_INFO > ~/.gnupg/GPG_AGENT_INFO |
f6c496b9 | 27 | export GPG_AGENT_INFO |
37037e90 AM |
28 | fi |
29 | fi | |
30 | fi | |
63d7337b | 31 | unset X11 |
32 | unset CFG | |
33 | unset pid |