From 2062958ca16afcae5485c6258616fb2d95ba12ce Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Wed, 8 Nov 2017 09:26:46 +0100 Subject: [PATCH] trust, sign: prevent gpg warnings to be printed I've noticed this warning while using "atomic trust show": gpg: WARNING: no command supplied. Trying to guess what you mean ... Signed-off-by: Giuseppe Scrivano --- Atomic/sign.py | 7 ++++--- Atomic/trust.py | 6 ++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/Atomic/sign.py b/Atomic/sign.py index 277c9d62..17524bfb 100644 --- a/Atomic/sign.py +++ b/Atomic/sign.py @@ -134,16 +134,17 @@ def no_reg_no_default_error(image, registry_path): "overwrite it, please delete this file first") util.skopeo_standalone_sign(expanded_image_name, manifest_file.name, - self.get_fingerprint(signer), fq_sig_path, debug=self.args.debug) + self.get_fingerprint(signer, self.args.debug), fq_sig_path, debug=self.args.debug) util.write_out("Created: {}".format(fq_sig_path)) finally: os.remove(manifest_file.name) @staticmethod - def get_fingerprint(signer): + def get_fingerprint(signer, debug): cmd = ['gpg2', '--no-permission-warning', '--with-colons', '--fingerprint', signer] - stdout = util.check_output(cmd) + stderr = None if debug else util.DEVNULL + stdout = util.check_output(cmd, stderr=stderr) for line in stdout.splitlines(): _line = line.decode('utf-8') if _line.startswith('fpr:'): diff --git a/Atomic/trust.py b/Atomic/trust.py index eb1ec3cf..226af76e 100644 --- a/Atomic/trust.py +++ b/Atomic/trust.py @@ -227,7 +227,8 @@ def get_pubkey_data(self, key_reference): if not token.scheme or not token.netloc: if not os.path.exists(key_reference): cmd = ["gpg2", "--armor", "--export", key_reference] - keydata = util.check_output(cmd) + stderr = None if self.args.debug else util.DEVNULL + keydata = util.check_output(cmd, stderr=stderr) if not keydata: raise ValueError("The public key reference '%s' was not " "found as a file or in the user's GPG " @@ -502,7 +503,8 @@ def get_gpg_id(self, keys): key = tmpkey.name cmd = ["gpg2", "--with-colons", key] try: - results = util.check_output(cmd).decode('utf-8') + stderr = None if self.args.debug else util.DEVNULL + results = util.check_output(cmd, stderr=stderr).decode('utf-8') except util.FileNotFound: results = "" if tmpkey: