diff options
-rw-r--r-- | modules/sign.py | 8 |
1 files 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 |