Hi,
I've been trying to write some code which uses the Yum API to download
some packages based on an example in[1]. I have written a very simple
program[2] which is successfully downloading packages to an
'installroot' of my choosing. Unfortunately, I am getting some odd
exceptions that I am not quite sure how to fix. I feel like there is an
initialization function(s) that I might be neglecting to call on YumBase
but I can't figure out what it is. Importantly, the files do get
downloaded and unpacked into my 'installroot'.
Questions:
1) Should I just ignore/eat the error since the files do seem to get
downloaded?
2) Is there some initialization function I am neglecting to call or is
there a debug option I can use to squelch all output from yum (see
stacktrace in [3])?
Cheers,
Keith
[1] http://yum.baseurl.org/wiki/5MinuteExamples
[2] My program:
import sys
import yum
import traceback
from urlgrabber.progress import TextMeter
if __name__ == '__main__':
# Init yum
yb = yum.YumBase()
# Do this according to example.
if hasattr(yum.YumBase, 'setCacheDir'):
# Newer version appear to use this
print 'setCacheDir'
yb.setCacheDir()
else:
# Older use this.
print '_getConfig'
yb._getConfig()
yb.conf.installroot = '/tmp/yumtest'
yb.conf.gpgcheck = False
print yb.conf
yb.repos.setProgressBar(TextMeter(fo=sys.stdout))
try:
print yb.repos.disableRepo('*')
print yb.repos.enableRepo('*-debug*')
pkgAry =
yb.pkgSack.returnPackages(patterns=['kernel-debuginfo-3.3.4-5*'])
print yb.install(pkgAry[0])
print yb.resolveDeps()
print yb.processTransaction()
except Exception, e:
print e
exc_type, exc_value, exc_traceback = sys.exc_info()
traceback.print_exception(exc_type, exc_value, exc_traceback,
limit=5, file=sys.stdout)
pass
[3]
<snipped some extraneous output>
* updates-testing-debuginfo: archive.linux.duke.edu
[<TransactionMember : kernel-debuginfo.x86_64 0:3.3.4-5.fc17 - u
(0x30519e0)>]
(2, [u'Success - deps resolved'])
(1/2): kernel-debuginfo-3.3.4-5.fc17.x86_64.rpm | 240 MB 00:36
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID
1aca3465: NOKEY
Public key for kernel-debuginfo-3.3.4-5.fc17.x86_64.rpm is not installed
(2/2): kernel-debuginfo-common-x86_64-3.3.4-5.fc17.x86_64.rpm | 39
MB 00:11
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-x86_64
Importing GPG key 0x1ACA3465:
Userid : "Fedora (17) <fed...@fedoraproject.org>"
Fingerprint: cac4 3fb7 74a4 a673 d81c 5de7 50e9 4c99 1aca 3465
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-x86_64
Didn't install any keys
Traceback (most recent call last):
File "yumtest.py", line 34, in <module>
print yb.processTransaction()
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6085,
in processTransaction
self._checkSignatures(pkgs,callback)
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 6128,
in _checkSignatures
self.getKeyForPackage(po, self._askForGPGKeyImport)
File "/usr/lib/python2.7/site-packages/yum/__init__.py", line 5830,
in getKeyForPackage
raise Errors.YumBaseError, _("Didn't install any keys")
YumBaseError: Didn't install any keys
_______________________________________________
Yum-devel mailing list
Yum-devel@lists.baseurl.org
http://lists.baseurl.org/mailman/listinfo/yum-devel