commit:     12164035655e5cea4f83f9955bdb4db3369af7e3
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  9 13:03:44 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Jun  9 13:03:44 2023 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=12164035

emerge-webrsync: improve error message when key is missing

Bug: https://bugs.gentoo.org/905868
Signed-off-by: Sam James <sam <AT> gentoo.org>

 NEWS                |  3 +++
 bin/emerge-webrsync | 10 ++++++++++
 2 files changed, 13 insertions(+)

diff --git a/NEWS b/NEWS
index 09dd0675d..2c49b857e 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,9 @@
 Bug fixes:
 * dosym: Prevent globbing of argument in dosym_canonicalize().
 
+* emerge-webrsync: Give a nicer error message if the requested key isn't
+  on the filesystem (bug #905868).
+
 portage-3.0.48.1 (2023-06-06)
 ----------------
 

diff --git a/bin/emerge-webrsync b/bin/emerge-webrsync
index 956e00e1f..3835977fc 100755
--- a/bin/emerge-webrsync
+++ b/bin/emerge-webrsync
@@ -279,6 +279,11 @@ check_file_signature_gemato() {
                        local 
key="${EPREFIX:-/}"/usr/share/openpgp-keys/gentoo-release.asc
                fi
 
+               if [[ ! -f "${key}" ]] ; then
+                       eerror "${key} not available. Is 
sec-keys/openpgp-keys-gentoo-release installed?"
+                       die "Needed keys unavailable! Install its package or 
set PORTAGE_GPG_KEY to the right path."
+               fi
+
                local keyserver
                if [[ -n ${PORTAGE_GPG_KEY_SERVER} ]] ; then
                        keyserver="--keyserver ${PORTAGE_GPG_KEY_SERVER}"
@@ -320,6 +325,11 @@ check_file_signature_gpg_unwrapped() {
                        local 
key="${EPREFIX:-/}"/usr/share/openpgp-keys/gentoo-release.asc
                fi
 
+               if [[ ! -f "${key}" ]] ; then
+                       eerror "${key} not available. Is 
sec-keys/openpgp-keys-gentoo-release installed?"
+                       die "Needed keys unavailable! Install its package or 
set PORTAGE_GPG_KEY to the right path."
+               fi
+
                local gpgdir="${PORTAGE_GPG_DIR}"
                if [[ -z ${gpgdir} ]] ; then
                        gpgdir=$(mktemp -d 
"${PORTAGE_TMPDIR}/portage/webrsync-XXXXXX")

Reply via email to