[yum-cvs] yum cli.py,1.211,1.212
Jeremy Katz
katzj at linux.duke.edu
Wed Jun 7 03:27:13 UTC 2006
Update of /home/groups/yum/cvs/yum
In directory login1.linux.duke.edu:/tmp/cvs-serv5644
Modified Files:
cli.py
Log Message:
use generic getKeyForPackage
Index: cli.py
===================================================================
RCS file: /home/groups/yum/cvs/yum/cli.py,v
retrieving revision 1.211
retrieving revision 1.212
diff -u -r1.211 -r1.212
--- cli.py 4 Jun 2006 19:48:37 -0000 1.211
+++ cli.py 7 Jun 2006 03:27:11 -0000 1.212
@@ -746,78 +746,12 @@
continue
elif result == 1:
- # Key needs to be installed
- self.log(0, errmsg)
-
- # Bail if not -y and stdin isn't a tty as key import will
- # require user confirmation
- if not sys.stdin.isatty() and not \
- self.conf.assumeyes:
- raise yum.Errors.YumBaseError, \
+ if sys.stdin.isatty() and not self.conf.assumeyes:
+ raise yum.Errors.YumBaseError, \
'Refusing to automatically import keys when running ' \
'unattended.\nUse "-y" to override.'
- repo = self.repos.getRepo(po.repoid)
- keyurls = repo.gpgkey
- key_installed = False
-
- for keyurl in keyurls:
- self.log(0, 'Retrieving GPG key from %s' % keyurl)
-
- # Go get the GPG key from the given URL
- try:
- rawkey = urlgrabber.urlread(keyurl, limit=9999)
- except urlgrabber.grabber.URLGrabError, e:
- raise yum.Errors.YumBaseError(
- 'GPG key retrieval failed: ' + str(e))
-
- # Parse the key
- try:
- keyinfo = yum.misc.getgpgkeyinfo(rawkey)
- keyid = keyinfo['keyid']
- hexkeyid = yum.misc.keyIdToRPMVer(keyid).upper()
- timestamp = keyinfo['timestamp']
- userid = keyinfo['userid']
- except ValueError, e:
- raise yum.Errors.YumBaseError, \
- 'GPG key parsing failed: ' + str(e)
-
- # Check if key is already installed
- if yum.misc.keyInstalled(self.read_ts, keyid, timestamp) >= 0:
- self.log(0, 'GPG key at %s (0x%s) is already installed' % (
- keyurl,
- hexkeyid
- ))
- continue
-
- # Try installing/updating GPG key
- self.log(0, 'Importing GPG key 0x%s "%s"' % (hexkeyid, userid))
- if not self.conf.assumeyes:
- if not self.userconfirm():
- self.log(0, 'Exiting on user command')
- return 1
-
- # Import the key
- result = self.ts.pgpImportPubkey(yum.misc.procgpgkey(rawkey))
- if result != 0:
- raise yum.Errors.YumBaseError, \
- 'Key import failed (code %d)' % result
- self.log(1, 'Key imported successfully')
- key_installed = True
-
- if not key_installed:
- raise yum.Errors.YumBaseError, \
- 'The GPG keys listed for the "%s" repository are ' \
- 'already installed but they are not correct for this ' \
- 'package.\n' \
- 'Check that the correct key URLs are configured for ' \
- 'this repository.' % (repo.name)
-
- # Check if the newly installed keys helped
- result, errmsg = self.sigCheckPkg(po)
- if result != 0:
- self.log(0, "Import of key(s) didn't help, wrong key(s)?")
- raise yum.Errors.YumBaseError, errmsg
+ self.getKeyForPackage(po, lambda(x, y, z: self.userconfirm()))
else:
# Fatal error
More information about the Yum-cvs-commits
mailing list