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)