>>>>> On Wed, 11 Dec 2024, Florian Schmaus wrote: > --- 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 : $? ))"; }
"sgrep" is rather generic as a function name and prone to name clashes. I suggest "_tl_grep" instead. > 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 || Otherwise LGTM.
signature.asc
Description: PGP signature