Subject: Re: bug#78398: sc_gitignore_missing failure

From: Pádraig Brady <[email-masked]>
Date: Mon, 12 May 2025 23:27:30 +0100

On 12/05/2025 21:29, Bruno Haible via GNU coreutils Bug Reports wrote:
> Following the addition of file lib/fts.in.h in gnulib, the coreutils CI
> fails.
> 
> To reproduce the failure:
> 
> $ make sc_gitignore_missing
> gitignore_missing
> /lib/fts.h
> maint.mk: Add above entries to .gitignore
> make: *** [cfg.mk:813: sc_gitignore_missing] Error 1
> 
> The rule in cfg.mk apparently assumes that there will be a file lib/fts.h.
> But no, that file is called lib/fts_.h, for historical reasons.

I'm pushing the following to address this.
Marking this as done.

cheers,
Pádraig

commit bd8be6b99ed73df0e055ba4e12bbf78c41a472c6 (HEAD -> master)Author: Pádraig Brady <[email-masked]>
Date:   Mon May 12 23:20:43 2025 +0100

     maint: avoid sc_gitignore_missing failure

     * .gitignore: Add the soon to be generated lib/fts_.h
     * cfg.mk (sc_gitignore_missing): Special case the mapping
     of fts.in.h to fts_.h.
     Fixes https://bugs.gnu.org/78398

diff --git a/.gitignore b/.gitignore
index f4a17ad04..bafeb2bc5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -69,6 +69,7 @@
  /lib/fcntl.h
  /lib/float.h
  /lib/fnmatch.h
+/lib/fts_.h
  /lib/getopt-cdefs.h
  /lib/getopt.h
  /lib/glthread
diff --git a/cfg.mk b/cfg.mk
index 94bd46441..e147d4ae7 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -812,7 +812,8 @@ sc_fs-magic-compare:
  sc_gitignore_missing:
         @{ sed -n '/^\/lib\/.*\.h$$/{p;p}' $(srcdir)/.gitignore;        \
             find lib -name '*.in*' ! -name '*~' ! -name 'sys_*' |       \
-             sed 's|^|/|; s|_\(.*in\.h\)|/\1|; s/\.in//'; } |          \
+             sed 's|^|/|; s|_\(.*in\.h\)|/\1|; s/\.in//' |             \
+             sed 's|/fts\.h$$|/fts_.h|'; } |                           \
               sort | uniq -u | grep . && { echo '$(ME): Add above'      \
                 'entries to .gitignore' >&2; exit 1; } || :