On 07/02/2026 20:48, Collin Funk wrote:
Collin Funk <[email protected]> writes:
Any ideas for a fix?
While writing this mail, I think using #!@SHELL@ in
build-aux/makeinfo-wrapper.sh.in might work to allow us the use the
environment variable from the MAKEINFO variable. Let me try that.
This seems to work, but I will leave it unpushed so you can review:
diff --git a/build-aux/makeinfo-wrapper.sh.in b/build-aux/makeinfo-wrapper.sh.in
index 6acea2f19..fc535fea7 100755
--- a/build-aux/makeinfo-wrapper.sh.in
+++ b/build-aux/makeinfo-wrapper.sh.in
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!@POSIX_SHELL@
# makeinfo wrapper that post-processes HTML output to replace _002d with -,
# only on lines containing "option", corresponding to our @optAnchor macro.
# Note texi uses "-" in anchors for spaces, hence why it escapes - with _002d.
diff --git a/doc/local.mk b/doc/local.mk
index 313a7648a..129def7cd 100644
--- a/doc/local.mk
+++ b/doc/local.mk
@@ -25,7 +25,7 @@ doc_coreutils_TEXINFOS = \
doc/fdl.texi \
doc/sort-version.texi
-MAKEINFO = SHELL='$(SHELL)' $(abs_top_builddir)/build-aux/makeinfo-wrapper.sh
+MAKEINFO = $(abs_top_builddir)/build-aux/makeinfo-wrapper.sh
# The customization variable CHECK_NORMAL_MENU_STRUCTURE is necessary with
# makeinfo versions ≥ 6.8.
Collin
That would undo the fish fix though as the SHELL of for the ${SHELL}...missing
introduced by automake/autoconf.
I see all uses of $MAKEINFO are eval'd in gendocs.sh except one.
This gnulib tweak seems to avoid the issue here:
diff --git a/build-aux/gendocs.sh b/build-aux/gendocs.sh
index 29896ab28e..80b0a17368 100755
--- a/build-aux/gendocs.sh
+++ b/build-aux/gendocs.sh
@@ -424,7 +424,7 @@ d=`dirname $srcfile`
# Omit patterns that do not expand to file names.
pats=
- if case `$MAKEINFO --version | sed -e 's/^[^0-9]*//' -e 1q` in \
+ if case `eval $MAKEINFO --version | sed -e 's/^[^0-9]*//' -e 1q` in \
[1-6]* | 7.[01]*) false;; \
*) true;; \
esac \