Gentoo Archives: gentoo-commits

From: Brian Dolbec <dolsen@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoo-keys:master commit in: gkeys/gkeys/
Date: Wed, 31 Dec 2014 21:34:38
Message-Id: 1419975746.1626d81d20474cb55620bf19aa12924b28a795e9.dolsen@gentoo.org@gentoo
1 commit: 1626d81d20474cb55620bf19aa12924b28a795e9
2 Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
3 AuthorDate: Sat Dec 27 21:56:14 2014 +0000
4 Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org>
5 CommitDate: Tue Dec 30 21:42:26 2014 +0000
6 URL: http://sources.gentoo.org/gitweb/?p=proj/gentoo-keys.git;a=commit;h=1626d81d
7
8 gkeys/lib.py: Add the new GKEY.update() to add_key and refresh_key
9
10 This updates our installed gkey.seed with all fingerprints including sub-keys and uid's. This way searches for keys used to sign files can be found if the key used to sign the file was not a primary key.
11
12 ---
13 gkeys/gkeys/lib.py | 24 +++++++++++++++++-------
14 1 file changed, 17 insertions(+), 7 deletions(-)
15
16 diff --git a/gkeys/gkeys/lib.py b/gkeys/gkeys/lib.py
17 index 67c94ae..f8e6615 100644
18 --- a/gkeys/gkeys/lib.py
19 +++ b/gkeys/gkeys/lib.py
20 @@ -158,9 +158,8 @@ class GkeysGPG(GPG):
21 message += "\n gkey..: %s" % (str(gkey.fingerprint))
22 logger.error(message)
23 # Save the gkey seed to the installed db
24 - self.seedfile.update(gkey)
25 - if not self.seedfile.save():
26 - logger.error("GkeysGPG.add_key(); failed to save seed: " + gkey.nick)
27 + success = self.update_gkey(gkey, save=True)
28 + if not success:
29 return []
30 results.append(result)
31 return results
32 @@ -190,21 +189,32 @@ class GkeysGPG(GPG):
33 self.set_keyserver()
34 self.set_keydir(gkey.keydir, 'refresh-keys', reset=True)
35 self.set_keyring('pubring.gpg', 'refresh-keys', reset=False)
36 + self.set_keyseedfile()
37 logger.debug("LIB: refresh_key, gkey: %s" % str(gkey))
38 logger.debug("** Calling runGPG with Running 'gpg %s --refresh-keys' for: %s"
39 % (' '.join(self.config.get_key('tasks', 'refresh-keys')), str(gkey)))
40 result = self.runGPG(task='refresh-keys', inputfile='')
41 logger.info('GPG return code: ' + str(result.returncode))
42 + self.update_gkey(gkey, save=True)
43 return result
44
45
46 - def update_key(self, gkey, keydir):
47 + def update_gkey(self, gkey, save=False):
48 '''Update the specified key in the specified keydir
49
50 @param key: tuple of (name, nick, keydir, fingerprint)
51 @param keydir: the keydir to add the key to
52 '''
53 - return []
54 + # Update the gkey seed and save it to the installed db
55 + lresults = []
56 + for fpr in gkey.keys:
57 + lresults.append(self.list_keys(gkey.keydir, fpr, colons=True))
58 + self.seedfile.update(gkey.update(lresults))
59 + if save and not self.seedfile.save():
60 + logger.error("GkeysGPG.refresh_key(); failed to save seed: " + gkey.nick)
61 + return False
62 + return True
63 +
64
65
66 def list_keys(self, keydir, fingerprint=None, colons=False):
67 @@ -225,7 +235,7 @@ class GkeysGPG(GPG):
68 task = 'list-keys'
69 target = keydir
70 self.set_keydir(keydir, task, fingerprint=True)
71 - self.config.options['tasks'][task].extend(['--keyid-format', 'long', '--with-fingerprint'])
72 + self.config.options['tasks'][task].extend(['--keyid-format', 'long', '--fingerprint', '--fingerprint'])
73 if colons:
74 task_value = ['--with-colons']
75 self.config.options['tasks'][task].extend(task_value)
76 @@ -315,7 +325,7 @@ class GkeysGPG(GPG):
77 return results
78
79
80 - def set_keyseedfile(self, trap_errors):
81 + def set_keyseedfile(self, trap_errors=True):
82 if not self.keydir:
83 logger.debug("GkeysGPG.set_keyseedfile(); self.keydir error")
84 self.seedfile = Seeds(pjoin(self.keydir, 'gkey.seeds'), self.config)