• [gentoo-dev] [PATCH] texlive-module.eclass: use pipestatus

    From Florian Schmaus@21:1/5 to All on Wed Dec 11 10:00:01 2024
    Signed-off-by: Florian Schmaus <flow@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..4ba507d4fd70 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 pipest
  • From =?utf-8?Q?Ulrich_M=C3=BCller?=@21:1/5 to All on Wed Dec 11 12:00:01 2024
    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.

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQFDBAEBCAAtFiEEtDnZ1O9xIP68rzDbUYgzUIhBXi4FAmdZb1EPHHVsbUBnZW50 b28ub3JnAAoJEFGIM1CIQV4uzkEH+gM0GrVbgK5kA+/1/Lj9nyuXwYACijeinJMK YUoQhV1c36X5cSWSfnBokth914NbtHkeBboPAm/EWaBYFD1MDum7KSeJuDaXacl1 wRmkdxJlXMvv3NnnCWNb2AvjMvFq5hNXYK5pahT/nkK7TQ5/Y+U+mBsQbVco956E S8BIAJT4ocYr5yx8WRRCNtxc12+KgQuJ8i91XwKgFSAZtUHnzWdU2KxkBL7u+g8L 7wDos5POeOBlJzVt4r32XcxykdEC+p5W5e5QJ1qmVcXfG55/0MHkgtxUrhaXyHS6 FQDCbFyz/rr+AAyQyBC487JtideOBpQtyXRGLg0jw1MwoI9Ok5s=JJCK
    -----END PGP SIGNATURE-----

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