[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bootstrap regression ?
Gary V. Vaughan
Re: bootstrap regression ?
Sat, 2 Mar 2019 15:00:58 -0800
> On Mar 2, 2019, at 10:08 AM, Tim Rühsen <address@hidden> wrote:
>> On 02.03.19 17:52, Gary V. Vaughan wrote:
>> On Mar 1, 2019, at 1:42 PM, Tim Rühsen <address@hidden
>> <mailto:address@hidden>> wrote:
>>> at GnuTLS we have one git submodule that is not 'active' by default -
>>> this is on purpose since we want to init it just in certain cases.
>>> The latest 'bootstrap' script doesn't accept this and stops with an error:
>>> "./bootstrap: some git submodules are not initialized. Run 'git
>>> submodule init' and bootstrap again."
>>> The breaking change in 'bootstrap' is:
>>> +# Don't proceed if there are uninitialized submodules. In particular,
>>> +# the next step will remove dangling links, which might be links into
>>> +# uninitialized submodules.
>>> +# Uninitialized submodules are listed with an initial dash.
>>> +if $use_git && git submodule | grep '^-' >/dev/null; then
>>> + die "some git submodules are not initialized. " \
>>> + "Run 'git submodule init' and bootstrap again."
>>> Currently I just commented out these lines, but a proper mechanism would
>>> be nice.
>> Hi Tim,
>> Have you considered this?
>> It has proven invaluable for incorporating gnulib modules into libtool,
>> M4 and several other projects with more complex bootstrap processes than
>> the standard gnulib bootstrap scripts can accommodate cleanly...
> Hi Gary,
> thanks for that hint and for your work !
> Do you have some speed comparisons (yours vs. gnulib's bootstrap) ?
> A significant speedup would be a very good argument to switch.
> Since gnulib's bootstrap just works on all my projects (some have with
> additional code in bootstrap.conf), performance is my only concern.
> Regards, Tim
When I last compared 3 or 4 years ago, the rewrite was barely faster than the
bundled bootstrap, although I know that Pavel (current maintainer) found some
significant speed ups since then... but I have not kept track of either
implementation since then, and I’m sure the bundled bootstrap has made progress
in that time too.
I hesitate to recommend a switch for performance alone: The best reason for
switching would be to take advantage of ultimate configurabilty where
overriding or enhancing any part or sub-part of the script was the primary
motivation for rewriting in the first place - and perhaps the significantly
cleaner (and well-documented!) design to help you leverage that configurability
when the bundled gnulib bootstrap does not work for your requirements.