bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
* bootstrap regression ?
@ 2019-03-01 21:42 Tim Rühsen
  2019-03-02 16:52 ` Gary V. Vaughan
  0 siblings, 1 reply; 4+ messages in thread
From: Tim Rühsen @ 2019-03-01 21:42 UTC (permalink / raw)
  To: bug-gnulib


[-- Attachment #1.1: Type: text/plain, Size: 897 bytes --]

Hi,

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."
+fi

Currently I just commented out these lines, but a proper mechanism would
be nice.

Regards, Tim


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: bootstrap regression ?
  2019-03-01 21:42 bootstrap regression ? Tim Rühsen
@ 2019-03-02 16:52 ` Gary V. Vaughan
  2019-03-02 18:08   ` Tim Rühsen
  0 siblings, 1 reply; 4+ messages in thread
From: Gary V. Vaughan @ 2019-03-02 16:52 UTC (permalink / raw)
  To: Tim Rühsen; +Cc: bug-gnulib

[-- Attachment #1: Type: text/plain, Size: 1319 bytes --]


> On Mar 1, 2019, at 1:42 PM, Tim Rühsen <tim.ruehsen@gmx.de> wrote:
> 
> Hi,
> 
> 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."
> +fi
> 
> Currently I just commented out these lines, but a proper mechanism would
> be nice.

Hi Tim,

Have you considered this?

  https://github.com/gnulib-modules/bootstrap

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...

Cheers,
Gary

[-- Attachment #2: Type: text/html, Size: 2119 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: bootstrap regression ?
  2019-03-02 16:52 ` Gary V. Vaughan
@ 2019-03-02 18:08   ` Tim Rühsen
  2019-03-02 23:00     ` Gary V. Vaughan
  0 siblings, 1 reply; 4+ messages in thread
From: Tim Rühsen @ 2019-03-02 18:08 UTC (permalink / raw)
  To: Gary V. Vaughan; +Cc: bug-gnulib


[-- Attachment #1.1: Type: text/plain, Size: 1868 bytes --]

On 02.03.19 17:52, Gary V. Vaughan wrote:
> 
> On Mar 1, 2019, at 1:42 PM, Tim Rühsen <tim.ruehsen@gmx.de
> <mailto:tim.ruehsen@gmx.de>> wrote:
> 
>> Hi,
>>
>> 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."
>> +fi
>>
>> Currently I just commented out these lines, but a proper mechanism would
>> be nice.
> 
> Hi Tim,
> 
> Have you considered this?
> 
>   https://github.com/gnulib-modules/bootstrap
> <https://github.com/gnulib-modules/bootstrap?files=1>
> 
> 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...
> 
> Cheers,
> Gary

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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: bootstrap regression ?
  2019-03-02 18:08   ` Tim Rühsen
@ 2019-03-02 23:00     ` Gary V. Vaughan
  0 siblings, 0 replies; 4+ messages in thread
From: Gary V. Vaughan @ 2019-03-02 23:00 UTC (permalink / raw)
  To: Tim Rühsen; +Cc: bug-gnulib


> On Mar 2, 2019, at 10:08 AM, Tim Rühsen <tim.ruehsen@gmx.de> wrote:
> 
>> On 02.03.19 17:52, Gary V. Vaughan wrote:
>> 
>> On Mar 1, 2019, at 1:42 PM, Tim Rühsen <tim.ruehsen@gmx.de
>> <mailto:tim.ruehsen@gmx.de>> wrote:
>> 
>>> Hi,
>>> 
>>> 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."
>>> +fi
>>> 
>>> Currently I just commented out these lines, but a proper mechanism would
>>> be nice.
>> 
>> Hi Tim,
>> 
>> Have you considered this?
>> 
>>   https://github.com/gnulib-modules/bootstrap
>> <https://github.com/gnulib-modules/bootstrap?files=1>
>> 
>> 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...
>> 
>> Cheers,
>> Gary
> 
> 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

Hi 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.

Cheers,
Gary


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-03-02 23:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-01 21:42 bootstrap regression ? Tim Rühsen
2019-03-02 16:52 ` Gary V. Vaughan
2019-03-02 18:08   ` Tim Rühsen
2019-03-02 23:00     ` Gary V. Vaughan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).