[Libvir] [PATCH] Pull vc-list-files from gnulib, and update.

Jim Meyering jim at meyering.net
Thu Jan 31 19:36:26 UTC 2008


Now that I've added the vc-list-files script to gnulib,
this patch makes libvirt's bootstrap pull it from there.

Changes from the previous version of the script:

  I reintroduced support for mercurial (only lightly tested),
  and rearranged the directory-existence tests so git is first.

Here's the full patch, including a renaming in vasnprintf.c:
----------------

	Pull vc-list-files from gnulib, and update.
	* bootstrap (gnulib_tool): Add the vc-list-files module.

---
 bootstrap                 |    3 ++-
 build-aux/vc-list-files   |   19 +++++++++++++------
 gnulib/lib/Makefile.am    |    9 ++++++++-
 gnulib/lib/vasnprintf.c   |   18 ++++++++++--------
 gnulib/m4/gnulib-cache.m4 |    4 ++--
 gnulib/m4/gnulib-comp.m4  |    1 +
 6 files changed, 36 insertions(+), 18 deletions(-)

diff --git a/bootstrap b/bootstrap
index 751b244..1627086 100755
--- a/bootstrap
+++ b/bootstrap
@@ -77,7 +77,8 @@ $gnulib_tool			\
   --tests-base=gnulib/tests	\
   --import physmem getaddrinfo  \
     sys_stat vasprintf strndup  \
-    strsep poll gettext getpass
+    strsep poll gettext getpass \
+    vc-list-files

 rm -f				\
     .gitignore			\
diff --git a/build-aux/vc-list-files b/build-aux/vc-list-files
index 72a6f54..1e158bb 100755
--- a/build-aux/vc-list-files
+++ b/build-aux/vc-list-files
@@ -1,7 +1,7 @@
 #!/bin/sh
-# List the specified version-controlled files.
+# List version-controlled file names.

-# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2006-2008 Free Software Foundation, Inc.

 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -18,7 +18,8 @@


 # List the specified version-controlled files.
-# With no argument, list them all.
+# With no argument, list them all.  With a single DIRECTORY argument,
+# list the version-controlled files in that directory.
 # This script must be run solely from the top of a $srcdir build directory.

 # If there's an argument, it must be a single, "."-relative directory name.
@@ -28,12 +29,17 @@ dir=
 case $# in
   0) ;;
   1) dir=$1 ;;
-  *) echo "$0: too many arguments" 1>&2; exit 1 ;;
+  *) echo "$0: too many arguments" 1>&2
+     echo "Usage: $0 [DIR]" 1>&2; exit 1;;
 esac

 test "x$dir" = x && dir=.

-if test -d CVS; then
+if test -d .git; then
+  exec git ls-files "$dir"
+elif test -d .hg; then
+  exec hg locate "$dir/*"
+elif test -d CVS; then
   if test -x build-aux/cvsu; then
     build-aux/cvsu --find --types=AFGM "$dir"
   else
@@ -46,5 +52,6 @@ if test -d CVS; then
       $(find ${*-*} -name Entries -print) /dev/null;
   fi
 else
-  git-ls-files "$dir"
+  echo "$0: Failed to determine type of version control used in "`pwd` 1>&2
+  exit 1
 fi
diff --git a/gnulib/lib/Makefile.am b/gnulib/lib/Makefile.am
index 64fc398..8f545ca 100644
--- a/gnulib/lib/Makefile.am
+++ b/gnulib/lib/Makefile.am
@@ -9,7 +9,7 @@
 # the same distribution terms as the rest of that program.
 #
 # Generated by gnulib-tool.
-# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=build-aux --with-tests --lgpl=2 --libtool --macro-prefix=gl getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf
+# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=build-aux --with-tests --lgpl=2 --libtool --macro-prefix=gl getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf vc-list-files

 AUTOMAKE_OPTIONS = 1.5 gnits

@@ -719,6 +719,13 @@ EXTRA_libgnu_la_SOURCES += asprintf.c vasprintf.c

 ## end   gnulib module vasprintf

+## begin gnulib module vc-list-files
+
+
+EXTRA_DIST += $(top_srcdir)/build-aux/vc-list-files
+
+## end   gnulib module vc-list-files
+
 ## begin gnulib module wchar

 BUILT_SOURCES += $(WCHAR_H)
diff --git a/gnulib/lib/vasnprintf.c b/gnulib/lib/vasnprintf.c
index 6c8d5dc..205a9bf 100644
--- a/gnulib/lib/vasnprintf.c
+++ b/gnulib/lib/vasnprintf.c
@@ -1,5 +1,5 @@
 /* vsprintf with automatic memory allocation.
-   Copyright (C) 1999, 2002-2007 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002-2008 Free Software Foundation, Inc.

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
@@ -95,7 +95,7 @@

 #if (NEED_PRINTF_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE) && !defined IN_LIBINTL
 # include <math.h>
-# include "isnan.h"
+# include "isnand.h"
 #endif

 #if (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_LONG_DOUBLE) && !defined IN_LIBINTL
@@ -106,7 +106,7 @@

 #if (NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE) && !defined IN_LIBINTL
 # include <math.h>
-# include "isnan.h"
+# include "isnand.h"
 # include "printf-frexp.h"
 #endif

@@ -236,7 +236,7 @@ decimal_point_char ()
 static int
 is_infinite_or_zero (double x)
 {
-  return isnan (x) || x + x == x;
+  return isnand (x) || x + x == x;
 }

 #endif
@@ -2327,7 +2327,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
 # if NEED_PRINTF_DIRECTIVE_A || NEED_PRINTF_DOUBLE
 		    double arg = a.arg[dp->arg_index].a.a_double;

-		    if (isnan (arg))
+		    if (isnand (arg))
 		      {
 			if (dp->conversion == 'A')
 			  {
@@ -2676,7 +2676,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
 		  if (dp->conversion == 'f' || dp->conversion == 'F')
 		    {
 		      double arg = a.arg[dp->arg_index].a.a_double;
-		      if (!(isnan (arg) || arg + arg == arg))
+		      if (!(isnand (arg) || arg + arg == arg))
 			{
 			  /* arg is finite and nonzero.  */
 			  int exponent = floorlog10 (arg < 0 ? -arg : arg);
@@ -3080,7 +3080,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
 		  {
 		    double arg = a.arg[dp->arg_index].a.a_double;

-		    if (isnan (arg))
+		    if (isnand (arg))
 		      {
 			if (dp->conversion >= 'A' && dp->conversion <= 'Z')
 			  {
@@ -4327,7 +4327,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
 		    if (prec_ourselves)
 		      {
 			/* Handle the precision.  */
-			TCHAR_T *prec_ptr = 
+			TCHAR_T *prec_ptr =
 # if USE_SNPRINTF
 			  (TCHAR_T *) (result + length);
 # else
@@ -4654,6 +4654,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
        not have this limitation.  */
     return result;

+#if USE_SNPRINTF
   overflow:
     if (!(result == resultbuf || result == NULL))
       free (result);
@@ -4662,6 +4663,7 @@ VASNPRINTF (DCHAR_T *resultbuf, size_t *lengthp,
     CLEANUP ();
     errno = EOVERFLOW;
     return NULL;
+#endif

   out_of_memory:
     if (!(result == resultbuf || result == NULL))
diff --git a/gnulib/m4/gnulib-cache.m4 b/gnulib/m4/gnulib-cache.m4
index d55e07a..357f170 100644
--- a/gnulib/m4/gnulib-cache.m4
+++ b/gnulib/m4/gnulib-cache.m4
@@ -15,11 +15,11 @@


 # Specification in the form of a command-line invocation:
-#   gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=build-aux --with-tests --lgpl=2 --libtool --macro-prefix=gl getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf
+#   gnulib-tool --import --dir=. --lib=libgnu --source-base=gnulib/lib --m4-base=gnulib/m4 --doc-base=doc --aux-dir=build-aux --with-tests --lgpl=2 --libtool --macro-prefix=gl getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf vc-list-files

 # Specification in the form of a few gnulib-tool.m4 macro invocations:
 gl_LOCAL_DIR([])
-gl_MODULES([getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf])
+gl_MODULES([getaddrinfo getpass gettext physmem poll strndup strsep sys_stat vasprintf vc-list-files])
 gl_AVOID([])
 gl_SOURCE_BASE([gnulib/lib])
 gl_M4_BASE([gnulib/m4])
diff --git a/gnulib/m4/gnulib-comp.m4 b/gnulib/m4/gnulib-comp.m4
index 1b91a1e..8896a38 100644
--- a/gnulib/m4/gnulib-comp.m4
+++ b/gnulib/m4/gnulib-comp.m4
@@ -225,6 +225,7 @@ AC_DEFUN([gltests_LIBSOURCES], [
 AC_DEFUN([gl_FILE_LIST], [
   build-aux/config.rpath
   build-aux/link-warning.h
+  build-aux/vc-list-files
   lib/alloca.in.h
   lib/asnprintf.c
   lib/asprintf.c
-- 
1.5.4.rc5.1.g0fa73




More information about the libvir-list mailing list