commit:     5293d4b91dabb4c61afc4990b4f177d273f0fc80
Author:     Florian Schmaus <flow <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 11 08:49:42 2024 +0000
Commit:     Florian Schmaus <flow <AT> gentoo <DOT> org>
CommitDate: Thu Dec 12 17:02:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5293d4b9

texlive-module.eclass: use pipestatus

Signed-off-by: Florian Schmaus <flow <AT> gentoo.org>

 eclass/texlive-module.eclass | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
index f8b6f0858cd6..ebd65e3dd0d8 100644
--- a/eclass/texlive-module.eclass
+++ b/eclass/texlive-module.eclass
@@ -79,7 +79,7 @@ esac
 if [[ -z ${_TEXLIVE_MODULE_ECLASS} ]]; then
 _TEXLIVE_MODULE_ECLASS=1
 
-inherit texlive-common
+inherit eapi9-pipestatus texlive-common
 
 HOMEPAGE="https://www.tug.org/texlive/";
 
@@ -537,16 +537,15 @@ texlive-module_src_install() {
                                grep_expressions+=(-e "/${f//./\\.}\$")
                        done
 
+                       local status
+                       # "success-status aware grep", returning exit status 0 
instead of 1.
+                       _sgrep() { grep "$@"; return "$(( $? <= 1 ? 0 : $? ))"; 
}
                        ebegin "Installing man pages"
                        find texmf-dist/doc/man -type f -name '*.[0-9n]' -print 
|
-                               grep -v "${grep_expressions[@]}" |
+                               _sgrep -v "${grep_expressions[@]}" |
                                xargs -d '\n' --no-run-if-empty nonfatal doman
-                       local pipestatus="${PIPESTATUS[*]}"
-                       # The grep in the middle of the pipe may return 1 in 
case
-                       # everything from the input is dropped.
-                       # See https://bugs.gentoo.org/931994
-                       [[ ${pipestatus} == "0 "[01]" 0" ]]
-                       eend $? || die "error installing man pages (pipestatus: 
${pipestatus})"
+                       status=$(pipestatus -v)
+                       eend $? || die "error installing man pages (PIPESTATUS: 
${status})"
 
                        # Delete all man pages under texmf-dist/doc/man
                        find texmf-dist/doc/man -type f -name '*.[0-9n]' 
-delete ||

Reply via email to