Merge remote-tracking branch 'remotes/kalikaneko/bug/enforce-correct-version' into...
authordrebs <drebs@leap.se>
Wed, 2 Oct 2013 17:13:23 +0000 (14:13 -0300)
committerdrebs <drebs@leap.se>
Wed, 2 Oct 2013 17:13:23 +0000 (14:13 -0300)
changes/bug_enforce_correct_version [new file with mode: 0644]
src/leap/keymanager/__init__.py

diff --git a/changes/bug_enforce_correct_version b/changes/bug_enforce_correct_version
new file mode 100644 (file)
index 0000000..eb03e41
--- /dev/null
@@ -0,0 +1 @@
+  o Add a sanity check for the correct version of gnupg.
index 2f39ad9..76be226 100644 (file)
 #
 # You should have received a copy of the GNU General Public License
 # along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-
 """
 Key Manager is a Nicknym agent for LEAP client.
 """
+# let's do a little sanity check to see if we're using the wrong gnupg
+import sys
+
+try:
+    from gnupg.gnupg import GPGUtilities
+    assert(GPGUtilities)  # pyflakes happy
+    from gnupg import __version__
+    from distutils.version import LooseVersion as V
+    assert(V(__version__) >= V('1.2.2'))
+
+except ImportError, AssertionError:
+    print "Ooops! It looks like there is a conflict in the installed version "
+    print "of gnupg."
+    print "Disclaimer: Ideally, we would need to work a patch and propose the "
+    print "merge to upstream. But until then do: "
+    print
+    print "% pip uninstall python-gnupg"
+    print "% pip install gnupg"
+    sys.exit(1)
 
 import logging
 import requests