[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 2/2] build: update to latest gnulib
From: |
Pádraig Brady |
Subject: |
[PATCH 2/2] build: update to latest gnulib |
Date: |
Wed, 11 Feb 2015 03:57:30 +0000 |
This includes a change to require --with-libmount
to be used with configure, due to the many libmount dependencies.
* bootstrap: Sync with gnulib to exit early on gnulib-tool error.
* gl/lib/tempname.c.diff: Adjust for gnulib changes.
* gl/lib/tempname.h.diff: Likewise.
* gl/modules/tempname: Likewise.
* doc/.gitignore: Add new gendocs_template_min gnulib script.
---
bootstrap | 3 +-
doc/.gitignore | 1 +
gl/lib/tempname.c.diff | 98 +++++++++++++++++++++++-------------------------
gl/lib/tempname.h.diff | 13 ++++++-
gl/modules/tempname.diff | 4 +-
gnulib | 2 +-
6 files changed, 64 insertions(+), 57 deletions(-)
diff --git a/bootstrap b/bootstrap
index 47a5764..b0fe798 100755
--- a/bootstrap
+++ b/bootstrap
@@ -930,7 +930,8 @@ if test $use_libtool = 1; then
esac
fi
echo "$0: $gnulib_tool $gnulib_tool_options --import ..."
-$gnulib_tool $gnulib_tool_options --import $gnulib_modules &&
+$gnulib_tool $gnulib_tool_options --import $gnulib_modules \
+ || die "gnulib-tool failed"
for file in $gnulib_files; do
symlink_to_dir "$GNULIB_SRCDIR" $file \
diff --git a/doc/.gitignore b/doc/.gitignore
index e63c202..9d0c621 100644
--- a/doc/.gitignore
+++ b/doc/.gitignore
@@ -21,3 +21,4 @@
/stamp-vti
/version.texi
/.dirstamp
+/gendocs_template_min
diff --git a/gl/lib/tempname.c.diff b/gl/lib/tempname.c.diff
index 5138df2..459a1e5 100644
--- a/gl/lib/tempname.c.diff
+++ b/gl/lib/tempname.c.diff
@@ -1,5 +1,5 @@
diff --git a/lib/tempname.c b/lib/tempname.c
-index 088b224..e9a6c0c 100644
+index 49c7df1..84a45d4 100644
--- a/lib/tempname.c
+++ b/lib/tempname.c
@@ -20,6 +20,7 @@
@@ -18,7 +18,7 @@ index 088b224..e9a6c0c 100644
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
-@@ -172,14 +174,21 @@ __path_search (char *tmpl, size_t tmpl_len, const char
*dir, const char *pfx,
+@@ -173,28 +175,34 @@ __path_search (char *tmpl, size_t tmpl_len, const char
*dir, const char *pfx,
}
#endif /* _LIBC */
@@ -32,23 +32,11 @@ index 088b224..e9a6c0c 100644
static const char letters[] =
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- /* Generate a temporary file name based on TMPL. TMPL must match the
-- rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
-+ rules for mk[s]temp (i.e., end in at least X_SUFFIX_LEN "X"s,
-+ possibly with a suffix).
- The name constructed does not exist at the time of the call to
-- __gen_tempname. TMPL is overwritten with the result.
-+ this function. TMPL is overwritten with the result.
-
- KIND may be one of:
- __GT_NOCREATE: simply verify that the name does not exist
-@@ -190,23 +199,24 @@ static const char letters[] =
-
- We use a clever algorithm to get hard-to-predict names. */
int
--__gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
-+gen_tempname_len (char *tmpl, int suffixlen, int flags, int kind,
-+ size_t x_suffix_len)
+-__try_tempname (char *tmpl, int suffixlen, void *args,
+- int (*try) (char *, void *))
++try_tempname_len (char *tmpl, int suffixlen, void *args,
++ int (*try) (char *, void *), size_t x_suffix_len)
{
- int len;
+ size_t len;
@@ -58,7 +46,6 @@ index 088b224..e9a6c0c 100644
unsigned int count;
int fd = -1;
int save_errno = errno;
- struct_stat64 st;
+ struct randint_source *rand_src;
/* A lower bound on the number of temporary files to attempt to
@@ -72,7 +59,7 @@ index 088b224..e9a6c0c 100644
#define ATTEMPTS_MIN (62 * 62 * 62)
/* The number of times to attempt to generate a temporary file. To
-@@ -218,43 +228,28 @@ __gen_tempname (char *tmpl, int suffixlen, int flags,
int kind)
+@@ -206,57 +214,55 @@ __try_tempname (char *tmpl, int suffixlen, void *args,
#endif
len = strlen (tmpl);
@@ -126,37 +113,7 @@ index 088b224..e9a6c0c 100644
+ for (i = 0; i < x_suffix_len; i++)
+ XXXXXX[i] = letters[randint_genmax (rand_src, sizeof letters - 2)];
- switch (kind)
- {
-@@ -269,7 +264,7 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int
kind)
- break;
-
- case __GT_NOCREATE:
-- /* This case is backward from the other three. __gen_tempname
-+ /* This case is backward from the other three. This function
- succeeds if __xstat fails because the name does not exist.
- Note the continue to bypass the common logic at the bottom
- of the loop. */
-@@ -278,11 +273,15 @@ __gen_tempname (char *tmpl, int suffixlen, int flags,
int kind)
- if (errno == ENOENT)
- {
- __set_errno (save_errno);
-- return 0;
-+ fd = 0;
-+ goto done;
- }
- else
-- /* Give up now. */
-- return -1;
-+ {
-+ /* Give up now. */
-+ fd = -1;
-+ goto done;
-+ }
- }
- continue;
-
-@@ -294,13 +293,32 @@ __gen_tempname (char *tmpl, int suffixlen, int flags,
int kind)
+ fd = try (tmpl, args);
if (fd >= 0)
{
__set_errno (save_errno);
@@ -184,10 +141,49 @@ index 088b224..e9a6c0c 100644
+ __set_errno (saved_errno);
+ }
+ return fd;
+ }
+
+ static int
+@@ -285,9 +291,10 @@ try_nocreate (char *tmpl, void *flags)
+ }
+
+ /* Generate a temporary file name based on TMPL. TMPL must match the
+- rules for mk[s]temp (i.e. end in "XXXXXX", possibly with a suffix).
++ rules for mk[s]temp (i.e., end in at least X_SUFFIX_LEN "X"s,
++ possibly with a suffix).
+ The name constructed does not exist at the time of the call to
+- __gen_tempname. TMPL is overwritten with the result.
++ this function. TMPL is overwritten with the result.
+
+ KIND may be one of:
+ __GT_NOCREATE: simply verify that the name does not exist
+@@ -298,7 +305,8 @@ try_nocreate (char *tmpl, void *flags)
+
+ We use a clever algorithm to get hard-to-predict names. */
+ int
+-__gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
++gen_tempname_len (char *tmpl, int suffixlen, int flags, int kind,
++ size_t x_suffix_len)
+ {
+ int (*try) (char *, void *);
+
+@@ -320,5 +328,18 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int
kind)
+ assert (! "invalid KIND in __gen_tempname");
+ abort ();
+ }
+- return __try_tempname (tmpl, suffixlen, &flags, try);
++ return try_tempname_len (tmpl, suffixlen, &flags, try, x_suffix_len);
+}
+
+int
+__gen_tempname (char *tmpl, int suffixlen, int flags, int kind)
+{
+ return gen_tempname_len (tmpl, suffixlen, flags, kind, 6);
++}
++
++int
++__try_tempname (char *tmpl, int suffixlen, void *args,
++ int (*try) (char *, void *))
++{
++ return try_tempname_len (tmpl, suffixlen, args, try, 6);
}
diff --git a/gl/lib/tempname.h.diff b/gl/lib/tempname.h.diff
index ec70a47..843692e 100644
--- a/gl/lib/tempname.h.diff
+++ b/gl/lib/tempname.h.diff
@@ -1,12 +1,21 @@
diff --git a/lib/tempname.h b/lib/tempname.h
-index b560ee5..6e162c3 100644
+index f7c98d0..793207f 100644
--- a/lib/tempname.h
+++ b/lib/tempname.h
-@@ -46,5 +46,7 @@
+@@ -46,6 +46,8 @@
We use a clever algorithm to get hard-to-predict names. */
extern int gen_tempname (char *tmpl, int suffixlen, int flags, int kind);
+extern int gen_tempname_len (char *tmpl, int suffixlen, int flags, int kind,
+ size_t x_suffix_len);
+ /* Similar to gen_tempname, but TRY is called for each temporary
+ name to try. If TRY returns a non-negative number, TRY_GEN_TEMPNAME
+@@ -53,5 +55,7 @@ extern int gen_tempname (char *tmpl, int suffixlen, int
flags, int kind);
+ name is tried, or else TRY_GEN_TEMPNAME returns -1. */
+ extern int try_tempname (char *tmpl, int suffixlen, void *args,
+ int (*try) (char *, void *));
++extern int try_tempname_len (char *tmpl, int suffixlen, void *args,
++ int (*try) (char *, void *), size_t
x_suffix_len);
+
#endif /* GL_TEMPNAME_H */
diff --git a/gl/modules/tempname.diff b/gl/modules/tempname.diff
index 6418720..05725c5 100644
--- a/gl/modules/tempname.diff
+++ b/gl/modules/tempname.diff
@@ -4,8 +4,8 @@ index 7fafd72..4703517 100644
+++ b/modules/tempname
@@ -1,5 +1,5 @@
Description:
--gen_tempname() function: create a private temporary file or directory.
-+gen_tempname, gen_tempname_len: create a private temporary file or directory.
+-gen_tempname() and try_tempname(): create a private temporary file or
directory.
++{gen,try}_tempname{,_len}(): create a private temporary file or directory.
Files:
lib/tempname.c
diff --git a/gnulib b/gnulib
index b9bfe78..6e0e31c 160000
--- a/gnulib
+++ b/gnulib
@@ -1 +1 @@
-Subproject commit b9bfe78424b871f5b92e5ee9e7d21ef951a6801d
+Subproject commit 6e0e31c383c86e297bfbb8dae89515b0587a1b15
--
2.1.0