From a00a362e3dc18ba04230cbbd6f91264e5d76f40d Mon Sep 17 00:00:00 2001 From: Markus Lehtonen Date: Thu, 23 Feb 2017 12:24:19 +0200 Subject: lib/oe/gpg_sign: make gpg version a property of the signer Signed-off-by: Markus Lehtonen Signed-off-by: Ross Burton --- meta/lib/oe/gpg_sign.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'meta/lib/oe') diff --git a/meta/lib/oe/gpg_sign.py b/meta/lib/oe/gpg_sign.py index bf36226791..630d312cfc 100644 --- a/meta/lib/oe/gpg_sign.py +++ b/meta/lib/oe/gpg_sign.py @@ -10,6 +10,7 @@ class LocalSigner(object): self.gpg_bin = d.getVar('GPG_BIN') or \ bb.utils.which(os.getenv('PATH'), 'gpg') self.gpg_path = d.getVar('GPG_PATH') + self.gpg_version = self.get_gpg_version() self.rpm_bin = bb.utils.which(os.getenv('PATH'), "rpm") def export_pubkey(self, output_file, keyid, armor=True): @@ -59,9 +60,7 @@ class LocalSigner(object): #gpg > 2.1 supports password pipes only through the loopback interface #gpg < 2.1 errors out if given unknown parameters - dots = self.get_gpg_version().split('.') - assert len(dots) >= 2 - if int(dots[0]) >= 2 and int(dots[1]) >= 1: + if self.gpg_version > (2,1,): cmd += ['--pinentry-mode', 'loopback'] cmd += [input_file] @@ -88,10 +87,11 @@ class LocalSigner(object): def get_gpg_version(self): - """Return the gpg version""" + """Return the gpg version as a tuple of ints""" import subprocess try: - return subprocess.check_output((self.gpg_bin, "--version")).split()[2].decode("utf-8") + ver_str = subprocess.check_output((self.gpg_bin, "--version")).split()[2].decode("utf-8") + return tuple([int(i) for i in ver_str.split('.')]) except subprocess.CalledProcessError as e: raise bb.build.FuncFailed("Could not get gpg version: %s" % e) -- cgit 1.2.3-korg