Maxim Cournoyer wrote:

> There's no /bin/sh in the Guix build container, for example.

I see. You'll have to patch *many* scripts, in many packages, to
accommodate that choice.

And you can't upstream these changes, because the difference between
  build-aux/git-version-gen ...
and
  sh build-aux/git-version-gen ...
is that the latter will break when 'git-version-gen' is ever changed
from a shell script to, say, a Python script, a Guile script, or an
executable.

> This allows in Guix
> to use gnulib-tool with the patched shebangs instead of using /bin/sh,
> which would be a) more fragile (may pick a different shell
> implementation than was tested it)

This fragility is only theoretical: gnulib-tool uses the shell
essentially only to launch the Python interpreter and to provide an
error message if that interpreter is too old. Nothing really fragile.

> starting phase `patch-shebangs'
> patch-shebang: 
> /gnu/store/dw6qybgypz10rrsl3bwm1kxb77kl9sm1-gnulib-2025-06-30-1.9297749/bin/gnulib-tool:
>  changing `/bin/sh' to 
> `/gnu/store/nnx8iifrj6jfih4sivivq17cf65aa968-bash-minimal-5.2.37/bin/sh'
> patch-shebang: 
> /gnu/store/dw6qybgypz10rrsl3bwm1kxb77kl9sm1-gnulib-2025-06-30-1.9297749/bin/gnulib-tool.py:
>  changing `/bin/sh' to 
> `/gnu/store/nnx8iifrj6jfih4sivivq17cf65aa968-bash-minimal-5.2.37/bin/sh'
> patch-shebang: 
> /gnu/store/dw6qybgypz10rrsl3bwm1kxb77kl9sm1-gnulib-2025-06-30-1.9297749/bin/gnulib-tool.sh:
>  changing `/bin/sh' to 
> `/gnu/store/nnx8iifrj6jfih4sivivq17cf65aa968-bash-minimal-5.2.37/bin/sh'

I see. That's a harmless changes, from my point of view.

> > 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.
> 
> Thanks for bringing this to my attention, I've updated it [0].
> 
> [0]  
> https://codeberg.org/guix/guix/commit/4962cb0ad24b4425ea77823c35eb88aaadaf790b

This is better, since it's not outdated.

Still, you won't be able to use this gnulib checkout for all package
releases. For example, the just-released GNU gettext 0.26 or the next
GNU coreutils will need functionality from the 'master' branch of gnulib.

Also, the comment
  #:version "2025-06-30"       ;date from last commit on stable-202507 branch
indicates that you wanted the last commit from the stable-202507 branch.
I updated that branch 3 days ago; see
https://gitweb.git.savannah.gnu.org/gitweb/?p=gnulib.git;a=shortlog;h=refs/heads/stable-202507

Bruno




Reply via email to