summaryrefslogtreecommitdiffstats
path: root/meta/lib
diff options
context:
space:
mode:
authorMarkus Lehtonen <markus.lehtonen@linux.intel.com>2017-03-03 14:37:26 +0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-03-14 15:21:07 +0000
commit35c95af7a8330618b2d047af8f5c2623da85c91d (patch)
tree21d01b2eb2e9a5bf44dd3122cb4a6e79ccbf14ee /meta/lib
parent5e874ac0b1fa8c13f2abd906b27f55509cba2ef9 (diff)
downloadpoky-35c95af7a8330618b2d047af8f5c2623da85c91d.tar.gz
lib/oe/gpg_sign: make gpg version a property of the signer
(From OE-Core rev: 951d22cb62891c4bc078925c4af8445d7be940e0) Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> (cherry picked from commit a00a362e3dc18ba04230cbbd6f91264e5d76f40d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
-rw-r--r--meta/lib/oe/gpg_sign.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/meta/lib/oe/gpg_sign.py b/meta/lib/oe/gpg_sign.py
index 683ae5bf43..16eb7f83bf 100644
--- a/meta/lib/oe/gpg_sign.py
+++ b/meta/lib/oe/gpg_sign.py
@@ -10,6 +10,7 @@ class LocalSigner(object):
10 self.gpg_bin = d.getVar('GPG_BIN', True) or \ 10 self.gpg_bin = d.getVar('GPG_BIN', True) or \
11 bb.utils.which(os.getenv('PATH'), 'gpg') 11 bb.utils.which(os.getenv('PATH'), 'gpg')
12 self.gpg_path = d.getVar('GPG_PATH', True) 12 self.gpg_path = d.getVar('GPG_PATH', True)
13 self.gpg_version = self.get_gpg_version()
13 self.rpm_bin = bb.utils.which(os.getenv('PATH'), "rpm") 14 self.rpm_bin = bb.utils.which(os.getenv('PATH'), "rpm")
14 15
15 def export_pubkey(self, output_file, keyid, armor=True): 16 def export_pubkey(self, output_file, keyid, armor=True):
@@ -59,9 +60,7 @@ class LocalSigner(object):
59 60
60 #gpg > 2.1 supports password pipes only through the loopback interface 61 #gpg > 2.1 supports password pipes only through the loopback interface
61 #gpg < 2.1 errors out if given unknown parameters 62 #gpg < 2.1 errors out if given unknown parameters
62 dots = self.get_gpg_version().split('.') 63 if self.gpg_version > (2,1,):
63 assert len(dots) >= 2
64 if int(dots[0]) >= 2 and int(dots[1]) >= 1:
65 cmd += ['--pinentry-mode', 'loopback'] 64 cmd += ['--pinentry-mode', 'loopback']
66 65
67 cmd += [input_file] 66 cmd += [input_file]
@@ -88,10 +87,11 @@ class LocalSigner(object):
88 87
89 88
90 def get_gpg_version(self): 89 def get_gpg_version(self):
91 """Return the gpg version""" 90 """Return the gpg version as a tuple of ints"""
92 import subprocess 91 import subprocess
93 try: 92 try:
94 return subprocess.check_output((self.gpg_bin, "--version")).split()[2].decode("utf-8") 93 ver_str = subprocess.check_output((self.gpg_bin, "--version")).split()[2].decode("utf-8")
94 return tuple([int(i) for i in ver_str.split('.')])
95 except subprocess.CalledProcessError as e: 95 except subprocess.CalledProcessError as e:
96 raise bb.build.FuncFailed("Could not get gpg version: %s" % e) 96 raise bb.build.FuncFailed("Could not get gpg version: %s" % e)
97 97