From f5579605c4905dc71e8605081ba0263563f6926e Mon Sep 17 00:00:00 2001 From: "Kali Kaneko (leap communications)" Date: Tue, 20 Sep 2016 17:51:46 -0400 Subject: [bug] revert usage of twisted which the test environment isn't finding the path properly, due to pytest internals. so: - add path extension - fix the order in which we're happy with a gpg option (to avoid symlinks) --- src/leap/bitmask/util.py | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) (limited to 'src/leap/bitmask') diff --git a/src/leap/bitmask/util.py b/src/leap/bitmask/util.py index 272334b..3a99e13 100644 --- a/src/leap/bitmask/util.py +++ b/src/leap/bitmask/util.py @@ -22,7 +22,8 @@ import platform import sys from twisted.python import log -from twisted.python.procutils import which + +from leap.common.files import which STANDALONE = getattr(sys, 'frozen', False) @@ -49,20 +50,6 @@ def get_gpg_bin_path(): """ gpgbin = None - # During the transition towards gpg2, we can look for /usr/bin/gpg1 - # binary, in case it was renamed using dpkg-divert or manually. - # We could just pick gpg2, but we need to solve #7564 first. - try: - gpgbin_options = which("gpg1") - for opt in gpgbin_options: - if not os.path.islink(opt): - gpgbin = opt - break - except IndexError as e: - log.msg("Couldn't find the gpg1 binary!: %s" % (e,)) - if gpgbin is not None: - return gpgbin - if STANDALONE: gpgbin = os.path.join( get_path_prefix(), "..", "apps", "mail", "gpg") @@ -70,7 +57,7 @@ def get_gpg_bin_path(): gpgbin += ".exe" else: try: - gpgbin_options = which("gpg") + gpgbin_options = which("gpg", path_extension='/usr/bin/') # gnupg checks that the path to the binary is not a # symlink, so we need to filter those and come up with # just one option. @@ -85,6 +72,21 @@ def get_gpg_bin_path(): gpgbin = os.path.abspath( os.path.join(here(), "apps", "mail", "gpg")) + if gpgbin is not None: + return gpgbin + + # During the transition towards gpg2, we can look for /usr/bin/gpg1 + # binary, in case it was renamed using dpkg-divert or manually. + # We could just pick gpg2, but we need to solve #7564 first. + try: + gpgbin_options = which("gpg1") + for opt in gpgbin_options: + if not os.path.islink(opt): + gpgbin = opt + break + except IndexError as e: + log.msg("Couldn't find the gpg1 binary!: %s" % (e,)) + if gpgbin is None: log.msg("Could not find gpg1 binary") return gpgbin -- cgit v1.2.3