import os import rpm import gpgme import sys import StringIO import tempfile ts = rpm.TransactionSet() mi = ts.dbMatch('name', 'gpg-pubkey') rpmdb_keys=[] for keyhdr in mi: key_fo = StringIO.StringIO(keyhdr['description']) rpmdb_keys.append(key_fo) del mi del ts ctx = gpgme.Context() gpghome = '/tmp/foo-gpgme' if not os.path.exists(gpghome): os.makedirs('/tmp/foo-gpgme') #gpghome = tempfile.mkdtemp(prefix='gpgme-%s' % keynum) os.environ['GNUPGHOME'] = gpghome fp = open(os.path.join(gpghome, 'gpg.conf'), 'wb') fp.write('') fp.close() for key in rpmdb_keys: ctx.import_(key) key.close()