[Libguestfs] /config.status

Jim Meyering jim at meyering.net
Mon Aug 10 12:58:57 UTC 2009


Richard W.M. Jones wrote:
> On Mon, Aug 10, 2009 at 02:16:31PM +0200, Jim Meyering wrote:
>> We learned via libvirt that when people use "git pull" to
>> pull in a new snapshot of gnulib, it's important to make the
>> usual autogen.sh script detect that and automatically take the
>> unusual step of re-running the relatively expensive bootstrap script.
>
> Isn't this a similar situation to someone who does 'git clone' and
> then runs autogen (without running bootstrap)?
>
> I can't see why it wouldn't work now, because 'git submodule status'
> should produce a different result if the submodule does not exist.  Or
> maybe I'm not understanding how that works.

The first autogen.sh run is special in that some files are
not yet present, like po/Makevars.template, required for this
(from bootstrap):

    # Create gettext configuration.
    echo "$0: Creating po/Makevars from po/Makevars.template ..."
    rm -f po/Makevars
    sed '
      /^EXTRA_LOCALE_CATEGORIES *=/s/=.*/= '"$EXTRA_LOCALE_CATEGORIES"'/
      /^MSGID_BUGS_ADDRESS *=/s/=.*/= '"$MSGID_BUGS_ADDRESS"'/
      /^XGETTEXT_OPTIONS *=/{
        s/$/ \\/
        a\
            '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+}
      }
    ' po/Makevars.template >po/Makevars

Normally, po/Makevars.template is created when autoreconf
invokes autopoint, but autoreconf has to be run *after* bootstrap
pulls in .m4 and .am snippets from gnulib.

The solution is to run autopoint *before* bootstrap.

I've just  confirmed that this patch solves the problem:

diff --git a/bootstrap b/bootstrap
index 1eee72d..cea8c40 100755
--- a/bootstrap
+++ b/bootstrap
@@ -28,6 +28,9 @@ GNULIB_SRCDIR=.gnulib

 ls po/*.po 2>/dev/null | sed 's|.*/||; s|\.po$||' > po/LINGUAS

+# Run autopoint, to get po/Makevars.template:
+autopoint
+
 # Create gettext configuration.
 echo "$0: Creating po/Makevars from po/Makevars.template ..."
 rm -f po/Makevars




More information about the Libguestfs mailing list