When I do "make dist" from a groff git checkout, it fails:
groff-1.25.0.rc2.6-9df222-modified/doc/groff.html.node/Manipulating-Type-Size-and-Vertical-Spacing.html
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/do-not-abort-applying-tr-request-to-non-char.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/backslash-exclamation-early-does-not-fail.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/roman-format-register-interpolation-works.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/alpha-format-register-interpolation-works.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/stringup-request-transforms-non-basic-latin.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/device-control-special-character-handling.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/error-no-space-between-dt-or-wh-arguments.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/current-language-and-environment-in-sync.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/do-not-crash-on-mismatched-diversion-request.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/evc-request-produces-no-output-if-invalid.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/device-control-escapes-express-basic-latin.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/backslash-X-is-transparent-to-hyphenation.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/fp-request-does-not-traverse-directories.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/device-request-passes-most-escape-sequences.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/do-not-crash-on-backslash-X-if-font-invalid.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/substring-request-on-invalid-range-is-no-op.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/do-not-loop-infinitely-when-breaking-cjk.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/so-request-accepts-embedded-space-in-arg.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/backslash-right-brace-ends-string-definition.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/stringdown-request-rejects-request-names.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/double-do-request-does-not-fail-assertion.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/backslash-s-works-with-single-digit-argument.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/composite-nodes-produce-approximate-output.sh
groff-1.25.0.rc2.6-9df222-modified/src/roff/groff/tests/handle-right-brace-escape-as-macro-argument.sh
groff-1.25.0.rc2.6-9df222-modified/src/preproc/tbl/tests/do-not-segv-on-span-only-table-description.sh
groff-1.25.0.rc2.6-9df222-modified/src/preproc/tbl/tests/do-not-segv-when-backslash-R-in-text-block.sh
groff-1.25.0.rc2.6-9df222-modified/src/preproc/tbl/tests/passes-through-input-with-eighth-bit-set.sh
groff-1.25.0.rc2.6-9df222-modified/src/preproc/tbl/tests/do-not-segv-on-invalid-vertical-span-entry.sh
groff-1.25.0.rc2.6-9df222-modified/src/preproc/tbl/tests/save-and-restore-hyphenation-parameters.sh
groff-1.25.0.rc2.6-9df222-modified/src/preproc/soelim/tests/passes-through-input-with-eighth-bit-set.sh
groff-1.25.0.rc2.6-9df222-modified/src/preproc/grn/tests/passes-through-input-with-eighth-bit-set.sh
groff-1.25.0.rc2.6-9df222-modified/src/preproc/pic/tests/do-not-crash-when-reading-macro-arguments.sh
groff-1.25.0.rc2.6-9df222-modified/src/preproc/pic/tests/passes-through-input-with-eighth-bit-set.sh
groff-1.25.0.rc2.6-9df222-modified/src/preproc/eqn/tests/passes-through-input-with-eighth-bit-set.sh
groff-1.25.0.rc2.6-9df222-modified/src/preproc/eqn/tests/diagnostics-report-correct-line-numbers.sh
groff-1.25.0.rc2.6-9df222-modified/src/devices/grops/tests/device-extension-command-import-works.sh
groff-1.25.0.rc2.6-9df222-modified/tmac/tests/doc_do-not-loop-infinitely-when-shortening-headers.sh
error: the above filenames are too long
make[2]: *** [Makefile:16208: distdir-am] Error 1
make[2]: Leaving directory '/groff-git/groff/bb'
make[1]: *** [Makefile:16199: distdir] Error 2
make[1]: Leaving directory '/groff-git/groff/bb'
make: *** [Makefile:16317: dist] Error 2
The generated Makefile.in has
@if test -z "$(am__skip_length_check)" && find "$(distdir)" -type f
-print | \
grep
'^...................................................................................................'
1>&2; then \
echo 'error: the above filenames are too long' 1>&2; \
exit 1; \
else :; fi
These Makefile statements come from the line
AUTOMAKE_OPTIONS = filename-length-max=99
in Makefile.am.
Since groff uses the default tar format that Automake provides (it does not use
the 'tar-v7' or 'tar-pax' option), and this default tar format is now
'tar-ustar'
(since Automake 1.18), restricting the file name length to 99 characters is no
longer necessary. The limit can be bumped to 155. See
https://lists.gnu.org/archive/html/bug-automake/2026-08/msg00000.html
The attached patch indeed fixes "make dist" in my case.
Bruno
>From 5a98406d7eb4713a9c8a1cd4366d0971d14fac27 Mon Sep 17 00:00:00 2001
From: Bruno Haible <[email protected]>
Date: Wed, 5 Aug 2026 16:34:19 +0200
Subject: [PATCH] build: Fix "make dist" errors in modified git checkouts.
* Makefile.am (AUTOMAKE_OPTIONS): Use filename-length-max=155 instead of
filename-length-max=99.
---
Makefile.am | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 1690909df..cce14d5df 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -542,7 +542,10 @@ REVISION = `echo $(VERSION) | cut -d . -f 3`
# Initialize Automake variables we haven't already handled; see section
# "3.8 Modifying the build rules of a Gnulib import directory" in the
# Gnulib manual.
-AUTOMAKE_OPTIONS = filename-length-max=99
+# Assuming Automake >= 1.18, the default tar format is tar-ustar, which
+# supports file names of length 155 and more. See
+# https://www.gnu.org/software/automake/manual/html_node/List-of-Automake-options.html
+AUTOMAKE_OPTIONS = filename-length-max=155
SUBDIRS =
noinst_HEADERS =
noinst_LTLIBRARIES =
--
2.53.0