[prev in list] [next in list] [prev in thread] [next in thread]
List: gentoo-commits
Subject: [gentoo-commits] proj/pkgcore/pkgcore:master commit in: src/pkgcore/ebuild/
From: "Arthur Zamarin" <arthurzam () gentoo ! org>
Date: 2023-06-30 20:08:55
Message-ID: 1688155724.b274e2aa89271710357abea944cddd1a1a331877.arthurzam () gentoo
[Download RAW message or body]
commit: b274e2aa89271710357abea944cddd1a1a331877
Author: Eric Huber <echuber2 <AT> illinois <DOT> edu>
AuthorDate: Thu Jun 29 06:42:16 2023 +0000
Commit: Arthur Zamarin <arthurzam <AT> gentoo <DOT> org>
CommitDate: Fri Jun 30 20:08:44 2023 +0000
URL: https://gitweb.gentoo.org/proj/pkgcore/pkgcore.git/commit/?id=b274e2aa
manifest: fix missing errors when all ebuilds for package are masked bad
If all of a package's ebuild files have been masked bad, that package
gets filtered out of the iterator for the previous loop in this
function, so a followup loop over the masked bad packages can help to
emit the unreported errors.
Resolves: https://github.com/pkgcore/pkgdev/issues/55
Co-authored-by: YiFei Zhu <zhuyifei1999 <AT> gmail.com>
Authored-by: Eric Huber <echuber2 <AT> illinois.edu>
Closes: https://github.com/pkgcore/pkgcore/pull/406
Signed-off-by: Arthur Zamarin <arthurzam <AT> gentoo.org>
src/pkgcore/ebuild/repository.py | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/pkgcore/ebuild/repository.py b/src/pkgcore/ebuild/repository.py
index 800e6e5dd..164aa0c97 100644
--- a/src/pkgcore/ebuild/repository.py
+++ b/src/pkgcore/ebuild/repository.py
@@ -161,6 +161,18 @@ class repo_operations(_repo_ops.operations):
observer.info(f"generating manifest: {key}::{self.repo.repo_id}")
manifest.update(sorted(all_fetchables.values()), chfs=write_chksums)
+ # edge case: If all ebuilds for a package were masked bad,
+ # then it was filtered out of the iterator for the above loop,
+ # so we handle unreported bad packages here.
+ missed_bad_set = set()
+ for pkg in self.repo._bad_masked:
+ if pkg.key not in ret:
+ observer.error(
+ f"{pkg.cpvstr}: {pkg.data.msg(verbosity=observer.verbosity)}"
+ )
+ missed_bad_set.add(pkg.key)
+ ret.update(missed_bad_set)
+
return ret
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic