]> git.pld-linux.org Git - packages/gnupg2.git/blobdiff - gnupg-agent.sh
- finished pl.po-update patch update
[packages/gnupg2.git] / gnupg-agent.sh
index 4fd152e7bde899cb95b1981ec8f5f32a85bb3fb2..8098f5819fda0fa63139c35af07e544a0dc702af 100644 (file)
@@ -7,17 +7,27 @@ else
 fi
 
 X11=no
+seahorse=no
 if [ -r "${HOME}/.gnupg/gpg-agent.conf" ]; then
-    grep -qE "^pinentry-program.*pinentry-(qt|gtk)" "${HOME}/.gnupg/gpg-agent.conf" && X11=yes
+    grep -qE "^[[:blank:]]*pinentry-program[[:blank:]]*.*pinentry-(qt|gtk)" "${HOME}/.gnupg/gpg-agent.conf" && X11=yes
+    grep -qE "^[[:blank:]]*pinentry-program[[:blank:]]*.*seahorse-agent" "${HOME}/.gnupg/gpg-agent.conf" && X11=yes && seahorse=yes
 fi
 
-if grep -q "^use-agent" ${CFG} 2>/dev/null; then
-    if [ -f "${HOME}/.gnupg/GPG_AGENT_INFO" ] && kill -0 "$(cut -d: -f2 $HOME/.gnupg/GPG_AGENT_INFO)" 2>/dev/null; then
+if grep -q "^[[:blank:]]*use-agent" ${CFG} 2>/dev/null; then
+    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
        export GPG_AGENT_INFO="$(cat ${HOME}/.gnupg/GPG_AGENT_INFO)"
     else
        if [ -n "$DISPLAY" -a "$X11" = "yes" ] || [ -z "$DISPLAY" -a "$X11" = "no" ]; then
-           eval "$(gpg-agent --daemon)"
+            if [ "$seahorse" = "no" ]; then
+                eval "$(gpg-agent --daemon)"
+            else
+                eval "$(seahorse-agent --variables)"
+            fi
            echo $GPG_AGENT_INFO > ~/.gnupg/GPG_AGENT_INFO
+           export GPG_AGENT_INFO
        fi
     fi
 fi
+unset X11
+unset CFG
+unset pid
This page took 0.060249 seconds and 4 git commands to generate.