[projects/pld-ftp-admin] Ignore gpg passphrase prompt timeout, rpm now uses gpg-agent

baggins baggins at pld-linux.org
Sun Feb 28 19:31:18 CET 2021


commit 89ac3e3745b3fdb596656adba1f1a4d983b86055
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Sun Feb 28 19:30:48 2021 +0100

    Ignore gpg passphrase prompt timeout, rpm now uses gpg-agent

 modules/sign.py | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/modules/sign.py b/modules/sign.py
index f1f82e8..dc5cc4f 100644
--- a/modules/sign.py
+++ b/modules/sign.py
@@ -48,8 +48,12 @@ def signpkgs(files, password):
     args = ['--resign', '--define', '_signature gpg', '--define', '_gpg_name ' + sign_key] + files
     child = pexpect.spawn('/bin/rpm', args, encoding='utf-8')
     child.logfile_read = sys.stderr
-    child.expect(u'Enter pass phrase:', timeout=30)
-    child.sendline(password)
+    # TODO: we need a smarter way to figuring out if rpm already stored password in gpg-agent
+    try:
+        child.expect(u'Enter pass phrase:', timeout=30)
+        child.sendline(password)
+    except pexpect.exceptions.TIMEOUT:
+        print('WARN: rpm did not ask for password', file=sys.stderr)
     child.expect(pexpect.EOF, timeout=None)
     child.close()
     rc = child.exitstatus
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/projects/pld-ftp-admin.git/commitdiff/89ac3e3745b3fdb596656adba1f1a4d983b86055



More information about the pld-cvs-commit mailing list