On 05/09/2011 02:25 AM, Prerna Saxena wrote:
'bootstrap' script clones the .gnulib submodule from upstream
git
sources only (provided in .gitmodules), irrespective of whether
$GNULIB_SRCDIR is provided.
Which is what we want. A local gnulib checkout is not the same as
upstream gnulib, and we want to ensure that no one commits to upstream
libvirt.git unless the .gnulib submodule also points to upstream
gnulib.git. Otherwise, we risk the scenario that something that works
for you with your local gnulib commit won't work for anyone else because
your gnulib commit is not public.
This patch allows gnulib git sources provided by $GNULIB_SRCDIR to be
used for adding the gnulib submodule.
NAK.
GNULIB_SRCDIR is used to prime the pump - if you have a local checkout,
then you don't need quite as much disk space or network usage to create
your clone (your clone in .gnulib will implicitly point to your prior
gnulib checkout as its reference). But you _still_ need .gnulib to be
independent of your local reference repository, since it is possible
that libvirt intentionally lags upstream gnulib, or that libvirt wants
to use a newer upstream gnulib than what you have in your local
reference repository at the moment.
Furthermore, you can use:
./bootstrap --no-git --gnulib-srcdir=/path/to/local
as a means of checking out the exact version of gnulib that you desire
without referencing upstream gnulib.git.
Finally, this patch would have to go to upstream gnulib.git, since
libvirt's copy of this file is a direct clone of upstream gnulib's
bootstrap. Unless you can get this accepted upstream, then libvirt
should not behave differently than any other project that uses gnulib's
bootstrap script.
--
Eric Blake eblake(a)redhat.com +1-801-349-2682
Libvirt virtualization library
http://libvirt.org