diff --git a/src/common/gajim.py b/src/common/gajim.py index a1d824ec3..b0524135c 100644 --- a/src/common/gajim.py +++ b/src/common/gajim.py @@ -160,6 +160,7 @@ except ImportError: HAVE_PYCRYPTO = False HAVE_GPG = True +GPG_BINARY = 'gpg' try: __import__('common.gnupg', globals(), locals(), [], 0) except ImportError: @@ -167,11 +168,17 @@ except ImportError: else: import os import subprocess - if os.name == 'nt': - gpg_cmd = 'gpg -h >nul 2>&1' - else: - gpg_cmd = 'gpg -h >/dev/null 2>&1' - if subprocess.call(gpg_cmd, shell=True): + def test_gpg(binary='gpg'): + if os.name == 'nt': + gpg_cmd = binary + ' -h >nul 2>&1' + else: + gpg_cmd = binary + ' -h >/dev/null 2>&1' + if subprocess.call(gpg_cmd, shell=True): + return False + return True + if test_gpg(binary='gpg2'): + GPG_BINARY = 'gpg2' + if not test_gpg(binary='gpg'): HAVE_GPG = False HAVE_PYOPENSSL = True diff --git a/src/common/gpg.py b/src/common/gpg.py index d986fefee..666ab1a05 100644 --- a/src/common/gpg.py +++ b/src/common/gpg.py @@ -22,7 +22,7 @@ ## along with Gajim. If not, see . ## -from common.gajim import HAVE_GPG +from common.gajim import HAVE_GPG, GPG_BINARY import os if HAVE_GPG: @@ -30,7 +30,7 @@ if HAVE_GPG: class GnuPG(gnupg.GPG): def __init__(self, use_agent=False): - gnupg.GPG.__init__(self) + gnupg.GPG.__init__(self, gpgbinary=GPG_BINARY) self.encoding = 'utf-8' self.decode_errors = 'replace' self.passphrase = None