• [gentoo-dev] [PATCH 1/3] texlive-module.eclass: do not treat grep retur

    From Florian Schmaus@21:1/5 to All on Mon May 20 13:20:01 2024
    In case every man page of the dev-texlive/* package is filtered, because
    the man pages are already installed by texlive-core, grep returns an
    exit status of 1, which we must not treat as an error condition.

    Adjust the PIPESTATUS comparison accordingly.

    Closes: https://bugs.gentoo.org/931994
    Signed-off-by: Florian Schmaus <flow@gentoo.org>
    ---
    eclass/texlive-module.eclass | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
    index 0daca41961ff..b202a0188b66 100644
    --- a/eclass/texlive-module.eclass
    +++ b/eclass/texlive-module.eclass
    @@ -539,7 +539,10 @@ texlive-module_src_install() {
    find texmf-dist/doc/man -type f -name '*.[0-9n]' -print |
    grep -v "${grep_expressions[@]}" |
    xargs -d '\n' --no-run-if-empty doman
    - [[ "${PIPESTATUS[*]}" =~ ^0(" 0")*$ ]]
    + # 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"

    # Delete all man pages under texmf-dist/doc/man
    --
    2.44.1

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Florian Schmaus@21:1/5 to All on Mon May 20 13:20:01 2024
    In case doman fails, we do not want to die immediatly as it would
    "break" the ebegin/eend combination. Instead, the exit status is passed
    through xargs. It will then subsequently appear in PIPESTATUS, where it
    is processed by eend || die.

    Signed-off-by: Florian Schmaus <flow@gentoo.org>
    Suggested-by: Ulrich Müller <ulm@gentoo.org>
    ---
    eclass/texlive-module.eclass | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/eclass/texlive-module.eclass b/eclass/texlive-module.eclass
    index b202a0188b66..7d40bfc58994 100644
    --- a/eclass/texlive-module.eclass
    +++ b/eclass/texlive-module.eclass
    @@ -538,7 +538,7 @@ texlive-module_src_install() {
    ebegin "Installing man pages"
    find texmf-dist/doc/man -type f -name '*.[0-9n]' -print |
    grep -v "${grep_expressions[@]}" |
    - xargs -d '\n' --no-run-if-empty doman
    + xargs -d '\n' --no-run-if-empty nonfatal doman
    # 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
    --
    2.44.1

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)