In the Texinfo project, I wanted to try to remove a gnulib module. The command I ran was:
../../../../gnulib/gnulib-tool --remove-import copy-file This is inside a deeply nested directory in the project source code. However, this has the opposite effect to that intended: diff --git a/tp/Texinfo/XS/gnulib/lib/Makefile.am b/tp/Texinfo/XS/gnulib/lib/Makefile.am index 5952d1bfb6..e8c4c2b025 100644 --- a/tp/Texinfo/XS/gnulib/lib/Makefile.am +++ b/tp/Texinfo/XS/gnulib/lib/Makefile.am @@ -34,42 +34,7 @@ # --libtool \ # --macro-prefix=gl \ # --po-domain=texinfo_tp \ -# copy-file \ -# euidaccess \ -# getline \ -# iconv \ -# libunistring \ -# locale \ -# obstack \ -# setenv \ -# strchrnul \ -# strndup \ -# uchar \ -# unicase/u8-tolower \ -# unicase/u8-toupper \ -# unictype/category-L \ -# unictype/category-M \ -# unictype/category-Mn \ -# unictype/category-Nd \ -# unictype/category-test \ -# unictype/ctype-upper \ -# unictype/property-alphabetic \ -# unictype/property-join-control \ -# unictype/property-test \ -# uninorm/nfc \ -# uninorm/nfkd \ -# uninorm/u8-normalize \ -# unistr/u32-next \ -# unistr/u8-mbsnlen \ -# unistr/u8-mbtouc \ -# unistr/u8-next \ -# unistr/u8-strlen \ -# unistr/u8-strmbtouc \ -# unistr/u8-uctomb \ -# uniwidth/u8-strwidth \ -# uniwidth/u8-width \ -# unsetenv \ -# vasprintf +# copy-file AUTOMAKE_OPTIONS = 1.14 gnits subdir-objects I wanted to remove "copy-file", but it actually removed every other module. I noticed that gnulib-tool was now possibly written in Python, so I thought I would see if was an issue with the new implementation: GNULIB_TOOL_IMPL=sh ../../../../gnulib/gnulib-tool --remove-import copy-file This gave an error message that I did not get without GNULIB_TOOL_IMPL: ../../../../gnulib/gnulib-tool.sh: *** Ambiguity: to which directory should the modules be added? Please specify at least --m4-base=... ../../../../gnulib/gnulib-tool.sh: *** Stop. According to the comment in gnulib-tool, sh is supposed to be the default, but it is actually Python: # This program dispatches among # - the shell implementation and # - the Python implementation # of gnulib-tool, according to the environment variable GNULIB_TOOL_IMPL. # The environment variable GNULIB_TOOL_IMPL can have four possible values: # - GNULIB_TOOL_IMPL=sh chooses the shell implementation. # - GNULIB_TOOL_IMPL=py chooses the Python implementation. # - GNULIB_TOOL_IMPL= chooses the default (currently sh). # - GNULIB_TOOL_IMPL=sh+py runs both implementations and compares the # result The ChangeLog for gnulib has this entry saying the default was switched to Python: 2024-04-26 Bruno Haible <br...@clisp.org> gnulib-tool: Use the Python implementation by default. * gnulib-tool: If GNULIB_TOOL_IMPL is not set: Use the Python implementation if a suitable 'python3' program is found in $PATH; otherwise print a warning and use the shell implementation. How do I get this module removed?