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 \


Reply via email to