Hi Maxim, > Some distributions such as GNU Guix include in their package for > gnulib a 'gnulib-tool' command under their $bindir > prefix (e.g. '/bin') for users to use, along the unmodified full > sources.
And this package is [1] from 2024-05-30 and therefore unsupported. The Gnulib manual states very early ([2] section 1.3 "Keeping Up-to-date") that the best way to use Gnulib is from its git repository. It also states ([2] section 1.6.1 "Stable Branches") that the only supported stable branches are those that start at 2025-01 and 2025-07. No bug fixes are being done on Gnulib versions older than 2024-12-31. > The idea is that any wrapping or distribution modifications > for the *execution* of the script at run time is done on these > commands, while the rest of the source should be in their > pristine (unmodified) version. Adjust the 'gnulib-tool' discovery > mechanism to support such installation layout. I don't understand what you mean by that. Are you saying that Guix has modified gnulib-tool? If so, what are the added features or fixes? > * build-aux/bootstrap (autogen) <gnulib_tool>: Prefer to use from > PATH, else from $GNULIB_SRCDIR/../../bin/gnulib-tool, else from > $GNULIB_SRCDIR/gnulib-tool. No, we don't want that. The purpose of the environment variable GNULIB_SRCDIR is to let the developer control — directly — which gnulib checkout to use. We do *not* want a gnulib checkout that is unsupported to take priority over that. > Invoke script via 'sh' from PATH, for portability. > ... > (func_version): Explicitly invoke git-version-gen via 'sh' to avoid > relying on the exact location of 'sh' hard-coded in the script > shebang. Why would that be needed? Guix 1.4, which is the newest release [3], has /bin/sh (necessary for shell scripts) and /usr/bin/env (necessary for scripts in other scripting languages, from clisp to perl). Android — which doesn't have /bin/sh — is not a supported development environment for using gnulib-tool; we support it only as a target platform. That is, a developer is supposed to create their tarball on a GNU system, before building it on Android. Bruno [1] https://packages.guix.gnu.org/search/?query=gnulib [2] https://www.gnu.org/software/gnulib/manual/html_node/index.html [3] https://guix.gnu.org/de/download/