On 19-02-26 15:33:53, Matthew Thode wrote: > On 19-02-26 10:52:52, Zac Medico wrote: > > On 2/26/19 10:48 AM, Zac Medico wrote: > > > On 2/25/19 1:45 PM, Matthew Thode wrote: > > >> On 19-02-25 15:41:03, Matthew Thode wrote: > > >>> On 19-02-25 14:34:46, Matthew Thode wrote: > > >>>> Allowing users to define which keyservers they update from allows them > > >>>> to work around buggy keyservers. It is also useful for local mirrors > > >>>> and / or private keyservers. > > >>>> > > >>>> It's likely that I'm setting the default incorrectly and not > > >>>> alphabetizing right, but the code works at least... > > >>>> > > >>> > > >>> Ok, let's try that again, should be cleaner/better/etc > > >>> > > >> > > >> v3, attached > > >> > > >> --- > > > > > >> lib/portage/repository/config.py | 6 ++++++ > > >> lib/portage/sync/syncbase.py | 6 +++--- > > >> 2 files changed, 9 insertions(+), 3 deletions(-) > > >> > > >> diff --git a/lib/portage/repository/config.py > > >> b/lib/portage/repository/config.py > > >> index 482711c4b..235371ce5 100644 > > >> --- a/lib/portage/repository/config.py > > >> +++ b/lib/portage/repository/config.py > > >> @@ -109,6 +109,7 @@ class RepoConfig(object): > > >> 'sync_allow_hardlinks', > > >> 'sync_depth', > > >> 'sync_hooks_only_on_change', > > >> + 'sync_openpgp_keyserver', > > >> 'sync_openpgp_key_path', > > >> 'sync_openpgp_key_refresh_retry_count', > > >> 'sync_openpgp_key_refresh_retry_delay_exp_base', > > >> @@ -224,6 +225,9 @@ class RepoConfig(object): > > >> self.sync_allow_hardlinks = repo_opts.get( > > >> 'sync-allow-hardlinks', 'true').lower() in > > >> ('true', 'yes') > > >> > > >> + self.sync_openpgp_keyserver = repo_opts.get( > > >> + 'sync-openpgp-keyserver', > > >> 'hkps.pool.sks-keyservers.net').strip.lower() > > > > > > It needs to be like this: > > > > > > + 'sync-openpgp-keyserver', > > > 'hkps.pool.sks-keyservers.net').strip().lower() or None > > > > > > because gemato handles None but not empty strings. > > > > Also let's not provide a default keyserver, let gemato handle that. > > > > Also please update man/portage.5. > > > > Ok, that stanza no reads: > > self.sync_openpgp_keyserver = repo_opts.get( > 'sync-openpgp-keyserver').strip.lower() or None > > I didn't see a section for the sync-openpgp options though, let me know > anything else or I'll send the updated patch tonight. >
v4 patch attached (as said previously, no section in man page for sync-openpgp options so not added there). -- Matthew Thode (prometheanfire)
From f87a788f58b4efab07d09947be0920bffa01c66b Mon Sep 17 00:00:00 2001 From: Matthew Thode <mth...@mthode.org> Date: Mon, 25 Feb 2019 14:14:20 -0600 Subject: [PATCH] enable user settable gpg keyservers Allowing users to define which keyservers they update from allows them to work around buggy keyservers. It is also useful for local mirrors and / or private keyservers. Signed-off-by: Matthew Thode <mth...@mthode.org> --- lib/portage/repository/config.py | 6 ++++++ lib/portage/sync/syncbase.py | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/portage/repository/config.py b/lib/portage/repository/config.py index 482711c4b..e9d5e0a9a 100644 --- a/lib/portage/repository/config.py +++ b/lib/portage/repository/config.py @@ -109,6 +109,7 @@ class RepoConfig(object): 'sync_allow_hardlinks', 'sync_depth', 'sync_hooks_only_on_change', + 'sync_openpgp_keyserver', 'sync_openpgp_key_path', 'sync_openpgp_key_refresh_retry_count', 'sync_openpgp_key_refresh_retry_delay_exp_base', @@ -224,6 +225,9 @@ class RepoConfig(object): self.sync_allow_hardlinks = repo_opts.get( 'sync-allow-hardlinks', 'true').lower() in ('true', 'yes') + self.sync_openpgp_keyserver = repo_opts.get( + 'sync-openpgp-keyserver').strip.lower() or None + self.sync_openpgp_key_path = repo_opts.get( 'sync-openpgp-key-path', None) @@ -601,6 +605,7 @@ class RepoConfigLoader(object): 'sync_allow_hardlinks', 'sync_depth', 'sync_hooks_only_on_change', + 'sync_openpgp_keyserver', 'sync_openpgp_key_path', 'sync_openpgp_key_refresh_retry_count', 'sync_openpgp_key_refresh_retry_delay_exp_base', @@ -1047,6 +1052,7 @@ class RepoConfigLoader(object): "main_repo", "priority", "sync_depth", + "sync_openpgp_keyserver", "sync_openpgp_key_path", "sync_openpgp_key_refresh_retry_count", "sync_openpgp_key_refresh_retry_delay_exp_base", diff --git a/lib/portage/sync/syncbase.py b/lib/portage/sync/syncbase.py index 83b35c667..ae9ec938e 100644 --- a/lib/portage/sync/syncbase.py +++ b/lib/portage/sync/syncbase.py @@ -252,10 +252,10 @@ class SyncBase(object): @type openpgp_env: gemato.openpgp.OpenPGPEnvironment """ out = portage.output.EOutput(quiet=('--quiet' in self.options['emerge_config'].opts)) - out.ebegin('Refreshing keys from keyserver') + out.ebegin('Refreshing keys from keyserver {s}'.format(s=self.repo.sync_openpgp_keyserver)) retry_decorator = self._key_refresh_retry_decorator() if retry_decorator is None: - openpgp_env.refresh_keys() + openpgp_env.refresh_keys(keyserver=self.repo.sync_openpgp_keyserver) else: def noisy_refresh_keys(): """ @@ -263,7 +263,7 @@ class SyncBase(object): errors, display errors as soon as they occur. """ try: - openpgp_env.refresh_keys() + openpgp_env.refresh_keys(keyserver=self.repo.sync_openpgp_keyserver) except Exception as e: writemsg_level("%s\n" % (e,), level=logging.ERROR, noiselevel=-1) -- 2.19.2
signature.asc
Description: PGP signature