]> git.pld-linux.org Git - packages/gnupg2.git/blame_incremental - gnupg-agent.sh
- up to 2.0.7
[packages/gnupg2.git] / gnupg-agent.sh
... / ...
CommitLineData
1#!/bin/sh
2
3if [ -r "${HOME}/.gnupg/gpg.conf" ]; then
4 CFG="${HOME}/.gnupg/gpg.conf"
5else
6 CFG="${HOME}/.gnupg/options"
7fi
8
9X11=no
10seahorse=no
11if [ -r "${HOME}/.gnupg/gpg-agent.conf" ]; then
12 grep -qE "^[[:blank:]]*pinentry-program[[:blank:]]*.*pinentry-(qt|gtk)" "${HOME}/.gnupg/gpg-agent.conf" && X11=yes
13 grep -qE "^[[:blank:]]*pinentry-program[[:blank:]]*.*seahorse-agent" "${HOME}/.gnupg/gpg-agent.conf" && X11=yes && seahorse=yes
14fi
15
16if grep -q "^[[:blank:]]*use-agent" ${CFG} 2>/dev/null; then
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
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
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
28 fi
29 fi
30fi
31unset X11
32unset CFG
33unset pid
This page took 0.068705 seconds and 4 git commands to generate.