Hi Simon,
On 3/23/24 2:24 AM, Simon Josefsson wrote:
> Is there a way to opt-in inetutils to prefer python gnulib-tool, before
> gnulib as a whole changes its default behaviour? I think doing that
> will allow better testing of gnulib-tool.py in the wild until gnulib as
> a whole can change. This way, we can migrate a bunch of projects to
> gnulib-tool.py and get real-world testing of how it works over time for
> many months. I would be happy to do this for a bunch of projects
> (libidn, libidn2, oath-toolkit, inetutils, libtasn1, gsasl, libntlm,
> etc). Maybe this was already discussed and I forgot.
I don't think we ever discussed the correct way to do it on a
per-project basis. I think that 'GNULIB_TOOL_IMPL' was meant more for
creating a transition to gnulib-tool.py in the future, instead of
maintaining both. I don't see why the variable can't be used for both
though.
Out of curiousity, I cloned libidn, libidn2, inetutils, libtasn1,
gsasl, and libntlm, creating two copies of each directory. Then I ran
the bootstrap script with gnulib-tool.py in one and gnulib-tool.sh in
the other. When diff'ing the resulting directories they seemed to be
almost correct. The biggest issue I noticed is .gitignores and backup
files, which I am working on at the moment.
In the Python directories I ran:
$ ./configure
$ make all
$ make check
and they all worked successfully.
> Hmm. Could putting the following into bootstrap.conf be a method that
> we could recommend? Then developers can override it with
> GNULIB_TOOL_IMPL=sh ./bootstrap if they want.
>
> GNULIB_TOOL_IMPL=${GNULIB_TOOL_IMPL:-py}
I'd like to hear what Bruno thinks about this idea. I think this might
be a good starting point for real-world testing. Maybe we can disable
it by default in bootstrap.conf, but leave a comment saying it is a
work-in-progress and experimental?
I'm happy to help with your projects Simon if we are able to switch
them over. I imagine the biggest barrier to that would be copyright
assignment. :) I just submitted the Inetutils form yestreday.
Collin