commit: be21bd79e63282e48d9202d18b89bfd132aa4b2f Author: Zac Medico <zmedico <AT> gentoo <DOT> org> AuthorDate: Tue Aug 6 03:38:10 2019 +0000 Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> CommitDate: Mon Aug 19 01:48:48 2019 +0000 URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=be21bd79
repoman: support metadata/layout.conf restrict-allowed Bug: https://bugs.gentoo.org/690786 Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> lib/portage/repository/config.py | 8 +++++++- repoman/lib/repoman/modules/scan/metadata/restrict.py | 6 +++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/portage/repository/config.py b/lib/portage/repository/config.py index 2b2b1e151..46bb6b65a 100644 --- a/lib/portage/repository/config.py +++ b/lib/portage/repository/config.py @@ -103,6 +103,7 @@ class RepoConfig(object): 'portage1_profiles_compat', 'priority', 'profile_formats', + 'restrict_allowed', 'sign_commit', 'sign_manifest', 'strict_misc_digests', @@ -339,7 +340,7 @@ class RepoConfig(object): for value in ('allow-missing-manifest', 'cache-formats', 'create-manifest', 'disable-manifest', 'manifest-hashes', - 'manifest-required-hashes', 'profile-formats', + 'manifest-required-hashes', 'profile-formats', 'restrict-allowed', 'sign-commit', 'sign-manifest', 'thin-manifest', 'update-changelog'): setattr(self, value.lower().replace("-", "_"), layout_data[value]) @@ -1142,6 +1143,11 @@ def parse_layout_conf(repo_location, repo_name=None): data['eapis-banned'] = tuple(layout_data.get('eapis-banned', '').split()) data['eapis-deprecated'] = tuple(layout_data.get('eapis-deprecated', '').split()) + restrict_allowed = layout_data.get('restrict-allowed') + if restrict_allowed is not None: + restrict_allowed = tuple(restrict_allowed.split()) + data['restrict-allowed'] = restrict_allowed + data['sign-commit'] = layout_data.get('sign-commits', 'false').lower() \ == 'true' diff --git a/repoman/lib/repoman/modules/scan/metadata/restrict.py b/repoman/lib/repoman/modules/scan/metadata/restrict.py index 99784f231..f39128b24 100644 --- a/repoman/lib/repoman/modules/scan/metadata/restrict.py +++ b/repoman/lib/repoman/modules/scan/metadata/restrict.py @@ -18,6 +18,10 @@ class RestrictChecks(ScanBase): ''' self.qatracker = kwargs.get('qatracker') self.repo_settings = kwargs.get('repo_settings') + if self.repo_settings.repo_config.restrict_allowed is None: + self._restrict_allowed = self.repo_settings.qadata.valid_restrict + else: + self._restrict_allowed = self.repo_settings.repo_config.restrict_allowed def check(self, **kwargs): xpkg = kwargs.get('xpkg') @@ -35,7 +39,7 @@ class RestrictChecks(ScanBase): if myrestrict: myrestrict = set(myrestrict) - mybadrestrict = myrestrict.difference(self.repo_settings.qadata.valid_restrict) + mybadrestrict = myrestrict.difference(self._restrict_allowed) if mybadrestrict: for mybad in mybadrestrict:
