[gentoo-commits] proj/portage:master commit in: repoman/lib/repoman/modules/scan/metadata/
commit: 0ec131cc84893f429da2c4486545a6c93d3447c0 Author: Ulrich Müller gentoo org> AuthorDate: Tue Jan 25 16:41:18 2022 + Commit: Ulrich Müller gentoo org> CommitDate: Tue Jan 25 16:41:18 2022 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=0ec131cc repoman: Remove http compatibility code for metadata DTD Commit 3950d76df says: "The http:// compat can be removed once the Gentoo repository is updated to use https:// everywhere." Bug: https://bugs.gentoo.org/552720 Signed-off-by: Ulrich Müller gentoo.org> repoman/lib/repoman/modules/scan/metadata/pkgmetadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repoman/lib/repoman/modules/scan/metadata/pkgmetadata.py b/repoman/lib/repoman/modules/scan/metadata/pkgmetadata.py index b4e0ee933..0fb97a0df 100644 --- a/repoman/lib/repoman/modules/scan/metadata/pkgmetadata.py +++ b/repoman/lib/repoman/modules/scan/metadata/pkgmetadata.py @@ -127,7 +127,7 @@ class PkgMetadata(ScanBase, USEFlagChecks): ) else: doctype_system = _metadata_xml.docinfo.system_url -if doctype_system.replace("http://;, "https://;) != metadata_dtd_uri: +if doctype_system != metadata_dtd_uri: if doctype_system is None: system_problem = "but it is undefined" else:
[gentoo-commits] proj/portage:master commit in: repoman/lib/repoman/modules/scan/
commit: d04486767159f9dba443e7a9d1a6c3854db00400 Author: Zac Medico gentoo org> AuthorDate: Wed Mar 31 07:30:51 2021 + Commit: Zac Medico gentoo org> CommitDate: Wed Mar 31 07:33:50 2021 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=d0448676 repoman: fix ModuleConfig _not_installed path (bug 779055) Bug: https://bugs.gentoo.org/779055 Signed-off-by: Zac Medico gentoo.org> repoman/lib/repoman/modules/scan/module.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/repoman/lib/repoman/modules/scan/module.py b/repoman/lib/repoman/modules/scan/module.py index 3321cb224..41c1becfc 100644 --- a/repoman/lib/repoman/modules/scan/module.py +++ b/repoman/lib/repoman/modules/scan/module.py @@ -31,9 +31,9 @@ class ModuleConfig: if repository_modules: self.configpaths = [os.path.join(path, 'repository.yaml') for path in configpaths] elif _not_installed: - self.configpaths = [os.path.realpath(os.path.join(os.path.dirname( + self.configpaths = [os.path.realpath(os.path.join( os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname( - os.path.dirname(__file__)), 'repoman/cnf/repository/repository.yaml'))] + os.path.dirname(__file__), 'cnf/repository/repository.yaml'))] else: self.configpaths = [os.path.join(portage.const.EPREFIX or '/', 'usr/share/repoman/repository/repository.yaml')]
[gentoo-commits] proj/portage:master commit in: repoman/lib/repoman/modules/scan/metadata/
commit: 030e2fc8ba6cf6c28b582c9ccbb5343ece887776 Author: Zac Medico gentoo org> AuthorDate: Tue Jan 19 07:32:49 2021 + Commit: Zac Medico gentoo org> CommitDate: Tue Jan 19 07:33:33 2021 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=030e2fc8 repoman: fix DeprecationWarning: invalid escape sequence \s Signed-off-by: Zac Medico gentoo.org> repoman/lib/repoman/modules/scan/metadata/pkgmetadata.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repoman/lib/repoman/modules/scan/metadata/pkgmetadata.py b/repoman/lib/repoman/modules/scan/metadata/pkgmetadata.py index c1ba8e9f4..2e85cc3b9 100644 --- a/repoman/lib/repoman/modules/scan/metadata/pkgmetadata.py +++ b/repoman/lib/repoman/modules/scan/metadata/pkgmetadata.py @@ -101,7 +101,7 @@ class PkgMetadata(ScanBase, USEFlagChecks): indentation_chars = Counter() for l in etree.tostring(_metadata_xml).splitlines(): - indentation_chars.update(re.match(b"\s*", l).group(0)) + indentation_chars.update(re.match(rb"\s*", l).group(0)) if len(indentation_chars) > 1: self.qatracker.add_error("metadata.warning", "%s/metadata.xml: %s" % (xpkg, "inconsistent use of tabs and spaces in indentation")
[gentoo-commits] proj/portage:master commit in: repoman/lib/repoman/modules/scan/depend/
commit: b5918d7416de7ef2e1b8f0ac86cd2d21cae8405e Author: Zac Medico gentoo org> AuthorDate: Mon Jan 18 12:39:55 2021 + Commit: Zac Medico gentoo org> CommitDate: Mon Jan 18 13:08:03 2021 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=b5918d74 repoman: Use async and await syntax Signed-off-by: Zac Medico gentoo.org> repoman/lib/repoman/modules/scan/depend/profile.py | 22 +- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/repoman/lib/repoman/modules/scan/depend/profile.py b/repoman/lib/repoman/modules/scan/depend/profile.py index 468bc55e2..7549a414d 100644 --- a/repoman/lib/repoman/modules/scan/depend/profile.py +++ b/repoman/lib/repoman/modules/scan/depend/profile.py @@ -18,7 +18,6 @@ from portage.dep import Atom from portage.package.ebuild.profile_iuse import iter_iuse_vars from portage.util import getconfig from portage.util.futures import asyncio -from portage.util.futures.compat_coroutine import coroutine, coroutine_return from portage.util.futures.executor.fork import ForkExecutor from portage.util.futures.iter_completed import async_iter_completed @@ -102,13 +101,12 @@ class ProfileDependsChecks(ScanBase): for result in results: self._check_result(task, result) - loop = asyncio._wrap_loop() - loop.run_until_complete(self._async_check(loop=loop, **kwargs)) + loop = asyncio.get_event_loop() + loop.run_until_complete(self._async_check(loop, **kwargs)) return False - @coroutine - def _async_check(self, loop=None, **kwargs): + async def _async_check(self, loop, **kwargs): '''Perform async profile dependant dependency checks @param arches: @@ -118,7 +116,6 @@ class ProfileDependsChecks(ScanBase): @param unknown_pkgs: set of tuples (type, atom.unevaluated_atom) @returns: dictionary ''' - loop = asyncio._wrap_loop(loop) ebuild = kwargs.get('ebuild').get() pkg = kwargs.get('pkg').get() unknown_pkgs = ebuild.unknown_pkgs @@ -130,8 +127,8 @@ class ProfileDependsChecks(ScanBase): if self.options.jobs > 1: for future_done_set in async_iter_completed(self._iter_tasks(loop, executor, ebuild, pkg), - max_jobs=self.options.jobs, max_load=self.options.load_average, loop=loop): - for task in (yield future_done_set): + max_jobs=self.options.jobs, max_load=self.options.load_average): + for task in (await future_done_set): task, results = task.result() for result in results: self._check_result(task, result) @@ -145,10 +142,9 @@ class ProfileDependsChecks(ScanBase): "dependency.unknown", "%s: %s: %s" % (ebuild.relative_path, mytype, ", ".join(sorted(atoms - @coroutine - def _task(self, task, loop=None): - yield task.future - coroutine_return((task, task.future.result())) + async def _task(self, task): + await task.future + return (task, task.future.result()) def _iter_tasks(self, loop, executor, ebuild, pkg): for keyword, groups, prof in ebuild.relevant_profiles: @@ -222,7 +218,7 @@ class ProfileDependsChecks(ScanBase): yield (task, target()) else: task.future = asyncio.ensure_future(loop.run_in_executor(executor, target), loop=loop) - yield self._task(task, loop=loop) + yield asyncio.ensure_future(self._task(task), loop=loop) def _task_subprocess(self, task, pkg, dep_settings):
[gentoo-commits] proj/portage:master commit in: repoman/lib/repoman/modules/scan/fetch/, repoman/cnf/qa_data/, repoman/man/, ...
commit: 6258c62c84bf60b8ade8b7fb63ed4475c6195f21 Author: Joonas Niilola gentoo org> AuthorDate: Sun Oct 18 06:20:08 2020 + Commit: Zac Medico gentoo org> CommitDate: Sun Oct 18 08:16:12 2020 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=6258c62c repoman: fix file.size-fatal to be 20 KiB Closes: https://github.com/gentoo/portage/pull/629 Bug: https://bugs.gentoo.org/748144 Signed-off-by: Joonas Niilola gentoo.org> Signed-off-by: Zac Medico gentoo.org> repoman/cnf/qa_data/qa_data.yaml | 1 - repoman/cnf/repository/qa_data.yaml | 1 - repoman/lib/repoman/modules/scan/fetch/fetches.py | 7 +-- repoman/man/repoman.1 | 2 +- 4 files changed, 2 insertions(+), 9 deletions(-) diff --git a/repoman/cnf/qa_data/qa_data.yaml b/repoman/cnf/qa_data/qa_data.yaml index 9a807aaf3..29a3d6e9f 100644 --- a/repoman/cnf/qa_data/qa_data.yaml +++ b/repoman/cnf/qa_data/qa_data.yaml @@ -60,7 +60,6 @@ qahelp: file: executable: "Ebuilds, digests, metadata.xml, Manifest, and ChangeLog do not need the executable bit" size: "Files in the files directory must be under 20 KiB" -size-fatal: "Files in the files directory must be under 60 KiB" empty: "Empty file in the files directory" name: "File/dir name must be composed of only the following chars: %s " UTF8: "File is not UTF8 compliant" diff --git a/repoman/cnf/repository/qa_data.yaml b/repoman/cnf/repository/qa_data.yaml index 464482056..3fe6b53d5 100644 --- a/repoman/cnf/repository/qa_data.yaml +++ b/repoman/cnf/repository/qa_data.yaml @@ -59,7 +59,6 @@ qawarnings: - ebuild.badheader - ebuild.patches - file.empty -- file.size - HOMEPAGE.virtual - inherit.unused - inherit.deprecated diff --git a/repoman/lib/repoman/modules/scan/fetch/fetches.py b/repoman/lib/repoman/modules/scan/fetch/fetches.py index 5a958a461..7d4c58908 100644 --- a/repoman/lib/repoman/modules/scan/fetch/fetches.py +++ b/repoman/lib/repoman/modules/scan/fetch/fetches.py @@ -120,12 +120,7 @@ class FetchChecks(ScanBase): continue filesdirlist.append(y + "/" + z) # Current policy is no files over 20 KiB, these are the checks. - # File size between 20 KiB and 60 KiB causes a warning, - # while file size over 60 KiB causes an error. - elif mystat.st_size > 61440: - self.qatracker.add_error( - "file.size-fatal", "(%d KiB) %s/files/%s" % ( - mystat.st_size // 1024, xpkg, y)) + # File size over 20 KiB causes an error. elif mystat.st_size > 20480: self.qatracker.add_error( "file.size", "(%d KiB) %s/files/%s" % ( diff --git a/repoman/man/repoman.1 b/repoman/man/repoman.1 index 6f9a24544..0926e806c 100644 --- a/repoman/man/repoman.1 +++ b/repoman/man/repoman.1 @@ -393,7 +393,7 @@ executable bit File/dir name must be composed of only the following chars: a-zA-Z0-9._-+: .TP .B file.size -Files in the files directory must be under 20k +Files in the files directory must be under 20 KiB .TP .B inherit.missing Ebuild uses functions from an eclass but does not inherit it
[gentoo-commits] proj/portage:master commit in: repoman/lib/repoman/modules/scan/depend/, repoman/lib/repoman/, repoman/man/
commit: 26524e5fbc8019e22d15765a35570df7c7a315ca Author: Zac Medico gentoo org> AuthorDate: Sat Aug 15 02:51:38 2020 + Commit: Zac Medico gentoo org> CommitDate: Mon Aug 17 05:39:06 2020 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=26524e5f repoman: Add --jobs and --load-average options (bug 448462) Add --jobs and --load-average options which allow dependency checks for multiple profiles to run in parallel. The increase in performance is non-linear for the number of jobs, but it can be worthwhile (I measured a 35% decrease in time when running 'repoman -j8 full' on sys-apps/portage). For the -j1 case (default), all dependency checks run in the main process as usual, so there is no significant performance penalty for the default case. Bug: https://bugs.gentoo.org/448462 Signed-off-by: Zac Medico gentoo.org> repoman/lib/repoman/argparser.py | 9 ++ repoman/lib/repoman/modules/scan/depend/profile.py | 117 + repoman/man/repoman.1 | 9 +- 3 files changed, 116 insertions(+), 19 deletions(-) diff --git a/repoman/lib/repoman/argparser.py b/repoman/lib/repoman/argparser.py index 670a0e91d..6d545ccca 100644 --- a/repoman/lib/repoman/argparser.py +++ b/repoman/lib/repoman/argparser.py @@ -199,6 +199,15 @@ def parse_args(argv, repoman_default_opts): '--output-style', dest='output_style', choices=output_keys, help='select output type', default='default') + parser.add_argument( + '-j', '--jobs', dest='jobs', action='store', type=int, default=1, + help='Specifies the number of jobs (processes) to run simultaneously.') + + parser.add_argument( + '-l', '--load-average', dest='load_average', action='store', type=float, default=None, + help='Specifies that no new jobs (processes) should be started if there are others ' + 'jobs running and the load average is at least load (a floating-point number).') + parser.add_argument( '--mode', dest='mode', choices=mode_keys, help='specify which mode repoman will run in (default=full)') diff --git a/repoman/lib/repoman/modules/scan/depend/profile.py b/repoman/lib/repoman/modules/scan/depend/profile.py index 39d8b550c..1eb69422a 100644 --- a/repoman/lib/repoman/modules/scan/depend/profile.py +++ b/repoman/lib/repoman/modules/scan/depend/profile.py @@ -2,7 +2,9 @@ import copy +import functools import os +import types from pprint import pformat from _emerge.Package import Package @@ -15,6 +17,10 @@ from repoman.modules.scan.depend._gen_arches import _gen_arches from portage.dep import Atom from portage.package.ebuild.profile_iuse import iter_iuse_vars from portage.util import getconfig +from portage.util.futures import asyncio +from portage.util.futures.compat_coroutine import coroutine, coroutine_return +from portage.util.futures.executor.fork import ForkExecutor +from portage.util.futures.iter_completed import async_iter_completed def sort_key(item): @@ -58,16 +64,14 @@ class ProfileDependsChecks(ScanBase): def check(self, **kwargs): '''Perform profile dependant dependency checks - @param arches: @param pkg: Package in which we check (object). @param ebuild: Ebuild which we check (object). - @param baddepsyntax: boolean - @param unknown_pkgs: set of tuples (type, atom.unevaluated_atom) @returns: dictionary ''' ebuild = kwargs.get('ebuild').get() pkg = kwargs.get('pkg').get() - unknown_pkgs, baddepsyntax = _depend_checks( + + ebuild.unknown_pkgs, ebuild.baddepsyntax = _depend_checks( ebuild, pkg, self.portdb, self.qatracker, self.repo_metadata, self.repo_settings.qadata) @@ -90,8 +94,64 @@ class ProfileDependsChecks(ScanBase): relevant_profiles.append((keyword, groups, prof)) relevant_profiles.sort(key=sort_key) + ebuild.relevant_profiles = relevant_profiles + + if self.options.jobs <= 1: + for task in self._iter_tasks(None, None, ebuild, pkg): + task, results = task + for result in results: + self._check_result(task, result) + + loop = asyncio._wrap_loop() + loop.run_until_complete(self._async_check(loop=loop, **kwargs)) + + return False + + @coroutine + def _async_check(self, loop=None, **kwargs): + '''Perform async profile dependant dependency checks + + @param arches: + @param pkg: Package in which we check (object). + @param
[gentoo-commits] proj/portage:master commit in: repoman/lib/repoman/modules/scan/metadata/, lib/portage/repository/
commit: be21bd79e63282e48d9202d18b89bfd132aa4b2f Author: Zac Medico gentoo org> AuthorDate: Tue Aug 6 03:38:10 2019 + Commit: Zac Medico gentoo org> CommitDate: Mon Aug 19 01:48:48 2019 + 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 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:
[gentoo-commits] proj/portage:master commit in: repoman/lib/repoman/modules/scan/ebuild/, lib/portage/_sets/, cnf/sets/, ...
commit: e75e46958b6b032890ed27d10239e07eced63087 Author: Ulrich Müller gentoo org> AuthorDate: Fri Jul 26 08:51:08 2019 + Commit: Ulrich Müller gentoo org> CommitDate: Fri Jul 26 23:00:22 2019 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=e75e4695 Support PROPERTIES="live". Bug: https://bugs.gentoo.org/233589 Signed-off-by: Ulrich Müller gentoo.org> cnf/sets/portage.conf | 8 +++- lib/_emerge/EbuildExecuter.py | 4 ++-- lib/portage/_sets/__init__.py | 12 +--- repoman/lib/repoman/modules/scan/ebuild/ebuild.py | 3 +-- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/cnf/sets/portage.conf b/cnf/sets/portage.conf index ac282d911..ed4c6d9a7 100644 --- a/cnf/sets/portage.conf +++ b/cnf/sets/portage.conf @@ -55,9 +55,15 @@ world-candidate = True [preserved-rebuild] class = portage.sets.libs.PreservedLibraryConsumerSet -# Installed ebuilds that inherit from known live eclasses. +# Installed ebuilds with "live" property. [live-rebuild] class = portage.sets.dbapi.VariableSet +variable = PROPERTIES +includes = live + +# Installed ebuilds that inherit from known live eclasses. +[deprecated-live-rebuild] +class = portage.sets.dbapi.VariableSet variable = INHERITED includes = bzr cvs darcs git git-2 git-r3 golang-vcs mercurial subversion tla diff --git a/lib/_emerge/EbuildExecuter.py b/lib/_emerge/EbuildExecuter.py index d387b42be..ca9859437 100644 --- a/lib/_emerge/EbuildExecuter.py +++ b/lib/_emerge/EbuildExecuter.py @@ -1,4 +1,4 @@ -# Copyright 1999-2018 Gentoo Foundation +# Copyright 1999-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 from _emerge.EbuildPhase import EbuildPhase @@ -49,7 +49,7 @@ class EbuildExecuter(CompositeTask): phase="unpack", scheduler=self.scheduler, settings=self.settings) - if self._live_eclasses.intersection(self.pkg.inherited): + if "live" in self.settings.get("PROPERTIES", "").split(): # Serialize $DISTDIR access for live ebuilds since # otherwise they can interfere with eachother. diff --git a/lib/portage/_sets/__init__.py b/lib/portage/_sets/__init__.py index 2c9bf9715..7b81c55e2 100644 --- a/lib/portage/_sets/__init__.py +++ b/lib/portage/_sets/__init__.py @@ -1,4 +1,4 @@ -# Copyright 2007-2014 Gentoo Foundation +# Copyright 2007-2019 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 from __future__ import print_function @@ -121,8 +121,14 @@ class SetConfig(object): parser.remove_section("live-rebuild") parser.add_section("live-rebuild") parser.set("live-rebuild", "class", "portage.sets.dbapi.VariableSet") - parser.set("live-rebuild", "variable", "INHERITED") - parser.set("live-rebuild", "includes", " ".join(sorted(portage.const.LIVE_ECLASSES))) + parser.set("live-rebuild", "variable", "PROPERTIES") + parser.set("live-rebuild", "includes", "live") + + parser.remove_section("deprecated-live-rebuild") + parser.add_section("deprecated-live-rebuild") + parser.set("deprecated-live-rebuild", "class", "portage.sets.dbapi.VariableSet") + parser.set("deprecated-live-rebuild", "variable", "INHERITED") + parser.set("deprecated-live-rebuild", "includes", " ".join(sorted(portage.const.LIVE_ECLASSES))) parser.remove_section("module-rebuild") parser.add_section("module-rebuild") diff --git a/repoman/lib/repoman/modules/scan/ebuild/ebuild.py b/repoman/lib/repoman/modules/scan/ebuild/ebuild.py index d2715bc6e..70011e387 100644 --- a/repoman/lib/repoman/modules/scan/ebuild/ebuild.py +++ b/repoman/lib/repoman/modules/scan/ebuild/ebuild.py @@ -12,7 +12,6 @@ from repoman.modules.scan.scanbase import ScanBase # import our initialized portage instance from repoman._portage import portage from portage import os -from portage.const import LIVE_ECLASSES from portage.exception import InvalidPackageName pv_toolong_re = re.compile(r'[0-9]{19,}') @@ -110,7 +109,7 @@ class Ebuild(ScanBase): self.metadata = self.pkg._metadata self.eapi = self.metadata["EAPI"] self.inherited = self.pkg.inherited - self.live_ebuild = LIVE_ECLASSES.intersection(self.inherited) + self.live_ebuild = "live" in self.metadata["PROPERTIES"].split() self.keywords = self.metadata["KEYWORDS"].split() self.archs = set(kw.lstrip("~") for kw in self.keywords if not kw.startswith("-")) return False
[gentoo-commits] proj/portage:master commit in: repoman/lib/repoman/modules/scan/metadata/
commit: 73232537c3f7d8cb4121c0a2dee5b450de584e38 Author: Michał Górny gentoo org> AuthorDate: Thu Jun 20 12:33:01 2019 + Commit: Zac Medico gentoo org> CommitDate: Thu Jun 20 19:50:41 2019 + URL:https://gitweb.gentoo.org/proj/portage.git/commit/?id=73232537 Allow empty LICENSE in acct-* packages Since acct-* packages do not create any files (except for keepfile for the home directory), it is perfectly normal for the LICENSE to be empty. Signed-off-by: Zac Medico gentoo.org> repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py b/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py index 4c35bbc12..2edf8f7f2 100644 --- a/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py +++ b/repoman/lib/repoman/modules/scan/metadata/ebuild_metadata.py @@ -39,8 +39,8 @@ class EbuildMetadata(ScanBase): ebuild = kwargs.get('ebuild').get() for pos, missing_var in enumerate(self.repo_settings.qadata.missingvars): if not ebuild.metadata.get(missing_var): - if kwargs.get('catdir') == "virtual" and \ - missing_var in ("HOMEPAGE", "LICENSE"): + if (kwargs.get('catdir') in ("acct-group", "acct-user", "virtual") + and missing_var in ("HOMEPAGE", "LICENSE")): continue if ebuild.live_ebuild and missing_var == "KEYWORDS": continue