diff --git a/.gitignore b/.gitignore index 814c91d..28485b7 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /pcre2-10.20.tar.bz2 /pcre2-10.21-RC1.tar.bz2 /pcre2-10.21.tar.bz2 +/pcre2-10.22-RC1.tar.bz2 diff --git a/pcre2-10.21-A-racing-condition-is-fixed-in-JIT-reported-by-Mozil.patch b/pcre2-10.21-A-racing-condition-is-fixed-in-JIT-reported-by-Mozil.patch deleted file mode 100644 index 39d8754..0000000 --- a/pcre2-10.21-A-racing-condition-is-fixed-in-JIT-reported-by-Mozil.patch +++ /dev/null @@ -1,42 +0,0 @@ -From d317164a936f976aa94bcc88e4cc4d09b8354c27 Mon Sep 17 00:00:00 2001 -From: zherczeg -Date: Thu, 19 May 2016 18:09:07 +0000 -Subject: [PATCH] A racing condition is fixed in JIT reported by Mozilla. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Ported to 10.21 from upstream: - -commit 78c2458423ce34b08dd0a119b774e37c908d57ef -Author: zherczeg -Date: Thu May 19 18:09:07 2016 +0000 - - A racing condition is fixed in JIT reported by Mozilla. - - git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@514 6239d852-aaf2-0410-a92c-79f79f948069 - -Signed-off-by: Petr Písař ---- - src/sljit/sljitUtils.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/src/sljit/sljitUtils.c b/src/sljit/sljitUtils.c -index 5294b5f..b7ad3dc 100644 ---- a/src/sljit/sljitUtils.c -+++ b/src/sljit/sljitUtils.c -@@ -182,7 +182,10 @@ static pthread_mutex_t dev_zero_mutex = PTHREAD_MUTEX_INITIALIZER; - static SLJIT_INLINE sljit_si open_dev_zero(void) - { - pthread_mutex_lock(&dev_zero_mutex); -- dev_zero = open("/dev/zero", O_RDWR); -+ /* The dev_zero might be initialized by another thread during the waiting. */ -+ if (dev_zero < 0) { -+ dev_zero = open("/dev/zero", O_RDWR); -+ } - pthread_mutex_unlock(&dev_zero_mutex); - return dev_zero < 0; - } --- -2.5.5 - diff --git a/pcre2-10.21-Detect-unmatched-closing-parentheses-in-the-pre-scan.patch b/pcre2-10.21-Detect-unmatched-closing-parentheses-in-the-pre-scan.patch deleted file mode 100644 index 45f223e..0000000 --- a/pcre2-10.21-Detect-unmatched-closing-parentheses-in-the-pre-scan.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 3c570a60f7386ec026ef5dcafd54200d85826604 Mon Sep 17 00:00:00 2001 -From: ph10 -Date: Tue, 2 Feb 2016 17:22:55 +0000 -Subject: [PATCH] Detect unmatched closing parentheses in the pre-scan to avoid - giving incorrect error messages. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@484 6239d852-aaf2-0410-a92c-79f79f948069 - -Petr Písař: Ported to 10.21. - -Signed-off-by: Petr Písař ---- - src/pcre2_compile.c | 43 +++++++++++++++++++++---------------------- - testdata/testinput2 | 2 ++ - testdata/testoutput2 | 3 +++ - 3 files changed, 26 insertions(+), 22 deletions(-) - -diff --git a/src/pcre2_compile.c b/src/pcre2_compile.c -index d852837..e33d620 100644 ---- a/src/pcre2_compile.c -+++ b/src/pcre2_compile.c -@@ -3377,27 +3377,24 @@ for (; ptr < cb->end_pattern; ptr++) - if ((options & PCRE2_NO_AUTO_CAPTURE) == 0) cb->bracount++; - } - -- /* (*something) - just skip to closing ket unless PCRE2_ALT_VERBNAMES is -- set, in which case we have to process escapes in the string after the -- name. */ -+ /* (*something) - skip over a name, and then just skip to closing ket -+ unless PCRE2_ALT_VERBNAMES is set, in which case we have to process -+ escapes in the string after a verb name terminated by a colon. */ - - else - { - ptr += 2; - while (MAX_255(*ptr) && (cb->ctypes[*ptr] & ctype_word) != 0) ptr++; -- if (*ptr == CHAR_COLON) -+ if (*ptr == CHAR_COLON && (options & PCRE2_ALT_VERBNAMES) != 0) - { - ptr++; -- if ((options & PCRE2_ALT_VERBNAMES) != 0) -- { -- if (process_verb_name(&ptr, NULL, &errorcode, options, utf, cb) < 0) -- goto FAILED; -- } -- else -- { -- while (ptr < cb->end_pattern && *ptr != CHAR_RIGHT_PARENTHESIS) -- ptr++; -- } -+ if (process_verb_name(&ptr, NULL, &errorcode, options, utf, cb) < 0) -+ goto FAILED; -+ } -+ else -+ { -+ while (ptr < cb->end_pattern && *ptr != CHAR_RIGHT_PARENTHESIS) -+ ptr++; - } - nest_depth--; - } -@@ -3748,7 +3745,12 @@ for (; ptr < cb->end_pattern; ptr++) - if (top_nest == (nest_save *)(cb->start_workspace)) top_nest = NULL; - else top_nest--; - } -- if (nest_depth > 0) nest_depth--; /* Can be 0 for unmatched ) */ -+ if (nest_depth == 0) /* Unmatched closing parenthesis */ -+ { -+ errorcode = ERR22; -+ goto FAILED; -+ } -+ nest_depth--; - break; - } - } -@@ -8704,14 +8706,11 @@ if (cb.had_accept) - reqcuflags = REQ_NONE; - } - --/* If we have not reached end of pattern after a successful compile, there's an --excess bracket. Fill in the final opcode and check for disastrous overflow. --If no overflow, but the estimated length exceeds the really used length, adjust --the value of re->blocksize, and if valgrind support is configured, mark the --extra allocated memory as unaddressable, so that any out-of-bound reads can be --detected. */ -+/* Fill in the final opcode and check for disastrous overflow. If no overflow, -+but the estimated length exceeds the really used length, adjust the value of -+re->blocksize, and if valgrind support is configured, mark the extra allocated -+memory as unaddressable, so that any out-of-bound reads can be detected. */ - --if (errorcode == 0 && ptr < cb.end_pattern) errorcode = ERR22; - *code++ = OP_END; - usedlength = code - codestart; - if (usedlength > length) errorcode = ERR23; else -diff --git a/testdata/testinput2 b/testdata/testinput2 -index 071cca1..86c149d 100644 ---- a/testdata/testinput2 -+++ b/testdata/testinput2 -@@ -4800,4 +4800,6 @@ a)"xI - /28 2a 4d 41 52 4b 3a 41 00 62 29/mark,hex,alt_verbnames - abc - -+/(?J)(?'a'))(?'a')/ -+ - # End of testinput2 -diff --git a/testdata/testoutput2 b/testdata/testoutput2 -index 7178410..87c7204 100644 ---- a/testdata/testoutput2 -+++ b/testdata/testoutput2 -@@ -15158,4 +15158,7 @@ MK: A\x00b - 0: - MK: A\x00b - -+/(?J)(?'a'))(?'a')/ -+Failed: error 122 at offset 10: unmatched closing parenthesis -+ - # End of testinput2 --- -2.5.0 - diff --git a/pcre2-10.21-Documentation-clarification.patch b/pcre2-10.21-Documentation-clarification.patch deleted file mode 100644 index f23b426..0000000 --- a/pcre2-10.21-Documentation-clarification.patch +++ /dev/null @@ -1,50 +0,0 @@ -From 6b1349313442390aed681582475f17956c73c9a3 Mon Sep 17 00:00:00 2001 -From: ph10 -Date: Sun, 19 Jun 2016 16:07:56 +0000 -Subject: [PATCH] Documentation clarification. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Ported to 10.21: - -commit cc7cc5af44c220acad1b9addff852a26c0e8ec46 -Author: ph10 -Date: Sun Jun 19 16:07:56 2016 +0000 - - Documentation clarification. - - git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@529 6239d852-aaf2-0410-a92c-79f79f948069 - -Signed-off-by: Petr Písař ---- - doc/pcre2grep.1 | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -diff --git a/doc/pcre2grep.1 b/doc/pcre2grep.1 -index 028a91e..f7fc40b 100644 ---- a/doc/pcre2grep.1 -+++ b/doc/pcre2grep.1 -@@ -440,10 +440,15 @@ one line. The first is the line in which the match started, and the last is the - line in which the match ended. If the matched string ends with a newline - sequence the output ends at the end of that line. - .sp --When this option is set, the PCRE2 library is called in "multiline" mode. --However, \fBpcre2grep\fP still processes the input line by line. The difference --is that a matched string may extend past the end of a line and continue on --one or more subsequent lines. The newline sequence must be matched as part of -+When this option is set, the PCRE2 library is called in "multiline" mode. This -+allows a matched string to extend past the end of a line and continue on one or -+more subsequent lines. However, \fBpcre2grep\fP still processes the input line -+by line. Once a match has been handled, scanning restarts at the beginning of -+the next line, just as it does when \fB-M\fP is not present. This means that it -+is possible for the second or subsequent lines in a multiline match to be -+output again as part of another match. -+.sp -+The newline sequence that separates multiple lines must be matched as part of - the pattern. For example, to find the phrase "regular expression" in a file - where "regular" might be at the end of a line and "expression" at the start of - the next line, you could use this command: --- -2.5.5 - diff --git a/pcre2-10.21-Fix-bad-interaction-between-o-and-M-in-pcre2grep.patch b/pcre2-10.21-Fix-bad-interaction-between-o-and-M-in-pcre2grep.patch deleted file mode 100644 index bf8c04c..0000000 --- a/pcre2-10.21-Fix-bad-interaction-between-o-and-M-in-pcre2grep.patch +++ /dev/null @@ -1,250 +0,0 @@ -From 05686e02ce782f3eee730abcdbe650b17efa2fb1 Mon Sep 17 00:00:00 2001 -From: ph10 -Date: Fri, 17 Jun 2016 17:37:26 +0000 -Subject: [PATCH] Fix bad interaction between -o and -M in pcre2grep. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Ported to 10.21: - -commit f5e35c292ede59a1d1d32f2f7ee3894515ccc5d6 -Author: ph10 -Date: Fri Jun 17 17:37:26 2016 +0000 - - Fix bad interaction between -o and -M in pcre2grep. - - git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@528 6239d852-aaf2-0410-a92c-79f79f948069 - -Signed-off-by: Petr Písař ---- - RunGrepTest | 12 ++++++++++++ - src/pcre2grep.c | 36 ++++++++++++++++++++++-------------- - testdata/grepinput | 13 +++++++++++++ - testdata/grepoutput | 49 ++++++++++++++++++++++++++++++++++++++++--------- - 4 files changed, 87 insertions(+), 23 deletions(-) - -diff --git a/RunGrepTest b/RunGrepTest -index 67d672b..6bdd157 100755 ---- a/RunGrepTest -+++ b/RunGrepTest -@@ -551,6 +551,18 @@ echo "---------------------------- Test 109 -----------------------------" >>tes - (cd $srcdir; $valgrind $pcre2grep -cq lazy ./testdata/grepinput*) >>testtrygrep - echo "RC=$?" >>testtrygrep - -+echo "---------------------------- Test 110 -----------------------------" >>testtrygrep -+(cd $srcdir; $valgrind $vjs $pcre2grep --om-separator / -Mo0 -o1 -o2 'match (\d+):\n (.)\n' testdata/grepinput) >>testtrygrep -+echo "RC=$?" >>testtrygrep -+ -+echo "---------------------------- Test 111 -----------------------------" >>testtrygrep -+(cd $srcdir; $valgrind $vjs $pcre2grep --line-offsets -M 'match (\d+):\n (.)\n' testdata/grepinput) >>testtrygrep -+echo "RC=$?" >>testtrygrep -+ -+echo "---------------------------- Test 112 -----------------------------" >>testtrygrep -+(cd $srcdir; $valgrind $vjs $pcre2grep --file-offsets -M 'match (\d+):\n (.)\n' testdata/grepinput) >>testtrygrep -+echo "RC=$?" >>testtrygrep -+ - # Now compare the results. - - $cf $srcdir/testdata/grepoutput testtrygrep -diff --git a/src/pcre2grep.c b/src/pcre2grep.c -index 703f675..3a5efd4 100644 ---- a/src/pcre2grep.c -+++ b/src/pcre2grep.c -@@ -1591,7 +1591,7 @@ while (ptr < endptr) - size_t startoffset = 0; - - /* At this point, ptr is at the start of a line. We need to find the length -- of the subject string to pass to pcre_exec(). In multiline mode, it is the -+ of the subject string to pass to pcre2_match(). In multiline mode, it is the - length remainder of the data in the buffer. Otherwise, it is the length of - the next line, excluding the terminating newline. After matching, we always - advance by the length of the next line. In multiline mode the PCRE2_FIRSTLINE -@@ -1680,7 +1680,7 @@ while (ptr < endptr) - - match = match_patterns(matchptr, length, options, startoffset, &mrc); - options = PCRE2_NOTEMPTY; -- -+ - /* If it's a match or a not-match (as required), do what's wanted. */ - - if (match != invert) -@@ -1776,14 +1776,22 @@ while (ptr < endptr) - if (printed || printname != NULL || number) fprintf(stdout, "\n"); - } - -- /* Prepare to repeat to find the next match. If the pattern contained a -- lookbehind that included \K, it is possible that the end of the match -- might be at or before the actual starting offset we have just used. In -- this case, start one character further on. */ -+ /* Prepare to repeat to find the next match in the line. */ - - match = FALSE; - if (line_buffered) fflush(stdout); - rc = 0; /* Had some success */ -+ -+ /* If the current match ended past the end of the line (only possible -+ in multiline mode), we are done with this line. */ -+ -+ if (offsets[1] > linelength) goto END_ONE_MATCH; -+ -+ /* If the pattern contained a lookbehind that included \K, it is -+ possible that the end of the match might be at or before the actual -+ starting offset we have just used. In this case, start one character -+ further on. */ -+ - startoffset = offsets[1]; /* Restart after the match */ - oldstartoffset = pcre2_get_startchar(match_data); - if (startoffset <= oldstartoffset) -@@ -2488,24 +2496,24 @@ if ((popts & PO_FIXED_STRINGS) != 0) - } - - sprintf((char *)buffer, "%s%.*s%s", prefix[popts], patlen, ps, suffix[popts]); --p->compiled = pcre2_compile(buffer, -1, options, &errcode, &erroffset, -- compile_context); -- -+p->compiled = pcre2_compile(buffer, PCRE2_ZERO_TERMINATED, options, &errcode, -+ &erroffset, compile_context); -+ - /* Handle successful compile */ -- --if (p->compiled != NULL) -+ -+if (p->compiled != NULL) - { - #ifdef SUPPORT_PCRE2GREP_JIT - if (use_jit) - { - errcode = pcre2_jit_compile(p->compiled, PCRE2_JIT_COMPLETE); - if (errcode == 0) return TRUE; -- erroffset = PCRE2_SIZE_MAX; /* Will get reduced to patlen below */ -+ erroffset = PCRE2_SIZE_MAX; /* Will get reduced to patlen below */ - } -- else -+ else - #endif - return TRUE; -- } -+ } - - /* Handle compile and JIT compile errors */ - -diff --git a/testdata/grepinput b/testdata/grepinput -index 0f00edd..b01643d 100644 ---- a/testdata/grepinput -+++ b/testdata/grepinput -@@ -604,6 +604,19 @@ AB.VE the turtle - - 010203040506 - -+match 1: -+ a -+match 2: -+ b -+match 3: -+ c -+match 4: -+ d -+match 5: -+ e -+Rhubarb -+Custard Tart -+ - PUT NEW DATA ABOVE THIS LINE. - ============================= - -diff --git a/testdata/grepoutput b/testdata/grepoutput -index 3f6704c..552bd70 100644 ---- a/testdata/grepoutput -+++ b/testdata/grepoutput -@@ -10,7 +10,7 @@ RC=0 - 7:PATTERN at the start of a line. - 8:In the middle of a line, PATTERN appears. - 10:This pattern is in lower case. --610:Check up on PATTERN near the end. -+623:Check up on PATTERN near the end. - RC=0 - ---------------------------- Test 4 ------------------------------ - 4 -@@ -19,7 +19,7 @@ RC=0 - ./testdata/grepinput:7:PATTERN at the start of a line. - ./testdata/grepinput:8:In the middle of a line, PATTERN appears. - ./testdata/grepinput:10:This pattern is in lower case. --./testdata/grepinput:610:Check up on PATTERN near the end. -+./testdata/grepinput:623:Check up on PATTERN near the end. - ./testdata/grepinputx:3:Here is the pattern again. - ./testdata/grepinputx:5:Pattern - ./testdata/grepinputx:42:This line contains pattern not on a line by itself. -@@ -28,7 +28,7 @@ RC=0 - 7:PATTERN at the start of a line. - 8:In the middle of a line, PATTERN appears. - 10:This pattern is in lower case. --610:Check up on PATTERN near the end. -+623:Check up on PATTERN near the end. - 3:Here is the pattern again. - 5:Pattern - 42:This line contains pattern not on a line by itself. -@@ -324,10 +324,10 @@ RC=0 - ./testdata/grepinput-9- - ./testdata/grepinput:10:This pattern is in lower case. - -- --./testdata/grepinput-607-PUT NEW DATA ABOVE THIS LINE. --./testdata/grepinput-608-============================= --./testdata/grepinput-609- --./testdata/grepinput:610:Check up on PATTERN near the end. -+./testdata/grepinput-620-PUT NEW DATA ABOVE THIS LINE. -+./testdata/grepinput-621-============================= -+./testdata/grepinput-622- -+./testdata/grepinput:623:Check up on PATTERN near the end. - -- - ./testdata/grepinputx-1-This is a second file of input for the pcregrep tests. - ./testdata/grepinputx-2- -@@ -349,8 +349,8 @@ RC=0 - ./testdata/grepinput-12-Here follows a whole lot of stuff that makes the file over 24K long. - ./testdata/grepinput-13- - -- --./testdata/grepinput:610:Check up on PATTERN near the end. --./testdata/grepinput-611-This is the last line of this file. -+./testdata/grepinput:623:Check up on PATTERN near the end. -+./testdata/grepinput-624-This is the last line of this file. - -- - ./testdata/grepinputx:3:Here is the pattern again. - ./testdata/grepinputx-4- -@@ -755,3 +755,34 @@ RC=0 - RC=0 - ---------------------------- Test 109 ----------------------------- - RC=0 -+---------------------------- Test 110 ----------------------------- -+match 1: -+ a -+/1/a -+match 2: -+ b -+/2/b -+match 3: -+ c -+/3/c -+match 4: -+ d -+/4/d -+match 5: -+ e -+/5/e -+RC=0 -+---------------------------- Test 111 ----------------------------- -+607:0,12 -+609:0,12 -+611:0,12 -+613:0,12 -+615:0,12 -+RC=0 -+---------------------------- Test 112 ----------------------------- -+37168,12 -+37180,12 -+37192,12 -+37204,12 -+37216,12 -+RC=0 --- -2.5.5 - diff --git a/pcre2-10.21-Fix-pcre2test-loop-when-a-callout-is-in-an-initial-l.patch b/pcre2-10.21-Fix-pcre2test-loop-when-a-callout-is-in-an-initial-l.patch deleted file mode 100644 index a23b3db..0000000 --- a/pcre2-10.21-Fix-pcre2test-loop-when-a-callout-is-in-an-initial-l.patch +++ /dev/null @@ -1,174 +0,0 @@ -From 1c9ad4b954e5888ff6acdcb8e7073b123641b536 Mon Sep 17 00:00:00 2001 -From: ph10 -Date: Sat, 6 Feb 2016 16:40:59 +0000 -Subject: [PATCH] Fix pcre2test loop when a callout is in an initial - lookbehind. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@488 6239d852-aaf2-0410-a92c-79f79f948069 - -Petr Písař: Ported to 10.21. - -Signed-off-by: Petr Písař ---- - doc/pcre2test.1 | 4 +++- - src/pcre2test.c | 38 ++++++++++++++++++++++++++++---------- - testdata/testinput2 | 5 +++++ - testdata/testoutput2 | 15 +++++++++++++++ - 4 files changed, 51 insertions(+), 11 deletions(-) - -diff --git a/doc/pcre2test.1 b/doc/pcre2test.1 -index b8eef93..4845cc7 100644 ---- a/doc/pcre2test.1 -+++ b/doc/pcre2test.1 -@@ -1475,7 +1475,9 @@ item to be tested. For example: - This output indicates that callout number 0 occurred for a match attempt - starting at the fourth character of the subject string, when the pointer was at - the seventh character, and when the next pattern item was \ed. Just --one circumflex is output if the start and current positions are the same. -+one circumflex is output if the start and current positions are the same, or if -+the current position precedes the start position, which can happen if the -+callout is in a lookbehind assertion. - .P - Callouts numbered 255 are assumed to be automatic callouts, inserted as a - result of the \fB/auto_callout\fP pattern modifier. In this case, instead of -diff --git a/src/pcre2test.c b/src/pcre2test.c -index 0a5879e..bc9099f 100644 ---- a/src/pcre2test.c -+++ b/src/pcre2test.c -@@ -2546,12 +2546,13 @@ return (int)(pp - p); - - /* Must handle UTF-8 strings in utf8 mode. Yields number of characters printed. - For printing *MARK strings, a negative length is given. If handed a NULL file, --just counts chars without printing. */ -+just counts chars without printing (because pchar() does that). */ - - static int pchars8(PCRE2_SPTR8 p, int length, BOOL utf, FILE *f) - { - uint32_t c = 0; - int yield = 0; -+ - if (length < 0) length = p[-1]; - while (length-- > 0) - { -@@ -2569,6 +2570,7 @@ while (length-- > 0) - c = *p++; - yield += pchar(c, utf, f); - } -+ - return yield; - } - #endif -@@ -4975,6 +4977,7 @@ static int - callout_function(pcre2_callout_block_8 *cb, void *callout_data_ptr) - { - uint32_t i, pre_start, post_start, subject_length; -+PCRE2_SIZE current_position; - BOOL utf = (FLD(compiled_code, overall_options) & PCRE2_UTF) != 0; - BOOL callout_capture = (dat_datctl.control & CTL_CALLOUT_CAPTURE) != 0; - -@@ -5025,21 +5028,36 @@ if (callout_capture) - } - } - --/* Re-print the subject in canonical form, the first time or if giving full --datails. On subsequent calls in the same match, we use pchars just to find the --printed lengths of the substrings. */ -+/* Re-print the subject in canonical form (with escapes for non-printing -+characters), the first time, or if giving full details. On subsequent calls in -+the same match, we use PCHARS() just to find the printed lengths of the -+substrings. */ - - if (f != NULL) fprintf(f, "--->"); - -+/* The subject before the match start. */ -+ - PCHARS(pre_start, cb->subject, 0, cb->start_match, utf, f); - -+/* If a lookbehind is involved, the current position may be earlier than the -+match start. If so, use the match start instead. */ -+ -+current_position = (cb->current_position >= cb->start_match)? -+ cb->current_position : cb->start_match; -+ -+/* The subject between the match start and the current position. */ -+ - PCHARS(post_start, cb->subject, cb->start_match, -- cb->current_position - cb->start_match, utf, f); -+ current_position - cb->start_match, utf, f); - --PCHARS(subject_length, cb->subject, 0, cb->subject_length, utf, NULL); -+/* Print from the current position to the end. */ -+ -+PCHARSV(cb->subject, current_position, cb->subject_length - current_position, -+ utf, f); - --PCHARSV(cb->subject, cb->current_position, -- cb->subject_length - cb->current_position, utf, f); -+/* Calculate the total subject printed length (no print). */ -+ -+PCHARS(subject_length, cb->subject, 0, cb->subject_length, utf, NULL); - - if (f != NULL) fprintf(f, "\n"); - -@@ -7021,7 +7039,7 @@ while (argc > 1 && argv[op][0] == '-' && argv[op][1] != 0) - struct rlimit rlim; - if (U32OVERFLOW(uli)) - { -- fprintf(stderr, "+++ Argument for -S is too big\n"); -+ fprintf(stderr, "** Argument for -S is too big\n"); - exit(1); - } - stack_size = (uint32_t)uli; -@@ -7073,7 +7091,7 @@ while (argc > 1 && argv[op][0] == '-' && argv[op][1] != 0) - { - if (U32OVERFLOW(uli)) - { -- fprintf(stderr, "+++ Argument for %s is too big\n", arg); -+ fprintf(stderr, "** Argument for %s is too big\n", arg); - exit(1); - } - timeitm = (int)uli; -diff --git a/testdata/testinput2 b/testdata/testinput2 -index 86c149d..67c40ba 100644 ---- a/testdata/testinput2 -+++ b/testdata/testinput2 -@@ -4802,4 +4802,9 @@ a)"xI - - /(?J)(?'a'))(?'a')/ - -+/(?<=((?C)0))/ -+ 9010 -+\= Expect no match -+ abc -+ - # End of testinput2 -diff --git a/testdata/testoutput2 b/testdata/testoutput2 -index 87c7204..32aa066 100644 ---- a/testdata/testoutput2 -+++ b/testdata/testoutput2 -@@ -15161,4 +15161,19 @@ MK: A\x00b - /(?J)(?'a'))(?'a')/ - Failed: error 122 at offset 10: unmatched closing parenthesis - -+/(?<=((?C)0))/ -+ 9010 -+--->9010 -+ 0 ^ 0 -+ 0 ^ 0 -+ 0: -+ 1: 0 -+\= Expect no match -+ abc -+--->abc -+ 0 ^ 0 -+ 0 ^ 0 -+ 0 ^ 0 -+No match -+ - # End of testinput2 --- -2.5.0 - diff --git a/pcre2-10.21-Fix-typo-in-pcre2_study.patch b/pcre2-10.21-Fix-typo-in-pcre2_study.patch deleted file mode 100644 index eb5dc02..0000000 --- a/pcre2-10.21-Fix-typo-in-pcre2_study.patch +++ /dev/null @@ -1,28 +0,0 @@ -From f6cb85bcdb508b0aaf8bc6d99b1d23afd7f3a6a9 Mon Sep 17 00:00:00 2001 -From: ph10 -Date: Sun, 28 Feb 2016 14:56:50 +0000 -Subject: [PATCH] Fix typo in pcre2_study(). -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@500 6239d852-aaf2-0410-a92c-79f79f948069 - -Petr Písař: Ported to 10.21. - -diff --git a/src/pcre2_study.c b/src/pcre2_study.c -index 18932ad..db08266 100644 ---- a/src/pcre2_study.c -+++ b/src/pcre2_study.c -@@ -1452,7 +1452,7 @@ do - for (c = 0; c < 16; c++) re->start_bitmap[c] |= classmap[c]; - for (c = 128; c < 256; c++) - { -- if ((classmap[c/8] && (1 << (c&7))) != 0) -+ if ((classmap[c/8] & (1 << (c&7))) != 0) - { - int d = (c >> 6) | 0xc0; /* Set bit for this starter */ - re->start_bitmap[d/8] |= (1 << (d&7)); /* and then skip on to the */ --- -2.5.0 - diff --git a/pcre2-10.21-Fix-typo-in-test-program.patch b/pcre2-10.21-Fix-typo-in-test-program.patch deleted file mode 100644 index a9f9baf..0000000 --- a/pcre2-10.21-Fix-typo-in-test-program.patch +++ /dev/null @@ -1,34 +0,0 @@ -From f4778a47d6d454b71d227d359e874757b7ad1819 Mon Sep 17 00:00:00 2001 -From: ph10 -Date: Wed, 25 May 2016 08:42:31 +0000 -Subject: [PATCH] Fix typo in test program. -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@518 6239d852-aaf2-0410-a92c-79f79f948069 - -Petr Písař: Ported to 10.21. - -diff --git a/src/pcre2_jit_test.c b/src/pcre2_jit_test.c -index aaff07d..dfe0032 100644 ---- a/src/pcre2_jit_test.c -+++ b/src/pcre2_jit_test.c -@@ -1532,10 +1532,10 @@ static int regression_tests(void) - is_successful = 0; - } - #endif --#if defined SUPPORT_PCRE2_16 && defined SUPPORT_PCRE2_16 -- if (ovector16_1[i] != ovector16_2[i] || ovector16_1[i] != ovector16_1[i] || ovector16_1[i] != ovector16_2[i]) { -- printf("\n16 and 16 bit: Ovector[%d] value differs(J16:%d,I16:%d,J32:%d,I32:%d): [%d] '%s' @ '%s' \n", -- i, ovector16_1[i], ovector16_2[i], ovector16_1[i], ovector16_2[i], -+#if defined SUPPORT_PCRE2_16 && defined SUPPORT_PCRE2_32 -+ if (ovector16_1[i] != ovector16_2[i] || ovector16_1[i] != ovector32_1[i] || ovector16_1[i] != ovector32_2[i]) { -+ printf("\n16 and 32 bit: Ovector[%d] value differs(J16:%d,I16:%d,J32:%d,I32:%d): [%d] '%s' @ '%s' \n", -+ i, ovector16_1[i], ovector16_2[i], ovector32_1[i], ovector32_2[i], - total, current->pattern, current->input); - is_successful = 0; - } --- -2.5.5 - diff --git a/pcre2-10.21-Fix-workspace-overflow-for-deep-nested-parentheses-w.patch b/pcre2-10.21-Fix-workspace-overflow-for-deep-nested-parentheses-w.patch deleted file mode 100644 index 19f6416..0000000 --- a/pcre2-10.21-Fix-workspace-overflow-for-deep-nested-parentheses-w.patch +++ /dev/null @@ -1,152 +0,0 @@ -From a7d81bb826ca2aa2c46e3297112589cccab359b3 Mon Sep 17 00:00:00 2001 -From: ph10 -Date: Wed, 10 Feb 2016 18:24:02 +0000 -Subject: [PATCH] Fix workspace overflow for deep nested parentheses with - (*ACCEPT). -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@489 6239d852-aaf2-0410-a92c-79f79f948069 - -Petr Písař: Ported to 10.21. - -diff --git a/src/pcre2_compile.c b/src/pcre2_compile.c -index e33d620..887fbfd 100644 ---- a/src/pcre2_compile.c -+++ b/src/pcre2_compile.c -@@ -5901,10 +5901,22 @@ for (;; ptr++) - goto FAILED; - } - cb->had_accept = TRUE; -+ -+ /* In the first pass, just accumulate the length required; -+ otherwise hitting (*ACCEPT) inside many nested parentheses can -+ cause workspace overflow. */ -+ - for (oc = cb->open_caps; oc != NULL; oc = oc->next) - { -- *code++ = OP_CLOSE; -- PUT2INC(code, 0, oc->number); -+ if (lengthptr != NULL) -+ { -+ *lengthptr += CU2BYTES(1) + IMM2_SIZE; -+ } -+ else -+ { -+ *code++ = OP_CLOSE; -+ PUT2INC(code, 0, oc->number); -+ } - } - setverb = *code++ = - (cb->assert_depth > 0)? OP_ASSERT_ACCEPT : OP_ACCEPT; -diff --git a/testdata/testinput8 b/testdata/testinput8 -index ca3b1b9..7e2a1f0 100644 ---- a/testdata/testinput8 -+++ b/testdata/testinput8 -@@ -182,4 +182,6 @@ - - /((?1)(?2)(?3)(?4)(?5)(?6)(?7)(?8)(?9)(?9)(?8)(?7)(?6)(?5)(?4)(?3)(?2)(?1)(?0)){2,}()()()()()()()()()/debug - -+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/ -+ - # End of testinput8 -diff --git a/testdata/testoutput8-16-2 b/testdata/testoutput8-16-2 -index 05669bb..a5e8dec 100644 ---- a/testdata/testoutput8-16-2 -+++ b/testdata/testoutput8-16-2 -@@ -1027,4 +1027,7 @@ Capturing subpattern count = 10 - May match empty string - Subject length lower bound = 0 - -+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/ -+Failed: error 186 at offset 490: regular expression is too complicated -+ - # End of testinput8 -diff --git a/testdata/testoutput8-16-3 b/testdata/testoutput8-16-3 -index 31884e1..36133b3 100644 ---- a/testdata/testoutput8-16-3 -+++ b/testdata/testoutput8-16-3 -@@ -1023,4 +1023,7 @@ Capturing subpattern count = 10 - May match empty string - Subject length lower bound = 0 - -+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/ -+Failed: error 114 at offset 509: missing closing parenthesis -+ - # End of testinput8 -diff --git a/testdata/testoutput8-32-2 b/testdata/testoutput8-32-2 -index babd0c7..99c4fad 100644 ---- a/testdata/testoutput8-32-2 -+++ b/testdata/testoutput8-32-2 -@@ -1023,4 +1023,7 @@ Capturing subpattern count = 10 - May match empty string - Subject length lower bound = 0 - -+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/ -+Failed: error 114 at offset 509: missing closing parenthesis -+ - # End of testinput8 -diff --git a/testdata/testoutput8-32-3 b/testdata/testoutput8-32-3 -index babd0c7..99c4fad 100644 ---- a/testdata/testoutput8-32-3 -+++ b/testdata/testoutput8-32-3 -@@ -1023,4 +1023,7 @@ Capturing subpattern count = 10 - May match empty string - Subject length lower bound = 0 - -+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/ -+Failed: error 114 at offset 509: missing closing parenthesis -+ - # End of testinput8 -diff --git a/testdata/testoutput8-32-4 b/testdata/testoutput8-32-4 -index babd0c7..99c4fad 100644 ---- a/testdata/testoutput8-32-4 -+++ b/testdata/testoutput8-32-4 -@@ -1023,4 +1023,7 @@ Capturing subpattern count = 10 - May match empty string - Subject length lower bound = 0 - -+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/ -+Failed: error 114 at offset 509: missing closing parenthesis -+ - # End of testinput8 -diff --git a/testdata/testoutput8-8-2 b/testdata/testoutput8-8-2 -index 6a9aa0a..6dc1f42 100644 ---- a/testdata/testoutput8-8-2 -+++ b/testdata/testoutput8-8-2 -@@ -1026,4 +1026,7 @@ Capturing subpattern count = 10 - May match empty string - Subject length lower bound = 0 - -+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/ -+Failed: error 114 at offset 509: missing closing parenthesis -+ - # End of testinput8 -diff --git a/testdata/testoutput8-8-3 b/testdata/testoutput8-8-3 -index 2fe1168..ae14946 100644 ---- a/testdata/testoutput8-8-3 -+++ b/testdata/testoutput8-8-3 -@@ -1024,4 +1024,7 @@ Capturing subpattern count = 10 - May match empty string - Subject length lower bound = 0 - -+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/ -+Failed: error 114 at offset 509: missing closing parenthesis -+ - # End of testinput8 -diff --git a/testdata/testoutput8-8-4 b/testdata/testoutput8-8-4 -index 91993b2..6c79956 100644 ---- a/testdata/testoutput8-8-4 -+++ b/testdata/testoutput8-8-4 -@@ -1022,4 +1022,7 @@ Capturing subpattern count = 10 - May match empty string - Subject length lower bound = 0 - -+/([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/ -+Failed: error 114 at offset 509: missing closing parenthesis -+ - # End of testinput8 --- -2.5.0 - diff --git a/pcre2-10.21-Make-pcre2grep-use-JIT-it-was-omitted-by-mistake.patch b/pcre2-10.21-Make-pcre2grep-use-JIT-it-was-omitted-by-mistake.patch deleted file mode 100644 index 7acaca2..0000000 --- a/pcre2-10.21-Make-pcre2grep-use-JIT-it-was-omitted-by-mistake.patch +++ /dev/null @@ -1,46 +0,0 @@ -From c3e3345d205607532c739b38acbc100623cd512a Mon Sep 17 00:00:00 2001 -From: ph10 -Date: Tue, 31 May 2016 11:06:53 +0000 -Subject: [PATCH] Make pcre2grep use JIT (it was omitted by mistake). -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@519 6239d852-aaf2-0410-a92c-79f79f948069 - -Petr Písař: Ported to 10.21. - -diff --git a/src/pcre2grep.c b/src/pcre2grep.c -index 47d2a4e..60b6812 100644 ---- a/src/pcre2grep.c -+++ b/src/pcre2grep.c -@@ -2788,9 +2788,24 @@ if ((popts & PO_FIXED_STRINGS) != 0) - sprintf((char *)buffer, "%s%.*s%s", prefix[popts], patlen, ps, suffix[popts]); - p->compiled = pcre2_compile(buffer, -1, options, &errcode, &erroffset, - compile_context); --if (p->compiled != NULL) return TRUE; -+ -+/* Handle successful compile */ -+ -+if (p->compiled != NULL) -+ { -+#ifdef SUPPORT_PCRE2GREP_JIT -+ if (use_jit) -+ { -+ errcode = pcre2_jit_compile(p->compiled, PCRE2_JIT_COMPLETE); -+ if (errcode == 0) return TRUE; -+ erroffset = PCRE2_SIZE_MAX; /* Will get reduced to patlen below */ -+ } -+ else -+#endif -+ return TRUE; -+ } - --/* Handle compile errors */ -+/* Handle compile and JIT compile errors */ - - erroffset -= (int)strlen(prefix[popts]); - if (erroffset > patlen) erroffset = patlen; --- -2.5.5 - diff --git a/pcre2.spec b/pcre2.spec index 47413f4..e349d2b 100644 --- a/pcre2.spec +++ b/pcre2.spec @@ -1,8 +1,8 @@ # This is stable release: -#%%global rcversion RC1 +%global rcversion RC1 Name: pcre2 -Version: 10.21 -Release: %{?rcversion:0.}6%{?rcversion:.%rcversion}%{?dist} +Version: 10.22 +Release: %{?rcversion:0.}1%{?rcversion:.%rcversion}%{?dist} %global myversion %{version}%{?rcversion:-%rcversion} Summary: Perl-compatible regular expression library Group: System Environment/Libraries @@ -12,6 +12,7 @@ Group: System Environment/Libraries # LICENSE: BSD text and declares Public Domain # for testdata #Not distributed in binary package +# ar-lib: GPLv2+ with exception # autotools: GPLv3+ with exception # install-sh: MIT # testdata: Public Domain @@ -20,29 +21,6 @@ URL: http://www.pcre.org/ Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%{?rcversion:Testing/}%{name}-%{myversion}.tar.bz2 # Do no set RPATH if libdir is not /usr/lib Patch0: pcre2-10.10-Fix-multilib.patch -# Report unmatched closing parantheses properly, in upstream after 10.21 -Patch1: pcre2-10.21-Detect-unmatched-closing-parentheses-in-the-pre-scan.patch -# Fix pcre2test for expressions with a callout inside a look-behind assertion, -# upstream bug #1783, fixed in upstream after 10.21 -Patch2: pcre2-10.21-Fix-pcre2test-loop-when-a-callout-is-in-an-initial-l.patch -# Fix CVE-2016-3191 (workspace overflow for (*ACCEPT) with deeply nested -# parentheses), upstream bug #1791, fixed in upstream after 10.21 -Patch3: pcre2-10.21-Fix-workspace-overflow-for-deep-nested-parentheses-w.patch -# Fix a typo in pcre2_study(), fixed in upstream after 10.21 -Patch4: pcre2-10.21-Fix-typo-in-pcre2_study.patch -# Fix a race in JIT locking condition, fixed in upstream after 10.21 -Patch5: pcre2-10.21-A-racing-condition-is-fixed-in-JIT-reported-by-Mozil.patch -# Fix an ovector check in JIT test program, fixed in upstream after 10.21 -Patch6: pcre2-10.21-Fix-typo-in-test-program.patch -# Enable JIT in the pcre2grep tool, fixed in upstream after 10.21 -Patch7: pcre2-10.21-Make-pcre2grep-use-JIT-it-was-omitted-by-mistake.patch -# Fix repeated pcregrep output if -o with -M options were used and the match -# extended over a line boundary, upstream bug #1848, fixed in upstream after -# 10.21 -Patch8: pcre2-10.21-Fix-bad-interaction-between-o-and-M-in-pcre2grep.patch -# Documentation for Fix-bad-interaction-between-o-and-M-in-pcre2grep.patch, -# upstream bug #1848, fixed in upstream after 10.21 -Patch9: pcre2-10.21-Documentation-clarification.patch # New libtool to get rid of RPATH and to use distribution autotools BuildRequires: autoconf @@ -121,15 +99,6 @@ Utilities demonstrating PCRE2 capabilities like pcre2grep or pcre2test. %prep %setup -q -n %{name}-%{myversion} %patch0 -p1 -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 # Because of multilib patch libtoolize --copy --force autoreconf -vif @@ -157,6 +126,7 @@ autoreconf -vif --enable-pcre2-32 \ --disable-pcre2test-libedit \ --enable-pcre2test-libreadline \ + --enable-pcre2grep-callout \ --disable-pcre2grep-libbz2 \ --disable-pcre2grep-libz \ --disable-rebuild-chartables \ @@ -225,6 +195,10 @@ make %{?_smp_mflags} check VERBOSE=yes %{_mandir}/man1/pcre2test.* %changelog +* Thu Jun 30 2016 Petr Pisar - 10.22-0.1.RC1 +- 10.22-RC1 bump +- libpcre2-posix library changed ABI (FIXME: Bump SONAME) + * Mon Jun 20 2016 Petr Pisar - 10.21-6 - Fix repeated pcregrep output if -o with -M options were used and the match extended over a line boundary (upstream bug #1848) diff --git a/sources b/sources index f99b045..42b3e3f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e79460519f916e3fcb204e59714bfd4a pcre2-10.21.tar.bz2 +ca1b4c298976f0f159c882a0714bc9ec pcre2-10.22-RC1.tar.bz2