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/




Reply via email to