bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH] maint.mk: new rule: refresh-gnulib-patches


From: Jim Meyering
Subject: [PATCH] maint.mk: new rule: refresh-gnulib-patches
Date: Fri, 27 Jul 2012 12:18:30 +0200

FYI,

First, here's a patch to maint.mk.
To give you an idea of what this does,
I've included the induced patch for coreutils below.


>From 8394dc6b446e745b430f880dd08fb664379cdbe0 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Fri, 27 Jul 2012 12:12:42 +0200
Subject: [PATCH] maint.mk: new rule: refresh-gnulib-patches

I noticed that 8 of coreutils' 9 gl/**/*.diff files was stale.
Use this rule to refresh them.
* top/maint.mk (refresh-gnulib-patches): New rule.
---
 ChangeLog    |  7 +++++++
 top/maint.mk | 25 +++++++++++++++++++++++++
 2 files changed, 32 insertions(+)

diff --git a/ChangeLog b/ChangeLog
index c41549f..22dedf4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-07-27  Jim Meyering  <address@hidden>
+
+       maint.mk: new rule: refresh-gnulib-patches
+       I noticed that 8 of coreutils' 9 gl/**/*.diff files was stale.
+       Use this rule to refresh them.
+       * top/maint.mk (refresh-gnulib-patches): New rule.
+
 2012-07-24  Bruno Haible  <address@hidden>

        gnulib-tool: Fix handling of inctests variable.
diff --git a/top/maint.mk b/top/maint.mk
index b39e9ae..baff0e9 100644
--- a/top/maint.mk
+++ b/top/maint.mk
@@ -1429,6 +1429,31 @@ gen-coverage:

 coverage: init-coverage build-coverage gen-coverage

+# Some projects carry local adjustments for gnulib modules via patches in
+# a gnulib patch directory whose default name is gl/ (defined in bootstrap
+# via local_gl_dir=gl).  Those patches become stale as the originals evolve
+# in gnulib.  Use this rule to refresh any stale patches.  It applies each
+# patch to the original in $(gnulib_dir) and uses the temporary result to
+# generate a fuzz-free .diff file.  If you customize the name of your local
+# gnulib patch directory via bootstrap.conf, this rule detects that name.
+# Run this from a non-VPATH (i.e., srcdir) build directory.
+.PHONY: refresh-gnulib-patches
+refresh-gnulib-patches:
+       gl=gl;                                                          \
+       if test -f bootstrap.conf; then                                 \
+         t=$$(perl -lne '/^\s*local_gl_dir=(\S+)/ and $$d=$$1;'        \
+              -e 'END{defined $$d and print $$d}' bootstrap.conf);     \
+         test -n "$$t" && gl=$$t;                                      \
+       fi;                                                             \
+       for diff in $$(cd $$gl; git ls-files | grep '\.diff$$'); do     \
+         b=$$(printf %s "$$diff"|sed 's/\.diff$$//');                  \
+         VERSION_CONTROL=none                                          \
+           patch "$(gnulib_dir)/$$b" "$$gl/$$diff" || exit 1;          \
+         ( cd $(gnulib_dir) || exit 1;                                 \
+           git diff "$$b" > "../$$gl/$$diff";                          \
+           git checkout $$b ) || exit 1;                               \
+       done
+
 # Update gettext files.
 PACKAGE ?= $(shell basename $(PWD))
 PO_DOMAIN ?= $(PACKAGE)
--
1.7.12.rc0.22.gcdd159b


>From 74a1c058753faa79caff061407925463375ba5f3 Mon Sep 17 00:00:00 2001
From: Jim Meyering <address@hidden>
Date: Fri, 27 Jul 2012 12:15:32 +0200
Subject: [PATCH] maint: refresh stale local gnulib patch files

We carry local adjustments for a few gnulib modules via the
patches in gl/.  Nearly all of those patches had become stale
due to evolution of the originals in gnulib.

To refresh them, first make sure you have no local changes in gl/
or in the gnulib submodule, then run "make refresh-gnulib-patches".
---
 gl/lib/regcomp.c.diff        | 14 +++++++-------
 gl/lib/regex_internal.c.diff | 10 +++++-----
 gl/lib/regex_internal.h.diff | 14 +++++++-------
 gl/lib/regexec.c.diff        | 12 ++++++------
 gl/lib/tempname.c.diff       | 26 +++++++++++++-------------
 gl/lib/tempname.h.diff       |  8 ++++----
 gl/modules/link-tests.diff   | 10 +++++-----
 gl/modules/rename-tests.diff |  4 ++--
 gl/modules/tempname.diff     |  6 ++++--
 9 files changed, 53 insertions(+), 51 deletions(-)

diff --git a/gl/lib/regcomp.c.diff b/gl/lib/regcomp.c.diff
index e965673..9042a6e 100644
--- a/gl/lib/regcomp.c.diff
+++ b/gl/lib/regcomp.c.diff
@@ -1,8 +1,8 @@
 diff --git a/lib/regcomp.c b/lib/regcomp.c
-index d5968bd..4926676 100644
+index 6d5525a..c9331d4 100644
 --- a/lib/regcomp.c
 +++ b/lib/regcomp.c
-@@ -541,7 +541,7 @@ regerror (errcode, preg, errbuf, errbuf_size)
+@@ -539,7 +539,7 @@ regerror (errcode, preg, errbuf, errbuf_size)
      size_t errbuf_size;
  #else /* size_t might promote */
  size_t
@@ -11,7 +11,7 @@ index d5968bd..4926676 100644
          char *_Restrict_ errbuf, size_t errbuf_size)
  #endif
  {
-@@ -1415,7 +1415,7 @@ calc_first (void *extra, bin_tree_t *node)
+@@ -1421,7 +1421,7 @@ calc_first (void *extra, bin_tree_t *node)

  /* Pass 2: compute NEXT on the tree.  Preorder visit.  */
  static reg_errcode_t
@@ -20,7 +20,7 @@ index d5968bd..4926676 100644
  {
    switch (node->token.type)
      {
-@@ -2792,8 +2792,10 @@ build_range_exp (const reg_syntax_t synt
+@@ -2807,8 +2807,10 @@ build_range_exp (const reg_syntax_t syntax,
  static reg_errcode_t
  internal_function
  # ifdef RE_ENABLE_I18N
@@ -33,7 +33,7 @@ index d5968bd..4926676 100644
  # else /* not RE_ENABLE_I18N */
  build_collating_symbol (bitset_t sbcset, const unsigned char *name)
  # endif /* not RE_ENABLE_I18N */
-@@ -3377,7 +3379,8 @@ parse_bracket_exp (re_string_t *regexp,
+@@ -3392,7 +3394,8 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, 
re_token_t *token,

  static reg_errcode_t
  parse_bracket_element (bracket_elem_t *elem, re_string_t *regexp,
@@ -43,7 +43,7 @@ index d5968bd..4926676 100644
                       reg_syntax_t syntax, bool accept_hyphen)
  {
  #ifdef RE_ENABLE_I18N
-@@ -3464,8 +3467,10 @@ parse_bracket_symbol (bracket_elem_t *elem, re_string_t 
*regexp,
+@@ -3479,8 +3482,10 @@ parse_bracket_symbol (bracket_elem_t *elem, re_string_t 
*regexp,

  static reg_errcode_t
  #ifdef RE_ENABLE_I18N
@@ -56,7 +56,7 @@ index d5968bd..4926676 100644
  #else /* not RE_ENABLE_I18N */
  build_equiv_class (bitset_t sbcset, const unsigned char *name)
  #endif /* not RE_ENABLE_I18N */
-@@ -3869,7 +3874,7 @@ free_token (re_token_t *node)
+@@ -3886,7 +3891,7 @@ free_token (re_token_t *node)
     and its children. */

  static reg_errcode_t
diff --git a/gl/lib/regex_internal.c.diff b/gl/lib/regex_internal.c.diff
index 2cede3c..a27f672 100644
--- a/gl/lib/regex_internal.c.diff
+++ b/gl/lib/regex_internal.c.diff
@@ -1,17 +1,17 @@
 diff --git a/lib/regex_internal.c b/lib/regex_internal.c
-index 904b88e..61c8d9d 100644
+index 7e8c1bc..e68c9da 100644
 --- a/lib/regex_internal.c
 +++ b/lib/regex_internal.c
-@@ -18,6 +18,8 @@
-    with this program; if not, write to the Free Software Foundation,
-    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+@@ -16,6 +16,8 @@
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, see <http://www.gnu.org/licenses/>.  */

 +#include "verify.h"
 +#include "intprops.h"
  static void re_string_construct_common (const char *str, Idx len,
                                        re_string_t *pstr,
                                        RE_TRANSLATE_TYPE trans, bool icase,
-@@ -1390,7 +1392,10 @@ static void
+@@ -1393,7 +1395,10 @@ static void
  internal_function
  re_node_set_remove_at (re_node_set *set, Idx idx)
  {
diff --git a/gl/lib/regex_internal.h.diff b/gl/lib/regex_internal.h.diff
index d1506a6..fe0f2b7 100644
--- a/gl/lib/regex_internal.h.diff
+++ b/gl/lib/regex_internal.h.diff
@@ -1,14 +1,14 @@
-diff --git i/lib/regex_internal.h w/lib/regex_internal.h
-index 859832f..3c7fe06 100644
---- i/lib/regex_internal.h
-+++ w/lib/regex_internal.h
-@@ -826,7 +826,8 @@ re_string_wchar_at (const re_string_t *pstr, Idx idx)
-
+diff --git a/lib/regex_internal.h b/lib/regex_internal.h
+index 2b9f697..7f4e349 100644
+--- a/lib/regex_internal.h
++++ b/lib/regex_internal.h
+@@ -823,7 +823,8 @@ re_string_wchar_at (const re_string_t *pstr, Idx idx)
+ # ifndef NOT_IN_libc
  static int
  internal_function __attribute ((pure))
 -re_string_elem_size_at (const re_string_t *pstr, Idx idx)
 +re_string_elem_size_at (const re_string_t *pstr _UNUSED_PARAMETER_,
 +                      Idx idx _UNUSED_PARAMETER_)
  {
- # ifdef _LIBC
+ #  ifdef _LIBC
    const unsigned char *p, *extra;
diff --git a/gl/lib/regexec.c.diff b/gl/lib/regexec.c.diff
index d9b6d1c..897d248 100644
--- a/gl/lib/regexec.c.diff
+++ b/gl/lib/regexec.c.diff
@@ -1,17 +1,17 @@
 diff --git a/lib/regexec.c b/lib/regexec.c
-index 21a8166..7762437 100644
+index 7d130a0..a58d454 100644
 --- a/lib/regexec.c
 +++ b/lib/regexec.c
-@@ -18,6 +18,8 @@
-    with this program; if not, write to the Free Software Foundation,
-    Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+@@ -16,6 +16,8 @@
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, see <http://www.gnu.org/licenses/>.  */

 +#include "verify.h"
 +#include "intprops.h"
  static reg_errcode_t match_ctx_init (re_match_context_t *cache, int eflags,
                                     Idx n) internal_function;
  static void match_ctx_clean (re_match_context_t *mctx) internal_function;
-@@ -378,8 +380,11 @@ re_search_2_stub (struct re_pattern_buffer *bufp,
+@@ -374,8 +376,11 @@ re_search_2_stub (struct re_pattern_buffer *bufp,
    Idx len = length1 + length2;
    char *s = NULL;

@@ -25,7 +25,7 @@ index 21a8166..7762437 100644

    /* Concatenate the strings.  */
    if (length2 > 0)
-@@ -431,11 +436,14 @@ re_search_stub (struct re_pattern_buffer *bufp,
+@@ -426,11 +431,14 @@ re_search_stub (struct re_pattern_buffer *bufp,
    Idx last_start = start + range;

    /* Check for out-of-range.  */
diff --git a/gl/lib/tempname.c.diff b/gl/lib/tempname.c.diff
index b1c2236..a731421 100644
--- a/gl/lib/tempname.c.diff
+++ b/gl/lib/tempname.c.diff
@@ -1,8 +1,8 @@
-diff --git c/lib/tempname.c i/lib/tempname.c
-index 2da5afe..562955a 100644
---- c/lib/tempname.c
-+++ i/lib/tempname.c
-@@ -22,6 +22,7 @@
+diff --git a/lib/tempname.c b/lib/tempname.c
+index 26a38ce..5944ee0 100644
+--- a/lib/tempname.c
++++ b/lib/tempname.c
+@@ -20,6 +20,7 @@
  #if !_LIBC
  # include <config.h>
  # include "tempname.h"
@@ -10,7 +10,7 @@ index 2da5afe..562955a 100644
  #endif

  #include <sys/types.h>
-@@ -49,6 +50,7 @@
+@@ -47,6 +48,7 @@
  # error report this to address@hidden
  #endif

@@ -18,7 +18,7 @@ index 2da5afe..562955a 100644
  #include <stddef.h>
  #include <stdlib.h>
  #include <string.h>
-@@ -179,14 +181,21 @@ __path_search (char *tmpl, size_t tmpl_len, const char 
*dir, const char *pfx,
+@@ -175,14 +177,21 @@ __path_search (char *tmpl, size_t tmpl_len, const char 
*dir, const char *pfx,
  }
  #endif /* _LIBC */

@@ -41,8 +41,8 @@ index 2da5afe..562955a 100644
 +   this function.  TMPL is overwritten with the result.

     KIND may be one of:
-    __GT_NOCREATE:     simply verify that the name does not exist
-@@ -197,23 +206,24 @@ static const char letters[] =
+    __GT_NOCREATE:       simply verify that the name does not exist
+@@ -193,23 +202,24 @@ static const char letters[] =

     We use a clever algorithm to get hard-to-predict names. */
  int
@@ -72,7 +72,7 @@ index 2da5afe..562955a 100644
  #define ATTEMPTS_MIN (62 * 62 * 62)

    /* The number of times to attempt to generate a temporary file.  To
-@@ -225,43 +235,28 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, 
int kind)
+@@ -221,43 +231,28 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, 
int kind)
  #endif

    len = strlen (tmpl);
@@ -128,7 +128,7 @@ index 2da5afe..562955a 100644

        switch (kind)
          {
-@@ -276,7 +271,7 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int 
kind)
+@@ -272,7 +267,7 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, int 
kind)
            break;

          case __GT_NOCREATE:
@@ -137,7 +137,7 @@ index 2da5afe..562955a 100644
               succeeds if __xstat fails because the name does not exist.
               Note the continue to bypass the common logic at the bottom
               of the loop.  */
-@@ -285,11 +280,15 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, 
int kind)
+@@ -281,11 +276,15 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, 
int kind)
                if (errno == ENOENT)
                  {
                    __set_errno (save_errno);
@@ -156,7 +156,7 @@ index 2da5afe..562955a 100644
              }
            continue;

-@@ -301,13 +300,32 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, 
int kind)
+@@ -297,13 +296,32 @@ __gen_tempname (char *tmpl, int suffixlen, int flags, 
int kind)
        if (fd >= 0)
          {
            __set_errno (save_errno);
diff --git a/gl/lib/tempname.h.diff b/gl/lib/tempname.h.diff
index 6707445..2e885e1 100644
--- a/gl/lib/tempname.h.diff
+++ b/gl/lib/tempname.h.diff
@@ -1,7 +1,7 @@
-diff --git c/lib/tempname.h i/lib/tempname.h
-index cd69e7d..9757db2 100644
---- c/lib/tempname.h
-+++ i/lib/tempname.h
+diff --git a/lib/tempname.h b/lib/tempname.h
+index 7972562..7ced9a9 100644
+--- a/lib/tempname.h
++++ b/lib/tempname.h
 @@ -46,5 +46,7 @@

     We use a clever algorithm to get hard-to-predict names. */
diff --git a/gl/modules/link-tests.diff b/gl/modules/link-tests.diff
index 5d0cbc1..25f7120 100644
--- a/gl/modules/link-tests.diff
+++ b/gl/modules/link-tests.diff
@@ -1,8 +1,8 @@
-diff --git i/modules/link-tests w/modules/link-tests
-index d8e7b1a..aca0e74 100644
---- i/modules/link-tests
-+++ w/modules/link-tests
-@@ -12,3 +12,4 @@ configure.ac:
+diff --git a/modules/link-tests b/modules/link-tests
+index 5b1978e..039e97f 100644
+--- a/modules/link-tests
++++ b/modules/link-tests
+@@ -15,3 +15,4 @@ configure.ac:
  Makefile.am:
  TESTS += test-link
  check_PROGRAMS += test-link
diff --git a/gl/modules/rename-tests.diff b/gl/modules/rename-tests.diff
index 7f1ff61..f7d0e1d 100644
--- a/gl/modules/rename-tests.diff
+++ b/gl/modules/rename-tests.diff
@@ -1,8 +1,8 @@
 diff --git a/modules/rename-tests b/modules/rename-tests
-index be1b423..fea330a 100644
+index b3cd973..898d18b 100644
 --- a/modules/rename-tests
 +++ b/modules/rename-tests
-@@ -14,3 +14,4 @@ configure.ac:
+@@ -20,3 +20,4 @@ configure.ac:
  Makefile.am:
  TESTS += test-rename
  check_PROGRAMS += test-rename
diff --git a/gl/modules/tempname.diff b/gl/modules/tempname.diff
index 65d5205..3603a59 100644
--- a/gl/modules/tempname.diff
+++ b/gl/modules/tempname.diff
@@ -1,5 +1,7 @@
---- tempname   2011-10-27 18:55:14.672722002 +0200
-+++ tempname   2011-10-27 18:55:25.200999149 +0200
+diff --git a/modules/tempname b/modules/tempname
+index b4708d9..e003c41 100644
+--- a/modules/tempname
++++ b/modules/tempname
 @@ -1,5 +1,5 @@
  Description:
 -gen_tempname() function: create a private temporary file or directory.
--
1.7.12.rc0.22.gcdd159b



reply via email to

[Prev in Thread] Current Thread [Next in Thread]