>From 5914a5ca4f49d62d6cfa4c4ba772aea01851b53f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A1draig=20Brady?=
Date: Tue, 3 Feb 2015 03:15:10 +0000 Subject: [PATCH] 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. --- cfg.mk | 20 ++++++++++++++++---- gl/lib/regcomp.c.diff | 14 +++++++------- gl/lib/regex_internal.c.diff | 10 +++++----- gl/lib/regex_internal.h.diff | 4 ++-- gl/lib/regexec.c.diff | 14 +++++++------- gl/lib/tempname.c.diff | 16 ++++++++-------- gl/lib/tempname.h.diff | 2 +- 7 files changed, 46 insertions(+), 34 deletions(-) diff --git a/cfg.mk b/cfg.mk index 21a00d3..e16125f 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 -s -d gnulib/ -p1 --dry-run < "$$p" \ + || { echo "$$p" ; echo 'To refresh run:' \ + 'make refresh-gnulib-patches'; 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 9042a6e..cc6649f 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 a27f672..355cadb 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