• J
    make .gnulib a submodule · 7bb22f58
    Jim Meyering 提交于
    This makes it so we record (via a git submodule)
    a snapshot of whatever version of gnulib we're using,
    and none of gnulib sources are in the libvirt repository.
    The result is that we have as much reproducibility as when
    we version-controlled imported copies of the gnulib sources,
    but without the hassle of the manual process we used when
    syncing with upstream.
    
    Note that when you clone libvirt, you get only the libvirt
    repository, but when you first run ./bootstrap, it clones
    gnulib (at the SHA1 recorded via the submodule), creating
    the .gnulib/ hierarchy.  Then, the bootstrap script runs
    gnulib-tool to populate gnulib/ with the files that make
    up the selected modules.
    
    Put the following in your ~/.gitconfig file.
    [alias]
      syncsub = submodule foreach git pull origin master
    
    The update procedure is simple:
      git syncsub
      ...build & test...
      git commit -m 'gnulib: sync submodule to latest' .gnulib
    
    * .gitmodules: New file.
    * .gnulib: Initialize.
    * bootstrap: Set up to use the new submodule.
    Stop using --no-vc-files.
    Don't remove .gitignore files.
    Don't use or create .cvsignore.
    Diagnose an invalid --gnulib-srcdir=DIR argument.
    * build-aux/vc-list-files: Delete file, now pulled from gnulib.
    * build-aux/useless-if-before-free: Likewise.
    * po/POTFILES.in: Remove gnulib/lib/gai_strerror.c, since
    it no longer contains translatable strings.
    * gnulib/*: Remove gnulib/ hierarchy.
    7bb22f58
bootstrap 2.6 KB