]> git.pld-linux.org Git - packages/gnupg2.git/blame - gnupg-agent.sh
- use readlink from coreutils instead of our own resolvesymlink; handle "gpg-agent...
[packages/gnupg2.git] / gnupg-agent.sh
CommitLineData
37037e90
AM
1#!/bin/sh
2
3if [ -r "${HOME}/.gnupg/gpg.conf" ]; then
131032f0 4 CFG="${HOME}/.gnupg/gpg.conf"
37037e90 5else
131032f0 6 CFG="${HOME}/.gnupg/options"
37037e90
AM
7fi
8
e94dfe96 9seahorse=no
37037e90 10if [ -r "${HOME}/.gnupg/gpg-agent.conf" ]; then
131032f0 11 grep -qE "^[[:blank:]]*pinentry-program[[:blank:]]*.*seahorse-agent" "${HOME}/.gnupg/gpg-agent.conf" && seahorse=yes
37037e90
AM
12fi
13
8753b7ed 14if grep -q "^[[:blank:]]*use-agent" ${CFG} 2>/dev/null; then
131032f0
AM
15 if [ -f "${HOME}/.gnupg/GPG_AGENT_INFO" ] && \
16 pid="$(cut -d: -f2 $HOME/.gnupg/GPG_AGENT_INFO)" && \
055da82f 17 agent="$(readlink -n "/proc/$pid/exe")" && agent=${agent%% *} && \
d0a8b174 18 [ "$agent" = "/usr/bin/gpg-agent" -o "$agent" = "/usr/bin/seahorse-agent" ]; then
131032f0 19 export GPG_AGENT_INFO="$(cat ${HOME}/.gnupg/GPG_AGENT_INFO)"
9594d542 20 else
131032f0
AM
21 if [ "$seahorse" = "no" ]; then
22 eval "$(gpg-agent --daemon)"
23 else
24 eval "$(seahorse-agent --variables)"
25 fi
26 echo $GPG_AGENT_INFO > ~/.gnupg/GPG_AGENT_INFO
27 export GPG_AGENT_INFO
37037e90 28 fi
37037e90 29fi
d0a8b174
AM
30unset agent
31unset seahorse
63d7337b 32unset CFG
33unset pid
This page took 0.037264 seconds and 4 git commands to generate.