diff --git a/pcre-8.34.tar.bz2 b/pcre-8.34.tar.bz2 deleted file mode 100644 index 5da21c4..0000000 --- a/pcre-8.34.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:b6043ae1ff2720be665ffa28dc22b7c637cdde96f389a116c0c3020caeae583f -size 1468794 diff --git a/pcre-8.34.tar.bz2.sig b/pcre-8.34.tar.bz2.sig deleted file mode 100644 index caf31e4..0000000 Binary files a/pcre-8.34.tar.bz2.sig and /dev/null differ diff --git a/pcre-8.35.tar.bz2 b/pcre-8.35.tar.bz2 new file mode 100644 index 0000000..d0f4c8a --- /dev/null +++ b/pcre-8.35.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a961c1c78befef263cc130756eeca7b674b4e73a81533293df44e4265236865b +size 1522220 diff --git a/pcre-8.35.tar.bz2.sig b/pcre-8.35.tar.bz2.sig new file mode 100644 index 0000000..ff9ca77 Binary files /dev/null and b/pcre-8.35.tar.bz2.sig differ diff --git a/pcre-commit1472.patch b/pcre-commit1472.patch new file mode 100644 index 0000000..3cc2623 --- /dev/null +++ b/pcre-commit1472.patch @@ -0,0 +1,170 @@ +Index: configure.ac +=================================================================== +--- configure.ac (Revision 1471) ++++ configure.ac (Revision 1472) +@@ -9,9 +9,9 @@ + dnl be defined as -RC2, for example. For real releases, it should be empty. + + m4_define(pcre_major, [8]) +-m4_define(pcre_minor, [35]) +-m4_define(pcre_prerelease, []) +-m4_define(pcre_date, [2014-04-04]) ++m4_define(pcre_minor, [36]) ++m4_define(pcre_prerelease, [-RC1]) ++m4_define(pcre_date, [2014-04-21]) + + # NOTE: The CMakeLists.txt file searches for the above variables in the first + # 50 lines of this file. Please update that if the variables above are moved. +Index: pcrecpp.cc +=================================================================== +--- pcrecpp.cc (Revision 1471) ++++ pcrecpp.cc (Revision 1472) +@@ -511,7 +511,7 @@ + return 0; + } + +- pcre_extra extra = { 0, 0, 0, 0, 0, 0 }; ++ pcre_extra extra = { 0, 0, 0, 0, 0, 0, 0, 0 }; + if (options_.match_limit() > 0) { + extra.flags |= PCRE_EXTRA_MATCH_LIMIT; + extra.match_limit = options_.match_limit(); +@@ -660,6 +660,8 @@ + /***** Parsers for various types *****/ + + bool Arg::parse_null(const char* str, int n, void* dest) { ++ (void)str; ++ (void)n; + // We fail if somebody asked us to store into a non-NULL void* pointer + return (dest == NULL); + } +Index: ChangeLog +=================================================================== +--- ChangeLog (Revision 1471) ++++ ChangeLog (Revision 1472) +@@ -1,6 +1,18 @@ + ChangeLog for PCRE + ------------------ + ++Version 8.36 xx-xxx-2014 ++------------------------ ++ ++1. Got rid of some compiler warnings in the C++ modules that were shown up by ++ -Wmissing-field-initializers and -Wunused-parameter. ++ ++2. The tests for quantifiers being too big (greater than 65535) were being ++ applied after reading the number, and stupidly assuming that integer ++ overflow would give a negative number. The tests are now applied as the ++ numbers are read. ++ ++ + Version 8.35 04-April-2014 + -------------------------- + +Index: pcre_stringpiece_unittest.cc +=================================================================== +--- pcre_stringpiece_unittest.cc (Revision 1471) ++++ pcre_stringpiece_unittest.cc (Revision 1472) +@@ -142,6 +142,8 @@ + } + + int main(int argc, char** argv) { ++ (void)argc; ++ (void)argv; + CheckComparisonOperators(); + CheckSTLComparator(); + +Index: pcre_scanner_unittest.cc +=================================================================== +--- pcre_scanner_unittest.cc (Revision 1471) ++++ pcre_scanner_unittest.cc (Revision 1472) +@@ -149,6 +149,8 @@ + // small stack size + + int main(int argc, char** argv) { ++ (void)argc; ++ (void)argv; + TestScanner(); + TestBigComment(); + +Index: testdata/testoutput2 +=================================================================== +--- testdata/testoutput2 (Revision 1471) ++++ testdata/testoutput2 (Revision 1472) +@@ -5821,13 +5821,13 @@ + No match + + /a{11111111111111111111}/I +-Failed: number too big in {} quantifier at offset 22 ++Failed: number too big in {} quantifier at offset 8 + + /(){64294967295}/I +-Failed: number too big in {} quantifier at offset 14 ++Failed: number too big in {} quantifier at offset 9 + + /(){2,4294967295}/I +-Failed: number too big in {} quantifier at offset 15 ++Failed: number too big in {} quantifier at offset 11 + + "(?i:a)(?i:b)(?i:c)(?i:d)(?i:e)(?i:f)(?i:g)(?i:h)(?i:i)(?i:j)(k)(?i:l)A\1B"I + Capturing subpattern count = 1 +Index: pcre_compile.c +=================================================================== +--- pcre_compile.c (Revision 1471) ++++ pcre_compile.c (Revision 1472) +@@ -1583,30 +1583,30 @@ + int min = 0; + int max = -1; + +-/* Read the minimum value and do a paranoid check: a negative value indicates +-an integer overflow. */ +- +-while (IS_DIGIT(*p)) min = min * 10 + (int)(*p++ - CHAR_0); +-if (min < 0 || min > 65535) ++while (IS_DIGIT(*p)) + { +- *errorcodeptr = ERR5; +- return p; +- } ++ min = min * 10 + (int)(*p++ - CHAR_0); ++ if (min > 65535) ++ { ++ *errorcodeptr = ERR5; ++ return p; ++ } ++ } + +-/* Read the maximum value if there is one, and again do a paranoid on its size. +-Also, max must not be less than min. */ +- + if (*p == CHAR_RIGHT_CURLY_BRACKET) max = min; else + { + if (*(++p) != CHAR_RIGHT_CURLY_BRACKET) + { + max = 0; +- while(IS_DIGIT(*p)) max = max * 10 + (int)(*p++ - CHAR_0); +- if (max < 0 || max > 65535) ++ while(IS_DIGIT(*p)) + { +- *errorcodeptr = ERR5; +- return p; +- } ++ max = max * 10 + (int)(*p++ - CHAR_0); ++ if (max > 65535) ++ { ++ *errorcodeptr = ERR5; ++ return p; ++ } ++ } + if (max < min) + { + *errorcodeptr = ERR4; +@@ -1615,9 +1615,6 @@ + } + } + +-/* Fill in the required variables, and pass back the pointer to the terminating +-'}'. */ +- + *minp = min; + *maxp = max; + return p; diff --git a/pcre.changes b/pcre.changes index e34c30d..0b1be4d 100644 --- a/pcre.changes +++ b/pcre.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +Sat May 3 06:07:56 UTC 2014 - coolo@suse.com + +- update to 0.35: + There have been performance improvements for classes containing non-ASCII + characters and the "auto-possessification" feature has been extended. Other + minor improvements have been implemented and bugs fixed. There is a new callout + feature to enable applications to do detailed stack checks at compile time, to + avoid running out of stack for deeply nested parentheses. The JIT compiler has + been extended with experimental support for ARM-64, MIPS-64, and PPC-LE. +- add pcre-commit1472.patch from SVN to work with gcc49, see + http://bugs.exim.org/show_bug.cgi?id=1463 + ------------------------------------------------------------------- Sun Mar 23 20:50:04 UTC 2014 - tchvatal@suse.com diff --git a/pcre.spec b/pcre.spec index eeba9a2..c45146c 100644 --- a/pcre.spec +++ b/pcre.spec @@ -17,7 +17,7 @@ Name: pcre -Version: 8.34 +Version: 8.35 Release: 0 Summary: A library for Perl-compatible regular expressions License: BSD-3-Clause @@ -33,6 +33,8 @@ Source4: baselibs.conf Patch0: pcre-8.32-visibility.patch #PATCH-FIX-OPENSUSE tchvatal@suse.cz upstream thinks it is good idea to use rpath, taken from RH Patch1: pcre-8.21-multilib.patch +#PATCH-FIX-UPSTREAM http://bugs.exim.org/show_bug.cgi?id=1463 +Patch2: pcre-commit1472.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ @@ -153,6 +155,7 @@ as Perl 5. %setup -q %patch0 -p1 %patch1 -p1 +%patch2 %build # Available JIT archs see sljit/sljitConfig.h