[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: bootstrap and git submodules
From: |
Jim Meyering |
Subject: |
Re: bootstrap and git submodules |
Date: |
Wed, 10 Mar 2010 11:18:23 +0100 |
>> I tried the latest from gnulib via coreutils,
>> ...
>> In file included from test-string-c++.cc:23:
>> ../lib/string.h:301: error: type of 'memchr' is unknown
>
> Can you please tell me how to reproduce?
>
> I checked out coreutils from git, saw that its "bootstrap --help" script says
> --gnulib-srcdir=DIRNAME Specify the local directory where gnulib
> sources reside. Use this if you already
> have gnulib sources on your machine, and
> do not want to waste your bandwidth downloading
> them again. Defaults to $GNULIB_SRCDIR.
Hi Bruno,
That is an optimization for the bootstrap-after-initial-clone
to avoid downloading the ~30MB gnulib repository.
It has no influence on which gnulib SHA1 coreutils uses.
> So I ran
> $ ./bootstrap --gnulib-srcdir=$HOME/data/develop/GNULIB/gnulib-git --copy
> I expected that it uses the checked out gnulib sources. But no, it uses commit
> number 80cd995cdcbf4b9ded895a43621a11f11806ad8d and checks that out in a
> subdirectory 'gnulib/'.
>
> So I went into that subdirectory and did "git checkout master". Then back in
> the parent directory, did
> $ ./bootstrap --gnulib-srcdir=$HOME/data/develop/GNULIB/gnulib-git --copy
> again. Again it tells me:
> ./bootstrap: Bootstrapping from checked-out coreutils sources...
> ./bootstrap: getting gnulib files...
> Submodule path 'gnulib': checked out
> '80cd995cdcbf4b9ded895a43621a11f11806ad8d'
>
> I did a grep of '80cd995cdcbf4b9ded895a43621a11f11806ad8d' over the source
> tree
> and did not find it.
>
> How do I configure 'bootstrap' to use my (possibly modified) gnulib sources
> instead of a particular commit? I'm not a "git submodule" wizard and expect
> this do be doable through a command line option of the 'bootstrap' script.
bootstrap uses the gnulib commit recorded via coreutils' gnulib submodule,
so I usually just sync-to-latest, commit that gnulib-update change,
and then test. I did this on coreutils' master:
cd coreutils
git syncsub
git commit -m 'build: update gnulib submodule to latest' gnulib
./bootstrap && ./configure && make && make check
Where "syncsub" is defined in my ~/.gitconfig like this:
[alias]
syncsub = submodule foreach git pull origin master
So if your changed gnulib files are committed locally,
and the submodule points to your locally-modified repository,
once you've committed the "sync-from-gnulib" change as above,
bootstrap should do what you expect.
- latest test-string-c++.c causes CXX compilation failure, Jim Meyering, 2010/03/09
- test-string-c++ test failure [Re: bootstrap and git submodules, Jim Meyering, 2010/03/10
- Re: test-string-c++ test failure, Bruno Haible, 2010/03/11
- Re: test-string-c++ test failure, Jim Meyering, 2010/03/11
- Re: test-string-c++ test failure, Jim Meyering, 2010/03/13
- Re: test-string-c++ test failure, Bruno Haible, 2010/03/13
- Re: test-string-c++ test failure, Jim Meyering, 2010/03/13