Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: lib/portage/sync/, man/, lib/portage/repository/
Date: Sun, 31 Mar 2019 19:31:08
Message-Id: 1554060544.244a4021ce58268336fd7b120ab7b9eb09acb26e.zmedico@gentoo
1 commit: 244a4021ce58268336fd7b120ab7b9eb09acb26e
2 Author: Matthew Thode <mthode <AT> mthode <DOT> org>
3 AuthorDate: Mon Feb 25 20:14:20 2019 +0000
4 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
5 CommitDate: Sun Mar 31 19:29:04 2019 +0000
6 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=244a4021
7
8 repos.conf: add sync-openpgp-keyserver option (bug 680908)
9
10 Allowing users to define which keyservers they update from allows them
11 to work around buggy keyservers. It is also useful for local mirrors
12 and / or private keyservers.
13
14 Bug: https://bugs.gentoo.org/680908
15 Signed-off-by: Matthew Thode <mthode <AT> mthode.org>
16 Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
17
18 lib/portage/repository/config.py | 6 ++++++
19 lib/portage/sync/syncbase.py | 6 +++---
20 man/portage.5 | 5 +++++
21 3 files changed, 14 insertions(+), 3 deletions(-)
22
23 diff --git a/lib/portage/repository/config.py b/lib/portage/repository/config.py
24 index 482711c4b..67a6897f7 100644
25 --- a/lib/portage/repository/config.py
26 +++ b/lib/portage/repository/config.py
27 @@ -109,6 +109,7 @@ class RepoConfig(object):
28 'sync_allow_hardlinks',
29 'sync_depth',
30 'sync_hooks_only_on_change',
31 + 'sync_openpgp_keyserver',
32 'sync_openpgp_key_path',
33 'sync_openpgp_key_refresh_retry_count',
34 'sync_openpgp_key_refresh_retry_delay_exp_base',
35 @@ -224,6 +225,9 @@ class RepoConfig(object):
36 self.sync_allow_hardlinks = repo_opts.get(
37 'sync-allow-hardlinks', 'true').lower() in ('true', 'yes')
38
39 + self.sync_openpgp_keyserver = repo_opts.get(
40 + 'sync-openpgp-keyserver', '').strip().lower() or None
41 +
42 self.sync_openpgp_key_path = repo_opts.get(
43 'sync-openpgp-key-path', None)
44
45 @@ -601,6 +605,7 @@ class RepoConfigLoader(object):
46 'sync_allow_hardlinks',
47 'sync_depth',
48 'sync_hooks_only_on_change',
49 + 'sync_openpgp_keyserver',
50 'sync_openpgp_key_path',
51 'sync_openpgp_key_refresh_retry_count',
52 'sync_openpgp_key_refresh_retry_delay_exp_base',
53 @@ -1047,6 +1052,7 @@ class RepoConfigLoader(object):
54 "main_repo",
55 "priority",
56 "sync_depth",
57 + "sync_openpgp_keyserver",
58 "sync_openpgp_key_path",
59 "sync_openpgp_key_refresh_retry_count",
60 "sync_openpgp_key_refresh_retry_delay_exp_base",
61
62 diff --git a/lib/portage/sync/syncbase.py b/lib/portage/sync/syncbase.py
63 index 83b35c667..ae9ec938e 100644
64 --- a/lib/portage/sync/syncbase.py
65 +++ b/lib/portage/sync/syncbase.py
66 @@ -252,10 +252,10 @@ class SyncBase(object):
67 @type openpgp_env: gemato.openpgp.OpenPGPEnvironment
68 """
69 out = portage.output.EOutput(quiet=('--quiet' in self.options['emerge_config'].opts))
70 - out.ebegin('Refreshing keys from keyserver')
71 + out.ebegin('Refreshing keys from keyserver {s}'.format(s=self.repo.sync_openpgp_keyserver))
72 retry_decorator = self._key_refresh_retry_decorator()
73 if retry_decorator is None:
74 - openpgp_env.refresh_keys()
75 + openpgp_env.refresh_keys(keyserver=self.repo.sync_openpgp_keyserver)
76 else:
77 def noisy_refresh_keys():
78 """
79 @@ -263,7 +263,7 @@ class SyncBase(object):
80 errors, display errors as soon as they occur.
81 """
82 try:
83 - openpgp_env.refresh_keys()
84 + openpgp_env.refresh_keys(keyserver=self.repo.sync_openpgp_keyserver)
85 except Exception as e:
86 writemsg_level("%s\n" % (e,),
87 level=logging.ERROR, noiselevel=-1)
88
89 diff --git a/man/portage.5 b/man/portage.5
90 index 1a36e9b86..caf993672 100644
91 --- a/man/portage.5
92 +++ b/man/portage.5
93 @@ -1144,6 +1144,11 @@ Multiplier for the exponential delay.
94 .B sync\-openpgp\-key\-refresh\-retry\-overall\-timeout = 1200
95 Combined time limit for all refresh attempts, in units of seconds.
96 .TP
97 +.B sync\-openpgp\-keyserver = \fIname\fR
98 +Pass \fIname\fR as the `gpg \-\-keyserver` argument. Refer to the
99 +\fBgpg\fR(1) man page for information about the `gpg \-\-keyserver`
100 +\fIname\fR format.
101 +.TP
102 .B sync-rsync-vcs-ignore = true|false
103 Ignore vcs directories that may be present in the repository. It is the
104 user's responsibility to set sync-rsync-extra-opts to protect vcs