From: Pádraig Brady
Date: Tue, 3 Feb 2015 03:15:10 +0000 (+0000)
Subject: build: fix invalid gnulib patch
X-Git-Tag: v8.24~133
X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=658529a10e05d06524d5f591a08f04c04159b4cc;p=thirdparty%2Fcoreutils.git
build: fix invalid gnulib patch
* gl/lib/tempname.c.diff: Fix recent breakage so it applies again.
Invalid patch was noticed at http://hydra.nixos.org/eval/1172233
* cfg.mk: Exempt diff files from these "id_est" syntax checks.
(sc_ensure_gl_diffs_apply): A new syntax check, to ensure all
patches under gl/ apply cleanly. Note we use --fuzz=0 to check
patches apply cleanly for safety, due to the patch(1) issue detailed
in commit v8.21-117-g46f7e05
* gl/lib/regcomp.c.diff: Rediffed.
* gl/lib/regex_internal.c.diff: Likewise.
* gl/lib/regex_internal.h.diff: Likewise.
* gl/lib/regexec.c.diff: Likewise.
* gl/lib/tempname.h.diff: Likewise.
---
diff --git a/cfg.mk b/cfg.mk
index 21a00d318c..f5be6de755 100644
--- a/cfg.mk
+++ b/cfg.mk
@@ -122,6 +122,14 @@ sc_tests_executable:
| sed -e "s/^/$(ME): Please make test executable: /" | grep . \
&& exit 1; :
+# Ensure all gnulib patches apply cleanly
+sc_ensure_gl_diffs_apply_cleanly:
+ @find gl/ -name '*.diff' | while read p; do \
+ patch --fuzz=0 -f -s -d gnulib/ -p1 --dry-run < "$$p" >&2 \
+ || { echo "$$p" >&2; echo 'To refresh all gl patches run:' \
+ 'make refresh-gnulib-patches' >&2; exit 1; } \
+ done
+
# Avoid :>file which doesn't propagate errors
sc_prohibit_colon_redirection:
@cd $(srcdir)/tests && GIT_PAGER= git grep -n ': *>.*||' \
@@ -364,15 +372,15 @@ sc_prohibit_uppercase_id_est:
$(_sc_search_regexp)
# Enforce double-space before "I.e." at the beginning of a sentence.
-sc_ensure_double_space_after_dot_before_id_est:
- @prohibit='\. I\.e\.' \
+sc_ensure_dblspace_after_dot_before_id_est:
+ @prohibit='\. I\.e\.' \
halt='Single space after dot before "i.e."; use ". i.e." instead' \
$(_sc_search_regexp)
# Enforce comma after "i.e." (at least before a blank or at EOL).
sc_ensure_comma_after_id_est:
- @prohibit='[Ii]\.e\.( |$$)' \
- halt='Missing comma after "i.e."; use "i.e.," instead' \
+ @prohibit='[Ii]\.e\.( |$$)' \
+ halt='Missing comma after "i.e."; use "i.e.," instead' \
$(_sc_search_regexp)
# The SEE ALSO section of a man page should not be terminated with
@@ -691,6 +699,10 @@ exclude_file_name_regexp--sc_prohibit_atoi_atof = ^src/make-prime-list\.c$$
# Exception here as we don't want __attribute elided on non GCC
exclude_file_name_regexp--sc_prohibit-gl-attributes = ^src/libstdbuf\.c$$
+exclude_file_name_regexp--sc_prohibit_uppercase_id_est = \.diff$
+exclude_file_name_regexp--sc_ensure_dblspace_after_dot_before_id_est = \.diff$$
+exclude_file_name_regexp--sc_ensure_comma_after_id_est = \.diff$
+
# Augment AM_CFLAGS to include our per-directory options:
AM_CFLAGS += $($(@D)_CFLAGS)
diff --git a/gl/lib/regcomp.c.diff b/gl/lib/regcomp.c.diff
index 9042a6e471..cc6649f2ef 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 6d5525a..c9331d4 100644
+index 840220f..192632c 100644
--- a/lib/regcomp.c
+++ b/lib/regcomp.c
-@@ -539,7 +539,7 @@ regerror (errcode, preg, errbuf, errbuf_size)
+@@ -540,7 +540,7 @@ regerror (errcode, preg, errbuf, errbuf_size)
size_t errbuf_size;
#else /* size_t might promote */
size_t
@@ -11,7 +11,7 @@ index 6d5525a..c9331d4 100644
char *_Restrict_ errbuf, size_t errbuf_size)
#endif
{
-@@ -1421,7 +1421,7 @@ calc_first (void *extra, bin_tree_t *node)
+@@ -1427,7 +1427,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 6d5525a..c9331d4 100644
{
switch (node->token.type)
{
-@@ -2807,8 +2807,10 @@ build_range_exp (const reg_syntax_t syntax,
+@@ -2820,8 +2820,10 @@ build_range_exp (const reg_syntax_t syntax,
static reg_errcode_t
internal_function
# ifdef RE_ENABLE_I18N
@@ -33,7 +33,7 @@ index 6d5525a..c9331d4 100644
# else /* not RE_ENABLE_I18N */
build_collating_symbol (bitset_t sbcset, const unsigned char *name)
# endif /* not RE_ENABLE_I18N */
-@@ -3392,7 +3394,8 @@ parse_bracket_exp (re_string_t *regexp, re_dfa_t *dfa, re_token_t *token,
+@@ -3389,7 +3391,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 6d5525a..c9331d4 100644
reg_syntax_t syntax, bool accept_hyphen)
{
#ifdef RE_ENABLE_I18N
-@@ -3479,8 +3482,10 @@ parse_bracket_symbol (bracket_elem_t *elem, re_string_t *regexp,
+@@ -3476,8 +3479,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 6d5525a..c9331d4 100644
#else /* not RE_ENABLE_I18N */
build_equiv_class (bitset_t sbcset, const unsigned char *name)
#endif /* not RE_ENABLE_I18N */
-@@ -3886,7 +3891,7 @@ free_token (re_token_t *node)
+@@ -3883,7 +3888,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 a27f67218c..355cadb421 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 7e8c1bc..e68c9da 100644
+index 36ae6ab..c11ff09 100644
--- a/lib/regex_internal.c
+++ b/lib/regex_internal.c
-@@ -16,6 +16,8 @@
- You should have received a copy of the GNU General Public License along
- with this program; if not, see