From: "Zac Medico" <zmedico@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/portage:master commit in: lib/_emerge/
Date: Thu, 28 Mar 2024 14:48:38 +0000 (UTC) [thread overview]
Message-ID: <1711637269.08a2bc3800ea2e997716903244ec041339b45b06.zmedico@gentoo> (raw)
commit: 08a2bc3800ea2e997716903244ec041339b45b06
Author: Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 24 22:11:54 2024 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Thu Mar 28 14:47:49 2024 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=08a2bc38
BinpkgPrefetcher: Emit eerror message for binarytree inject failure
Since it is confusing when emerge exits due to an error that only shows
in the fetch log, emit an eerror message when binarytree inject fails:
>>> Running pre-merge checks for sys-libs/glibc-2.38-r10
* Fetching in the background:
* /var/cache/binpkgs/sys-libs/glibc/glibc-2.38-r10-5.gpkg.tar.partial
* To view fetch progress, run in another terminal:
* tail -f /var/log/emerge-fetch.log
>>> Failed to emerge sys-libs/glibc-2.38-r10
* Messages for package sys-libs/glibc-2.38-r10:
* Binary package is not usable:
* !!!
* gpg: keyblock resource '/etc/portage/gnupg/pubring.kbx': No such file or directory
* [GNUPG:] ERROR add_keyblock_resource 33587281
* [GNUPG:] PLAINTEXT 74 0
* [GNUPG:] NEWSIG
* gpg: Signature made Wed 20 Mar 2024 10:34:45 PM CET
* gpg: using RSA key 534E4209AB49EEE1C19D96162C44695DB9F6043D
* [GNUPG:] ERROR keydb_search 33554445
* [GNUPG:] ERROR keydb_search 33554445
* [GNUPG:] ERRSIG 2C44695DB9F6043D 1 10 01 1710970485 9 534E4209AB49EEE1C19D96162C44695DB9F6043D
* [GNUPG:] NO_PUBKEY 2C44695DB9F6043D
* !!! Invalid binary package: '/var/cache/binpkgs/sys-devel/binutils/binutils-2.41-r5-4.gpkg.tar.partial', GPG verify failed
Fixes: 0ff49114cec7 ("binarytree: Handle inject failures")
Bug: https://bugs.gentoo.org/927632
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
lib/_emerge/BinpkgPrefetcher.py | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/lib/_emerge/BinpkgPrefetcher.py b/lib/_emerge/BinpkgPrefetcher.py
index ed68d2852c..a8af30ca80 100644
--- a/lib/_emerge/BinpkgPrefetcher.py
+++ b/lib/_emerge/BinpkgPrefetcher.py
@@ -7,7 +7,10 @@ import sys
from _emerge.BinpkgFetcher import BinpkgFetcher
from _emerge.CompositeTask import CompositeTask
from _emerge.BinpkgVerifier import BinpkgVerifier
+import portage
from portage import os
+from portage.elog import messages as elog_messages
+from portage.util import no_color
class BinpkgPrefetcher(CompositeTask):
@@ -48,6 +51,7 @@ class BinpkgPrefetcher(CompositeTask):
self.wait()
return
+ injected_pkg = None
stdout_orig = sys.stdout
stderr_orig = sys.stderr
out = io.StringIO()
@@ -67,12 +71,33 @@ class BinpkgPrefetcher(CompositeTask):
output_value = out.getvalue()
if output_value:
- self.scheduler.output(
- output_value,
- log_path=self.scheduler.fetch.log_file,
- background=self.background,
- )
+ if injected_pkg is None:
+ msg = ["Binary package is not usable:"]
+ msg.extend("\t" + line for line in output_value.splitlines())
+ self._elog("eerror", msg)
+ else:
+ self.scheduler.output(
+ output_value,
+ log_path=self.scheduler.fetch.log_file,
+ background=self.background,
+ )
self._current_task = None
self.returncode = 1 if injected_pkg is None else os.EX_OK
self.wait()
+
+ def _elog(self, elog_funcname, lines, phase="other"):
+ out = io.StringIO()
+ elog_func = getattr(elog_messages, elog_funcname)
+ global_havecolor = portage.output.havecolor
+ try:
+ portage.output.havecolor = not no_color(self._bintree.settings)
+ for line in lines:
+ elog_func(line, phase=phase, key=self.pkg.cpv, out=out)
+ finally:
+ portage.output.havecolor = global_havecolor
+ msg = out.getvalue()
+ if msg:
+ self.scheduler.output(
+ msg, background=self.background, log_path=self.scheduler.fetch.log_file
+ )
next reply other threads:[~2024-03-28 14:48 UTC|newest]
Thread overview: 167+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-03-28 14:48 Zac Medico [this message]
-- strict thread matches above, loose matches on Subject: below --
2025-01-16 21:04 [gentoo-commits] proj/portage:master commit in: lib/_emerge/ Sam James
2024-09-29 22:52 Zac Medico
2024-09-11 1:39 Sam James
2024-09-11 1:39 Sam James
2024-08-14 16:05 Zac Medico
2024-08-14 15:17 Zac Medico
2024-08-02 13:38 James Le Cuirot
2024-05-26 23:28 Sam James
2024-05-26 23:28 Sam James
2024-05-26 23:28 Sam James
2024-05-26 18:02 Zac Medico
2024-05-21 16:08 Zac Medico
2024-05-13 5:43 Sam James
2024-05-04 12:05 Sam James
2024-03-09 23:31 Zac Medico
2024-02-24 20:03 Zac Medico
2024-02-21 16:00 Zac Medico
2024-02-21 16:00 Zac Medico
2024-02-21 16:00 Zac Medico
2024-01-17 12:53 Zac Medico
2024-01-04 16:00 Zac Medico
2024-01-03 19:59 Sam James
2023-12-30 21:45 Zac Medico
2023-12-27 13:30 Sam James
2023-12-26 22:03 Zac Medico
2023-12-19 4:15 Zac Medico
2023-12-10 22:29 Sam James
2023-12-04 6:45 Sam James
2023-11-29 20:05 Zac Medico
2023-11-29 19:56 Zac Medico
2023-11-29 0:33 Zac Medico
2023-11-28 22:51 Zac Medico
2023-11-25 6:33 Zac Medico
2023-11-14 4:24 Zac Medico
2023-11-11 7:23 Sam James
2023-11-10 16:04 Zac Medico
2023-11-06 15:58 Sam James
2023-10-22 22:51 Zac Medico
2023-10-22 22:09 Sam James
2023-10-22 4:38 Zac Medico
2023-10-14 20:01 Zac Medico
2023-10-05 4:45 Zac Medico
2023-09-21 15:47 Sam James
2023-09-21 15:47 Sam James
2023-09-15 10:36 Sam James
2023-09-15 10:36 Sam James
2023-07-11 5:02 Sam James
2023-06-29 8:19 Sam James
2023-06-29 8:19 Sam James
2023-06-29 8:19 Sam James
2023-06-14 5:06 Sam James
2023-06-14 5:03 Sam James
2023-06-14 1:44 Sam James
2023-05-23 2:59 Sam James
2023-02-18 0:00 Sam James
2023-02-17 1:23 Sam James
2023-01-10 15:12 Sam James
2022-11-28 15:32 Zac Medico
2022-11-28 15:32 Zac Medico
2022-09-25 19:12 Mike Gilbert
2022-09-25 1:36 Sam James
2022-09-20 3:39 Sam James
2022-09-18 18:35 Mike Gilbert
2022-08-13 17:56 Sam James
2022-06-17 17:05 Mike Gilbert
2022-06-07 23:48 Mike Gilbert
2022-04-22 23:08 Mike Gilbert
2022-03-27 23:07 Sam James
2022-03-06 19:25 Zac Medico
2022-02-14 21:51 Sam James
2021-12-04 4:56 Michał Górny
2021-10-28 4:52 Sam James
2021-10-28 4:07 Sam James
2021-09-21 5:51 Zac Medico
2021-09-21 5:51 Zac Medico
2021-06-13 22:41 Zac Medico
2021-05-24 6:33 Zac Medico
2021-05-24 6:33 Zac Medico
2021-05-24 6:33 Zac Medico
2021-05-16 22:29 Zac Medico
2021-05-08 17:54 Zac Medico
2021-05-01 22:47 Zac Medico
2021-05-01 22:47 Zac Medico
2020-12-03 23:20 Zac Medico
2020-09-21 5:54 Zac Medico
2020-08-09 21:48 Zac Medico
2020-08-09 0:15 Zac Medico
2020-08-04 3:11 Zac Medico
2020-08-03 23:28 Zac Medico
2020-08-03 23:28 Zac Medico
2020-08-03 21:42 Zac Medico
2020-08-03 21:42 Zac Medico
2020-08-03 21:42 Zac Medico
2020-08-03 19:30 Zac Medico
2020-08-03 19:30 Zac Medico
2020-08-03 19:30 Zac Medico
2020-08-03 19:30 Zac Medico
2020-08-03 19:30 Zac Medico
2020-08-03 19:30 Zac Medico
2020-08-03 19:30 Zac Medico
2020-07-22 20:42 Zac Medico
2020-07-18 23:54 Zac Medico
2020-06-24 5:41 Zac Medico
2020-06-23 18:00 Zac Medico
2020-04-09 20:48 Zac Medico
2020-04-09 6:48 Zac Medico
2020-04-08 5:56 Zac Medico
2020-04-08 5:56 Zac Medico
2020-04-08 5:56 Zac Medico
2020-04-08 5:56 Zac Medico
2020-04-08 5:56 Zac Medico
2020-04-08 5:56 Zac Medico
2020-04-08 5:56 Zac Medico
2020-04-08 5:56 Zac Medico
2020-04-08 5:56 Zac Medico
2020-04-08 5:56 Zac Medico
2020-04-08 5:56 Zac Medico
2020-04-08 5:56 Zac Medico
2020-03-23 1:51 Zac Medico
2020-03-23 0:42 Zac Medico
2020-03-22 20:56 Zac Medico
2020-03-07 22:18 Zac Medico
2020-03-07 20:14 Zac Medico
2020-03-06 3:36 Zac Medico
2020-03-06 3:04 Zac Medico
2020-03-05 17:39 Zac Medico
2020-03-05 8:26 Zac Medico
2020-03-04 10:28 Zac Medico
2020-03-03 5:47 Zac Medico
2020-03-02 3:54 Zac Medico
2020-03-01 20:31 Zac Medico
2020-03-01 18:36 Zac Medico
2020-03-01 2:17 Zac Medico
2020-03-01 1:47 Zac Medico
2020-03-01 0:57 Zac Medico
2020-02-29 22:49 Zac Medico
2020-02-29 21:48 Zac Medico
2020-02-29 18:52 Zac Medico
2020-02-29 8:39 Zac Medico
2020-02-24 6:07 Zac Medico
2020-02-22 0:06 Zac Medico
2020-02-18 6:45 Zac Medico
2020-02-18 0:21 Zac Medico
2020-02-17 23:14 Zac Medico
2020-02-11 20:49 Zac Medico
2020-02-10 5:11 Zac Medico
2020-02-03 20:34 Zac Medico
2020-02-03 20:30 Zac Medico
2019-12-26 21:22 Zac Medico
2019-12-23 23:34 Zac Medico
2019-11-28 1:43 Zac Medico
2019-11-25 6:38 Zac Medico
2019-11-18 2:56 Zac Medico
2019-11-17 21:04 Zac Medico
2019-11-16 9:23 Zac Medico
2019-10-27 19:33 Zac Medico
2019-10-23 17:03 Zac Medico
2019-09-01 1:09 Zac Medico
2019-08-06 3:14 Zac Medico
2019-07-08 6:49 Zac Medico
2019-04-24 18:54 Zac Medico
2019-04-21 1:02 Zac Medico
2019-01-21 21:59 Zac Medico
2018-11-25 8:25 Zac Medico
2018-10-06 1:03 Zac Medico
2018-08-02 18:45 Zac Medico
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1711637269.08a2bc3800ea2e997716903244ec041339b45b06.zmedico@gentoo \
--to=zmedico@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox