From 2e114ab21830b9598d19b66da4f27308495f551c556b8908989cdb7776f7c688 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 17:45:34 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main pcre2 revision dc5d4fdb6ff52f8404fca95261e34951 --- .gitattributes | 23 + baselibs.conf | 4 + pcre2-10.10-multilib.patch | 34 + pcre2-10.42.tar.bz2 | 3 + pcre2-10.42.tar.bz2.sig | Bin 0 -> 310 bytes pcre2.changes | 1373 ++++++++++++++++++++++++++++++++++++ pcre2.keyring | 39 + pcre2.spec | 264 +++++++ 8 files changed, 1740 insertions(+) create mode 100644 .gitattributes create mode 100644 baselibs.conf create mode 100644 pcre2-10.10-multilib.patch create mode 100644 pcre2-10.42.tar.bz2 create mode 100644 pcre2-10.42.tar.bz2.sig create mode 100644 pcre2.changes create mode 100644 pcre2.keyring create mode 100644 pcre2.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..0c9d64b --- /dev/null +++ b/baselibs.conf @@ -0,0 +1,4 @@ +libpcre2-8-0 +libpcre2-16-0 +libpcre2-32-0 +libpcre2-posix3 diff --git a/pcre2-10.10-multilib.patch b/pcre2-10.10-multilib.patch new file mode 100644 index 0000000..b191633 --- /dev/null +++ b/pcre2-10.10-multilib.patch @@ -0,0 +1,34 @@ +From 1d5ce3e2e6341b01609aefab20786a8638fee17a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Tue, 6 Dec 2011 18:44:11 +0100 +Subject: [PATCH] Fix multilib + +Do not set RPATH nor add explicit -L path to compiler. +--- + pcre2-config.in | 12 ------------ + 1 file changed, 12 deletions(-) + +Index: pcre2-10.10/pcre2-config.in +=================================================================== +--- pcre2-10.10.orig/pcre2-config.in 2014-10-17 17:07:57.000000000 +0200 ++++ pcre2-10.10/pcre2-config.in 2015-06-18 20:56:20.000000000 +0200 +@@ -28,19 +28,7 @@ if test $# -eq 0; then + fi + + libR= +-case `uname -s` in +- *SunOS*) +- libR=" -R@libdir@" +- ;; +- *BSD*) +- libR=" -Wl,-R@libdir@" +- ;; +-esac +- + libS= +-if test @libdir@ != /usr/lib ; then +- libS=-L@libdir@ +-fi + + while test $# -gt 0; do + case "$1" in diff --git a/pcre2-10.42.tar.bz2 b/pcre2-10.42.tar.bz2 new file mode 100644 index 0000000..7490eab --- /dev/null +++ b/pcre2-10.42.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8d36cd8cb6ea2a4c2bb358ff6411b0c788633a2a45dabbf1aeb4b701d1b5e840 +size 1799866 diff --git a/pcre2-10.42.tar.bz2.sig b/pcre2-10.42.tar.bz2.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..a0b083bc0fb22d7fcaa35c02a76d1a82bd053fbf1626eeabd466df4d541139ad GIT binary patch literal 310 zcmV-60m=S}0W$;u0SEvc79j*h_Kj4#;y<$kn?~iAX5fVT4@1}m0%Mn8;{XZ?5SM1) zg!>Oe*j4)n|9*djAvbp5^DS*M762ch z=NBZpg%+kX8LKMs>Go+&fm)xZPJ)M%`0|Y+=FBaxxZLhypIor@Cv#yei#vQ# zEHe#WJ~be!NYW#k=ytcRbPV0ZOEhFBpE#5hN)=R6WpV_~%M)8(sxTF(EWj8cliG3( z3pQY{)w(01xmY*B4o$%QZZStvX`tU$tx)B_q50vdhscI6#EsS&rE#b3OgeGVv(zWI z<`@8H1@EHzy}(v$*w}9z6ag;H*Fawj_7ygjBHb`qJK}|EZ + +- pcre2 10.42: + * Fix 10.41 regression that added the default definition of + PCRE2_CALL_CONVENTION to pcre2posix.c instead of pcre2posix.h, + which meant that programs including pcre2posix.h but not pcre2.h + couldn't compile + * Fix an intermittent JIT fault and minor issues + +------------------------------------------------------------------- +Mon Dec 12 08:58:58 UTC 2022 - Dirk Müller + +- switch to pkgconfig(zlib) so that alternative providers can be + used + +------------------------------------------------------------------- +Tue Dec 6 21:30:50 UTC 2022 - Andreas Stieger + +- pcre2 10.41: + * pcre2grep behaves more like GNU grep for multiple patterns that + match more than once on a line + +------------------------------------------------------------------- +Sun Jul 31 06:54:48 UTC 2022 - Stephan Kulow + +- Fix the profiling call to be non-parallel again (fighting spec cleaner) + +------------------------------------------------------------------- +Thu May 5 08:15:44 UTC 2022 - pgajdos@suse.com + +- do not enable jit-sealloc [bsc#1182864] [bsc#1199208] + +------------------------------------------------------------------- +Thu May 5 06:52:30 UTC 2022 - pgajdos@suse.com + +- enable jit for s390x [bsc#1199196] + +------------------------------------------------------------------- +Sat Apr 16 10:50:31 UTC 2022 - Andreas Stieger + +- pcre2 10.40: + * Added support for Bidi_Class and a number of binary Unicode + properties, including Bidi_Control. + * A number of changes to script matching for \p and \P: + speed improvements, add the syntax \p{script:xxx} and + \p{script_extensions:xxx} (synonyms sc and scx), Changed + \p{scriptname} from being the same as \p{sc:scriptname} to + being the same as \p{scx:scriptname}, recognize the standard + Unicode 4-letter abbreviations for script names, implement + Unicode and Perl's "loose matching" rules on property names + +------------------------------------------------------------------- +Fri Nov 5 19:01:43 UTC 2021 - Andreas Stieger + +- pcre2 10.39: + * Fix incorrect detection of alternatives in first character + search in JIT + * Update to Unicode 14.0.0 + +------------------------------------------------------------------- +Sun Oct 24 14:41:00 UTC 2021 - Andreas Stieger + +- pcre2 10.38: + * Following Perl's lead, \K is now locked out in lookaround + assertions by default, but an option is provided to re-enable + the previous behaviour + +------------------------------------------------------------------- +Thu May 27 12:30:17 UTC 2021 - Andreas Stieger + +- pcre2 10.37: + * removal of the actual POSIX names regcomp etc. from the POSIX + wrapper library because these have caused issues for some + applications, replacing pcre2-symbol-clash.patch + * fix a hypothetical NULL dereference + * fix two bugs related to over-large numbers so the behaviour is + now the same as Perl + * Fix propagation of \K back from the full pattern recursion + * Restore single character repetition optimization in JIT + +------------------------------------------------------------------- +Wed Apr 14 09:57:53 UTC 2021 - Jan Engelhardt + +- Remove regcomp, regexec etc. from libpcre2-posix. + (Add pcre2-symbol-clash.patch) + +------------------------------------------------------------------- +Sat Dec 5 12:41:55 UTC 2020 - Andreas Stieger + +- pcre2 10.36: + * add GNU grep's -m (aka --max-count) option to pcre2grep + * unify the handling of substitution strings for both -O and + callouts in pcre2grep, with the addition of $x{...} and + $o{...} to allow for characters whose code points are greater + than 255 in Unicode mode + +------------------------------------------------------------------- +Wed May 13 22:24:30 UTC 2020 - Илья Индиго + +- Refresh spec-file via spec-cleaner. + * Add %make_build and %license macros. +- Update to 10.35 + * https://www.pcre.org/changelog.txt + * Use PCRE2_MATCH_EMPTY flag to detect empty matches in JIT. + * A JIT bug is fixed which allowed to read the fields + of the compiled pattern before its existence is checked. + * Added PCRE2_SUBSTITUTE_LITERAL. + * Avoid some VS compiler warnings. + * Added PCRE2_SUBSTITUTE_MATCHED. + * Added (?* and (?<* as synonms for (*napla: and (*naplb: + to match another regex engine. + * Fix *THEN verbs in lookahead assertions in JIT. + * Added PCRE2_SUBSTITUTE_REPLACEMENT_ONLY. + * The JIT stack should be freed when the low-level stack + allocation fails. + * Changed setting of CMAKE_MODULE_PATH in CMakeLists.txt from SET + to LIST(APPEND...) to allow a setting from the command line + to be included. + * Updated to Unicode 13.0.0. + * CMake build now checks for secure_getenv() and strerror(). + * Restrict the configuration setting for the SELinux compatible + execmem allocator (change 10.30/44) to Linux and NetBSD. + +------------------------------------------------------------------- +Fri Mar 27 16:26:54 UTC 2020 - Marketa Calabkova + +- Resubmit the package (bsc#1167890, jsc#SLE-11608) + +------------------------------------------------------------------- +Tue Nov 26 21:24:43 UTC 2019 - Andreas Schwab + +- Enable JIT on aarch64 + +------------------------------------------------------------------- +Fri Nov 22 19:55:35 UTC 2019 - Andreas Stieger + +- pcre2 10.34: + * implement the documented maximum number of capturing + subpatterns of 65535 + * Improve the invalid utf32 support of the JIT compiler + * Add support for matching in invalid UTF strings to the pcre2_match() + * Give more error detail for invalid UTF-8 when detected in pcre2grep + * support for invalid UTF-8 to pcre2grep. + * Adjust the limit for "must have" code unit searching, in particular, + * increase it substantially for non-anchored patterns. + * Allow (*ACCEPT) to be quantified, because an ungreedy quantifier + with a zero minimum is potentially useful. + * Some changes to the way the minimum subject length is handled + * Check for integer overflow when computing lookbehind lengths + * Implement non-atomic positive lookaround assertions + * Upgraded to Unicode 12.1.0 + * Make pcre2test -C show if libreadline or libedit is supported + * Various bug fixes and improvements + +------------------------------------------------------------------- +Thu May 2 00:36:59 UTC 2019 - Jason Sikes + +- Update to 10.33-RC1 to fix issue with LTO (boo#1133274). + * Callouts from pcre2_substitute() are now available. + + * The POSIX functions are now all called pcre2_regcomp() etc., with wrapper + functions that use the standard POSIX names. However, in pcre2posix.h the POSIX + names are defined as macros. This should help avoid linking with the wrong + library in some environments, while still exporting the POSIX names for + pre-existing programs that use them. + + * Some new options: + + (a) PCRE2_EXTRA_ESCAPED_CR_IS_LF makes \r behave as \n. + + (b) PCRE2_EXTRA_ALT_BSUX enables support for ECMAScript 6's \u{hh...} + construct. + + (c) PCRE2_COPY_MATCHED_SUBJECT causes a copy of a matched subject to be + made, instead of just remembering a pointer. + + * Some new Perl features: + + (a) Perl 5.28's experimental alphabetic names for atomic groups and + lookaround assertions, for example, (*pla:...) and (*atomic:...). + + (b) The new Perl "script run" features (*script_run:...) and + (*atomic_script_run:...) aka (*sr:...) and (*asr:...). + + (c) When PCRE2_UTF is set, allow non-ASCII letters and decimal digits in + capture group names. + + * --disable-percent-zt disables the use of %zu and %td in formatting strings + in pcre2test. They were already automatically disabled for VC and older C + compilers. + + * Some changes related to callouts in pcre2grep: + + (a) Support for running an external program under VMS has been added, in + addition to Windows and fork() support. + + (b) --disable-pcre2grep-callout-fork restricts the callout support in + to the inbuilt echo facility. + +------------------------------------------------------------------- +Wed Apr 24 17:30:36 UTC 2019 - Martin Liška + +- Disable LTO (boo#1133274). + +------------------------------------------------------------------- +Wed Jan 23 12:25:38 UTC 2019 - Bernhard Wiedemann + +- Do not run profiling in parallel for reproducible builds (boo#1040589) + +------------------------------------------------------------------- +Mon Jan 14 16:11:53 CET 2019 - kukuk@suse.de + +- Mark all license files as %license + +------------------------------------------------------------------- +Tue Dec 11 14:31:55 UTC 2018 - Cristian Rodríguez + +- Build with --enable-jit-sealloc option, otherwise when + selinux is enabled or systemd memory protections are on, + programs will fail to work with execmem violations. + +------------------------------------------------------------------- +Thu Oct 25 07:22:21 UTC 2018 - astieger@suse.com + +- pcre2 10.32: + * pcre2grep now supports the inclusion of binary zeros in + patterns that are read from files via the -f option. + * In pcre2_dfa_match(), internal recursive calls no longer use + the stack for local workspace and local ovectors + * Updated to Unicode version 11.0.0. + * (*ACCEPT:ARG), (*FAIL:ARG), and (*COMMIT:ARG) are now supported. + * Add support for \N{U+dddd}, but only in Unicode mode. + * Addesupport for (?^) to unset all imnsx options + +------------------------------------------------------------------- +Fri Jul 20 14:05:01 UTC 2018 - mpluskal@suse.com + +- Drop conditions for old distributions +- Do profile guided build + +------------------------------------------------------------------- +Sun Feb 18 05:15:03 UTC 2018 - avindra@opensuse.org + +- Update to new upstream release 10.31 + * New pcre2_config() options: PCRE2_CONFIG_NEVER_BACKSLASH_C and + PCRE2_CONFIG_COMPILED_WIDTHS. + * New pcre2_pattern_info() option PCRE2_INFO_EXTRAOPTIONS to + retrieve the extra compile time options. + * Public names for all pcre2_compile() error numbers. + * Added PCRE2_CALLOUT_STARTMATCH and PCRE2_CALLOUT_BACKTRACK + bits to a new field callout_flags in callout blocks. +- use https for main site +- cleanup with spec-cleaner + +------------------------------------------------------------------- +Mon Sep 11 18:14:30 UTC 2017 - jengelh@inai.de + +- Update to new upstream release 10.30 + * The main interpreter, pcre2_match(), has been refactored into + a new version that does not use recursive function calls for + remembering backtracking positions. The new implementation + allows backtracking into recursive group calls in patterns, + making it more compatible with Perl. For patterns that have a + lot of backtracking, the heap is now used, and there is + explicit limit on the amount, settable by + pcre2_set_heap_limit(). The "recursion limit" is retained, + but is renamed as "depth limit". + * The new option PCRE2_ENDANCHORED insists that a pattern match + must end at the end of the subject. + * The new option PCRE2_EXTENDED_MORE implements Perl's /xx + feature, and pcre2test is upgraded to support it. Setting + within the pattern by (?xx) is Also supported. + * (?n) can be used to set PCRE2_NO_AUTO_CAPTURE, because Perl + now has this. + * Additional pattern compile options in the compile context are + now available: PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES and + PCRE2_EXTRA_BAD_ESCAPE_IS LITERAL. + * The newline type PCRE2_NEWLINE_NUL is now available. + * The match limit value now also applies to pcre2_dfa_match() + as there are patterns that can use up a lot of resources + without necessarily recursing very deeply. + * Various minor security fixes found by fuzzers: + + bsc#1037165: crash for forward reference in lookbehind with + PCRE2_ANCHORED + + CVE-2017-8786: heap-based buffer overflow write in pcre2test + (bsc#1036942) + + CVE-2017-7186: DoS by triggering an invalid Unicode property + lookup (bsc#1030066) +- Switch source URLs to use HTTP. + +------------------------------------------------------------------- +Sat Aug 5 17:34:26 UTC 2017 - astieger@suse.com + +- fix SLE 11 build + +------------------------------------------------------------------- +Tue May 2 17:28:30 UTC 2017 - astieger@suse.com + +- pcre2grep can now read .gz and .bz2 files directly +- pcre2test is now built to support line editing + +------------------------------------------------------------------- +Thu Feb 16 21:25:42 UTC 2017 - astieger@suse.com + +- pcre2 10.23: + * major re-factoring of the pcre2_compile.c file + * Back references are now permitted in lookbehind assertions when + there are no duplicated group numbers (that is, (?| has not + been used), and, if the reference is by name, there is only one + group of that name. The referenced group must, of course be of + fixed length. + * \g{+} (e.g. \g{+2} ) is now supported. It is a "forward + back reference" and can be useful in repetitions + (compare \g{-} ). Perl does not recognize this syntax. + * pcre2grep now automatically expands its buffer up to a maximum + set by --max-buffer-size. + * The -t option (grand total) has been added to pcre2grep. + * A new function called pcre2_code_copy_with_tables() exists to + copy a compiled pattern along with a private copy of the + character tables that is uses. + +------------------------------------------------------------------- +Tue Feb 7 16:19:22 UTC 2017 - dimstar@opensuse.org + +- Explicitly package %{_docdir}/%{name} to fix build with RPM 4.13. + +------------------------------------------------------------------- +Mon Aug 1 15:24:18 UTC 2016 - astieger@suse.com + +- pcre2 10.22: + * The POSIX wrapper function regcomp() did not used to + support back references and subroutine calls if called with the + REG_NOSUB option. It now does. + * A new function, pcre2_code_copy(), is added, to make a copy of a + compiled pattern. + * Support for string callouts is added to pcre2grep. + * Added the PCRE2_NO_JIT option to pcre2_match(). + * The pcre2_get_error_message() function now returns with a + negative error code if the error number it is given is unknown. + * Several updates have been made to pcre2test and test scripts + * Fix CVE-2016-3191: workspace overflow for (*ACCEPT) with deeply + nested parentheses (boo#971741) + +------------------------------------------------------------------- +Sun Jan 17 14:30:53 UTC 2016 - jengelh@inai.de + +- Update to new upstream release 10.21 +* Improve JIT matching speed of patterns starting with + or *. +* Use memchr() to find the first character in an unanchored match + in 8-bit mode in the interpreter. This gives a significant speed + improvement. +* 10.20 broke the handling of [[:>:]] and [[:<:]] in that + processing them could involve a buffer overflow if the + following character was an opening parenthesis. +* 10.20 also introduced a bug in processing this pattern: + /((?x)(*:0))#(?'/, which was fixed. +* A callout with a string argument containing an opening square + bracket, for example /(?C$[$)(?<]/, was incorrectly processed and + could provoke a buffer overflow. +* A possessively repeated conditional group that could match an empty + string, for example, /(?(R))*+/, was incorrectly compiled. +* The Unicode tables have been updated to Unicode 8.0.0. +* An empty comment (?#) in a pattern was incorrectly processed and + could provoke a buffer overflow. +* Fix infinite recursion in the JIT compiler when certain patterns + /such as (?:|a|){100}x/ are analysed. +* Some patterns with character classes involving [: and \\ were + incorrectly compiled and could cause reading from uninitialized + memory or an incorrect error diagnosis. Examples are: + /[[:\\](?<[::]/ and /[[:\\](?'abc')[a:]. +* A missing closing parenthesis for a callout with a string argument + was not being diagnosed, possibly leading to a buffer overflow. +* If (?R was followed by - or + incorrect behaviour happened instead + of a diagnostic. +* Fixed an issue when \p{Any} inside an xclass did not read the current + character. +* About 80 more fixes, which you can read about in the ChangeLog + shipped with the libpcre2-8-0 package. + +------------------------------------------------------------------- +Tue Jul 14 08:42:04 UTC 2015 - astieger@suse.com + +- PCRE2 10.20: + * Callouts with string arguments and the + pcre2_callout_enumerate() function have been implemented. + * The PCRE2_NEVER_BACKSLASH_C option, which locks out the use of + \C, is added. + * The PCRE2_ALT_CIRCUMFLEX option lets ^ match after a newline at + the end of a subject in multiline mode. + * The way named subpatterns are handled has been refactored. The + previous approach had several bugs. + * The handling of \c in EBCDIC environments has been changed to + conform to the perlebcdic document. (Incompatible change) + * Bugs have been mended, many of them discovered by fuzzers. + +------------------------------------------------------------------- +Thu Jun 18 20:51:45 UTC 2015 - astieger@suse.com + +- PCRE2, a re-working of the original PCRE library to provide an + entirely new API, version 10.10. Not source compatible. +- copy of the pcre package, with the following adjustments: + * required name changes + * adjust pcre-8.21-multilib.patch to pcre2-10.10-multilib.patch + * drop upstreamed pcre-8.32-visibility.patch + * --enable-{utf8,unicode-properties} became --enable-unicode + * drop cpp subpackage + * make test -> check + * enable 32 bit character support + +------------------------------------------------------------------- +Thu Apr 30 22:08:31 UTC 2015 - astieger@suse.com + +- pcre 8.37: + * CVE-2015-2325: Patterns with certain groups specifying a zero + minimum quantifier caused incorrect code to be compiled, + leading to an incorrect memory read. [boo#924960] + * CVE-2015-2326: Specific patterns containing a forward reference + with subroutine calls caused incorrect code to be compiled + [boo#924961] + * CVE-2014-8964: If an assertion condition was quantified with a + minimum of zero, SIGSEGV or other misbehaviour could occur. + [boo#906574] + * further bug fixes as listed in ChangeLog + +------------------------------------------------------------------- +Mon Mar 9 00:43:18 UTC 2015 - p.drouand@gmail.com + +- Update to version 3.16 + * This is primarily a bug-fix release. + * The Unicode data tables have been updated to Unicode 7.0.0. +- Remove pcre-commit1472.patch; fixed on upstream release +- Remove obsolete "Obsoletes" tag + +------------------------------------------------------------------- +Tue Sep 2 07:30:08 UTC 2014 - jengelh@inai.de + +- Improve on RPM group classification +- Remove defunct %gpg_verify (replaced by source validators), + defunct freecode link + +------------------------------------------------------------------- +Thu Aug 28 03:10:39 UTC 2014 - crrodriguez@opensuse.org + +- Harden build with full RELRO as this libraries end linked + to at least one setuid root executable. + +------------------------------------------------------------------- +Mon Jun 16 14:44:43 UTC 2014 - dvaleev@suse.com + +- Enable JIT on ppc64le as well + +------------------------------------------------------------------- +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 + +- Add automake and autoconf as explicit deps as we run autoreconf + +------------------------------------------------------------------- +Sun Mar 23 20:49:02 UTC 2014 - tchvatal@suse.com + +- Add patch pcre-8.21-multilib.patch to fix RPATH issues. + * The patch is taken from RedHat. + +------------------------------------------------------------------- +Sun Mar 23 20:47:05 UTC 2014 - tchvatal@suse.com + +- Clean up with the spec cleaner. Use -j1 in tests as it is not + really thread safe + +------------------------------------------------------------------- +Sun Mar 23 20:35:09 UTC 2014 - tchvatal@suse.com + +- Version bump to 8.34: + * warning fixes + * perl fixes + * unocode6.3.0 support + * gconv support + +------------------------------------------------------------------- +Wed Nov 13 19:06:09 UTC 2013 - sweet_f_a@gmx.de + +- enable tests for all archs +- --enable-jit for sparc + +------------------------------------------------------------------- +Thu Jun 13 16:20:10 UTC 2013 - jengelh@inai.de + +- Update to new upstream release 8.33 +* The Just-In-Time compiler (JIT) now supports all pattern + features, including callouts and the backtracking verbs. In + addition, some bugs are fixed and there are minor performance + enhancements. +- More robust make install call. Provide signature verification + files (avoid depending on gpg-offline due to bootstrap cycle). + +------------------------------------------------------------------- +Sat Jun 8 20:16:10 UTC 2013 - crrodriguez@opensuse.org + +- Ensure the PCRE library and tools are built with large file + support in 32 bit archs. + +------------------------------------------------------------------- +Sun Jan 6 15:40:59 UTC 2013 - p.drouand@gmail.com + +- Update to 8.32 version: + * There is now support for 32-bit character strings and UTF-32. Like the + 16-bit support, this is done by compiling a separate 32-bit library. + * \X now matches a Unicode extended grapheme cluster. + * Case-independent matching of Unicode characters that have more than one + "other case" now makes all three (or more) characters equivalent. This + applies, for example, to Greek Sigma, which has two lowercase versions. + * Unicode character properties are updated to Unicode 6.2.0. + * The EBCDIC support, which had decayed, has had a spring clean. + * A number of JIT optimizations have been added, which give faster JIT + execution speed. In addition, a new direct interface to JIT execution is + available. This bypasses some of the sanity checks of pcre_exec() to give a + noticeable speed-up. + * A number of issues in pcregrep have been fixed, making it more compatible + with GNU grep. In particular, --exclude and --include (and variants) apply + to all files now, not just those obtained from scanning a directory + recursively. In Windows environments, the default action for directories is + now "skip" instead of "read" (which provokes an error). + * If the --only-matching (-o) option in pcregrep is specified multiple + times, each one causes appropriate output. For example, -o1 -o2 outputs the + substrings matched by the 1st and 2nd capturing parentheses. A separating + string can be specified by --om-separator (default empty). + * When PCRE is built via Autotools using a version of gcc that has the + "visibility" feature, it is used to hide internal library functions that are + not part of the public API. +- updated and versionned pcre-visibility.patch to svn trunk + * Modifications on configure.ac and makefile have been merged on upstream release + +------------------------------------------------------------------- +Fri Nov 23 19:13:09 UTC 2012 - jengelh@inai.de + +- Update package descriptions about the differences between the + PCRE library subpackages. + +------------------------------------------------------------------- +Wed Nov 7 13:35:35 UTC 2012 - cgiboudeaux@gmx.com + +- Use the --enable-pcre16 configure flag. + This switch enables 16 bit character support that will be required by Qt5 + +------------------------------------------------------------------- +Fri Aug 17 14:18:53 UTC 2012 - dimstar@opensuse.org + +- Upate to version 8.31: + + The JIT compiler now supports partial matching and the (*MARK) + and (*COMMIT) verbs + + PCRE_INFO_MAXLOOKBEHIND can be used to find the longest + lookbehing in a pattern. + + There should be a performance improvement when using the heap + instead of the stack for recursion + + pcregrep can now be linked with libedit as an alternative to + libreadline + + pcregrep now has a --file-list option where the list of files + to scan is given as a file + + pcregrep now recognizes binary files and there are related + options + + The Unicode tables have been updated to 6.1.0 +- Rebase pcre-visibility.patch. + +------------------------------------------------------------------- +Thu Jul 19 17:18:04 UTC 2012 - jengelh@inai.de + +- Only use --enable-jit on supported architectures; the build will + otherwise fail (e.g. on sparc). + +------------------------------------------------------------------- +Thu May 10 15:59:21 UTC 2012 - afaerber@suse.de + +- Add devel-static package + +------------------------------------------------------------------- +Tue Feb 7 15:10:59 UTC 2012 - crrodriguez@opensuse.org + +- fix baselibs + +------------------------------------------------------------------- +Tue Feb 7 04:40:59 UTC 2012 - crrodriguez@opensuse.org + +- Update to PCRE 8.30, upstream SONAME bump, libpcre1 +- Drop no longer needed ppc patch. +- move library back to %{_libdir} + +------------------------------------------------------------------- +Wed Feb 1 10:44:38 UTC 2012 - dvaleev@suse.com + +- Fix cache-flush on PPC + +------------------------------------------------------------------- +Wed Nov 16 08:17:40 UTC 2011 - coolo@suse.com + +- add libtool as buildrequire to avoid implicit dependency + +------------------------------------------------------------------- +Tue Nov 1 16:16:49 UTC 2011 - crrodriguez@opensuse.org + +- Update to version 8.20 + * too many fixes to list here, see included ChangeLog + * replace pcre-visibility patch with the one I submitted to + upstream for inclusion. + +------------------------------------------------------------------- +Tue Oct 11 22:39:57 UTC 2011 - dmueller@suse.de + +- udpate to 8.13: + * too many fixes to list here, see included ChangeLog + * the Unicode data tables have been updated to Unicode 6.0.0. + +------------------------------------------------------------------- +Mon Sep 19 15:15:41 UTC 2011 - coolo@suse.com + +- remove fragile _service + +------------------------------------------------------------------- +Wed Mar 9 14:20:37 UTC 2011 - coolo@novell.com + +- Update to version 8.12 + + * This release fixes some bugs in pcregrep, one of which caused the tests to fail + on 64-bit big-endian systems. There are no changes to the code of the library. + +- Update to version 8.11 + * A number of bugs in the library and in pcregrep have been fixed. As always, see + ChangeLog for details. The following are the non-bug-fix changes: + + Added --match-limit and --recursion-limit to pcregrep. + + Added an optional parentheses number to the -o and --only-matching options + of pcregrep. + + Changed the way PCRE_PARTIAL_HARD affects the matching of $, \z, \Z, \b, and + \B. + + Added PCRE_ERROR_SHORTUTF8 to make it possible to distinguish between a + bad UTF-8 sequence and one that is incomplete when using PCRE_PARTIAL_HARD. + + Recognize (*NO_START_OPT) at the start of a pattern to set the PCRE_NO_ + START_OPTIMIZE option, which is now allowed at compile time + +------------------------------------------------------------------- +Sat Oct 30 02:15:06 UTC 2010 - cristian.rodriguez@opensuse.org + +- Support GCC visibility, symbol clashes no more. + +------------------------------------------------------------------- +Sun Sep 19 11:03:57 CEST 2010 - vuntz@opensuse.org + +- Update to version 8.10: + + Major additions: + - support for (*MARK) and friends + - PCRE_UCP option, which changes the behaviour of \b, \d, \s, + and \w (and their opposites) so that they make use of Unicode + properties + + Other additions: + - support for \N, which always matches any character other than + newline + - added --line-buffered to pcregrep + + Several small new features and bugfixes +- Changes from version 8.02: + + Update Unicode data tables to Unicode 5.2.0 + + Update the licensing terms in the pcregexp.pas file + + Several bug fixes +- Changes from version 8.01: + + Several bug fixes and build system improvements +- Changes from version 8.00: + + Enhancements: + - remove restrictions on patterns used for partial matching + - give extra information for partial matches + - improve the partial matching process + - add option to make a partial match override a full match + - enhance "study" process by finding a lower bound matching + length + - groups with duplicate numbers may now have duplicated names + without the use of PCRE_DUPNAMES, but they may not have + different names + - add REG_UNGREEDY to the pcreposix interface, which maps to + PCRE_UNGREEDY. + + Several bug fixes +- Drop pcre-7.9.patch: fixed upstream. +- Rearrange spec file to have all the %files sections together, as + well as all the scriptlets together. +- Kill the main package that only included doc files like AUTHORS, + NEWS, and license, and put those files in libpcre0: this really + makes more sense. Therefore, make libpcre0 Provides/Obsoletes + libpcre0. +- We can also remove the other dependencies on the main package, + since everything already depends on libpcre0. +- Remove AutoReqProv: it's default now. +- Remove references to perl 5.005 in descriptons: it's not + mentioned anywhere anymore upstream. + +------------------------------------------------------------------- +Mon Jun 28 06:38:35 UTC 2010 - jengelh@medozas.de + +- use %_smp_mflags + +------------------------------------------------------------------- +Sat Apr 24 10:38:30 UTC 2010 - coolo@novell.com + +- buildrequire pkg-config to fix provides + +------------------------------------------------------------------- +Thu Feb 25 16:49:20 UTC 2010 - prusnak@suse.cz + +- build noarch docs only for >= 11.2 + +------------------------------------------------------------------- +Wed Feb 10 16:16:56 CET 2010 - ms@suse.de + +- fixed license statement according to the conversation + and permissions granted in (bnc #578724) + +------------------------------------------------------------------- +Sat Dec 12 18:38:47 CET 2009 - jengelh@medozas.de + +- add baselibs.conf as a source +- package documentation as noarch + +------------------------------------------------------------------- +Wed Oct 7 12:51:05 UTC 2009 - coolo@novell.com + +- add obsolete/provides for pcre-32bit (bnc#539543) + +------------------------------------------------------------------- +Wed Jun 10 13:03:11 CEST 2009 - coolo@novell.com + +- split package into tools, docs and libraries + +------------------------------------------------------------------- +Fri Jun 5 23:13:22 CEST 2009 - crrodriguez@suse.de + +- disable static libraries, shouldn't be used now + +------------------------------------------------------------------- +Sat May 30 22:02:07 CEST 2009 - dmueller@suse.de + +- fix symlinks to libpcre and libpcreposix to fix the build + +------------------------------------------------------------------- +Wed May 27 18:03:13 CEST 2009 - ms@suse.de + +- moved libpcre and libpcreposix to %{_lib} (bnc #507449) + +------------------------------------------------------------------- +Tue May 5 14:24:17 CEST 2009 - ms@suse.de + +- Release 7.9 11-Apr-09 (bnc #500734) + Mostly bugfixes and tidies with just a couple of minor + functional additions. + +------------------------------------------------------------------- +Wed Jan 7 12:34:56 CET 2009 - olh@suse.de + +- obsolete old -XXbit packages (bnc#437293) + +------------------------------------------------------------------- +Fri Sep 12 01:51:31 CEST 2008 - crrodriguez@suse.de + +- update to PCRE 7.8 + * More bug fixes, plus a performance improvement + in Unicode character property lookup. + see complete changelog at http://www.pcre.org/changelog.txt + + +------------------------------------------------------------------- +Thu Apr 10 12:54:45 CEST 2008 - ro@suse.de + +- added baselibs.conf file to build xxbit packages + for multilib support + +------------------------------------------------------------------- +Fri Feb 1 19:43:16 CET 2008 - crrodriguez@suse.de + +- update to version 7.6 +- The main reason for having this release so soon after 7.5 + is because it fixes a potential buffer overflow problem in pcre_compile() + when run in UTF-8 mode. In addition, the CMake configuration files have been brought up to date. + +------------------------------------------------------------------- +Sun Jan 13 09:08:22 CET 2008 - crrodriguez@suse.de + +- update version 7.5 + 1. Applied a patch from Craig: "This patch makes it possible to 'ignore' + values in parens when parsing an RE using the C++ wrapper." + + 2. Negative specials like \S did not work in character classes in UTF-8 mode. + Characters greater than 255 were excluded from the class instead of being + included. + + 3. The same bug as (2) above applied to negated POSIX classes such as + [:^space:]. + + 4. PCRECPP_STATIC was referenced in pcrecpp_internal.h, but nowhere was it + defined or documented. It seems to have been a typo for PCRE_STATIC, so + I have changed it. + + 5. The construct (?&) was not diagnosed as a syntax error (it referenced the + first named subpattern) and a construct such as (?&a) would reference the + first named subpattern whose name started with "a" (in other words, the + length check was missing). Both these problems are fixed. "Subpattern name + expected" is now given for (?&) (a zero-length name), and this patch also + makes it give the same error for \k'' (previously it complained that that + was a reference to a non-existent subpattern). + + 6. The erroneous patterns (?+-a) and (?-+a) give different error messages; + this is right because (?- can be followed by option settings as well as by + digits. I have, however, made the messages clearer. + + 7. Patterns such as (?(1)a|b) (a pattern that contains fewer subpatterns + than the number used in the conditional) now cause a compile-time error. + This is actually not compatible with Perl, which accepts such patterns, but + treats the conditional as always being FALSE (as PCRE used to), but it + seems to me that giving a diagnostic is better. + + 8. Change "alphameric" to the more common word "alphanumeric" in comments + and messages. + + 9. Fix two occurrences of "backslash" in comments that should have been + "backspace". + + 10. Remove two redundant lines of code that can never be obeyed (their function + was moved elsewhere). + + 11. The program that makes PCRE's Unicode character property table had a bug + which caused it to generate incorrect table entries for sequences of + characters that have the same character type, but are in different scripts. + It amalgamated them into a single range, with the script of the first of + them. In other words, some characters were in the wrong script. There were + thirteen such cases, affecting characters in the following ranges: + + U+002b0 - U+002c1 + U+0060c - U+0060d + U+0061e - U+00612 + U+0064b - U+0065e + U+0074d - U+0076d + U+01800 - U+01805 + U+01d00 - U+01d77 + U+01d9b - U+01dbf + U+0200b - U+0200f + U+030fc - U+030fe + U+03260 - U+0327f + U+0fb46 - U+0fbb1 + U+10450 - U+1049d + + 12. The -o option (show only the matching part of a line) for pcregrep was not + compatible with GNU grep in that, if there was more than one match in a + line, it showed only the first of them. It now behaves in the same way as + GNU grep. + + 13. If the -o and -v options were combined for pcregrep, it printed a blank + line for every non-matching line. GNU grep prints nothing, and pcregrep now + does the same. The return code can be used to tell if there were any + non-matching lines. + + 14. Added --file-offsets and --line-offsets to pcregrep. + + 15. The pattern (?=something)(?R) was not being diagnosed as a potentially + infinitely looping recursion. The bug was that positive lookaheads were not + being skipped when checking for a possible empty match (negative lookaheads + and both kinds of lookbehind were skipped). + + 16. Fixed two typos in the Windows-only code in pcregrep.c, and moved the + inclusion of to before rather than after the definition of + INVALID_FILE_ATTRIBUTES (patch from David Byron). + + 17. Specifying a possessive quantifier with a specific limit for a Unicode + character property caused pcre_compile() to compile bad code, which led at + runtime to PCRE_ERROR_INTERNAL (-14). Examples of patterns that caused this + are: /\p{Zl}{2,3}+/8 and /\p{Cc}{2}+/8. It was the possessive "+" that + caused the error; without that there was no problem. + + 18. Added --enable-pcregrep-libz and --enable-pcregrep-libbz2. + + 19. Added --enable-pcretest-libreadline. + + 20. In pcrecpp.cc, the variable 'count' was incremented twice in + RE::GlobalReplace(). As a result, the number of replacements returned was + double what it should be. I removed one of the increments, but Craig sent a + later patch that removed the other one (the right fix) and added unit tests + that check the return values (which was not done before). + + 21. Several CMake things: + + (1) Arranged that, when cmake is used on Unix, the libraries end up with + the names libpcre and libpcreposix, not just pcre and pcreposix. + + (2) The above change means that pcretest and pcregrep are now correctly + linked with the newly-built libraries, not previously installed ones. + + (3) Added PCRE_SUPPORT_LIBREADLINE, PCRE_SUPPORT_LIBZ, PCRE_SUPPORT_LIBBZ2. + + 22. In UTF-8 mode, with newline set to "any", a pattern such as .*a.*=.b.* + crashed when matching a string such as a\x{2029}b (note that \x{2029} is a + UTF-8 newline character). The key issue is that the pattern starts .*; + this means that the match must be either at the beginning, or after a + newline. The bug was in the code for advancing after a failed match and + checking that the new position followed a newline. It was not taking + account of UTF-8 characters correctly. + + 23. PCRE was behaving differently from Perl in the way it recognized POSIX + character classes. PCRE was not treating the sequence [:...:] as a + character class unless the ... were all letters. Perl, however, seems to + allow any characters between [: and :], though of course it rejects as + unknown any "names" that contain non-letters, because all the known class + names consist only of letters. Thus, Perl gives an error for [[:1234:]], + for example, whereas PCRE did not - it did not recognize a POSIX character + class. This seemed a bit dangerous, so the code has been changed to be + closer to Perl. The behaviour is not identical to Perl, because PCRE will + diagnose an unknown class for, for example, [[:l\ower:]] where Perl will + treat it as [[:lower:]]. However, PCRE does now give "unknown" errors where + Perl does, and where it didn't before. + + 24. Rewrite so as to remove the single use of %n from pcregrep because in some + Windows environments %n is disabled by default. + +------------------------------------------------------------------- +Tue Nov 6 08:15:28 CET 2007 - crrodriguez@suse.de + +- update to version 7.4, since version 7.2, more than 40 bugs were fixed + including multiple vulnerabilities [#325921] . The list of changes is too long + to mention here, see changelog.txt for details. + +------------------------------------------------------------------- +Wed Aug 8 12:46:16 CEST 2007 - ms@suse.de + +- added fix to run ldconfig for libpcre*, Thanks to + Cristian Rodriguez who provided + the patch (#298291) + +------------------------------------------------------------------- +Mon Jul 23 15:22:40 CEST 2007 - ms@suse.de + +- update to version 7.2, fixes bug: (#293752) +- Changes from 7.1 to 7.2 + + 1. If the fr_FR locale cannot be found for test 3, try the "french" locale, + which is apparently normally available under Windows. + + 2. Re-jig the pcregrep tests with different newline settings in an attempt + to make them independent of the local environment's newline setting. + + 3. Add code to configure.ac to remove -g from the CFLAGS default settings. + + 4. Some of the "internals" tests were previously cut out when the link size + was not 2, because the output contained actual offsets. The recent new + "Z" feature of pcretest means that these can be cut out, making the tests + usable with all link sizes. + + 5. Implemented Stan Switzer's goto replacement for longjmp() when not using + stack recursion. This gives a massive performance boost under BSD, but just + a small improvement under Linux. However, it saves one field in the frame + in all cases. + + 6. Added more features from the forthcoming Perl 5.10: + + (a) (?-n) (where n is a string of digits) is a relative subroutine or + recursion call. It refers to the nth most recently opened parentheses. + + (b) (?+n) is also a relative subroutine call; it refers to the nth next + to be opened parentheses. + + (c) Conditions that refer to capturing parentheses can be specified + relatively, for example, (?(-2)... or (?(+3)... + + (d) \K resets the start of the current match so that everything before + is not part of it. + + (e) \k{name} is synonymous with \k and \k'name' (.NET compatible). + + (f) \g{name} is another synonym - part of Perl 5.10's unification of + reference syntax. + + (g) (?| introduces a group in which the numbering of parentheses in each + alternative starts with the same number. + + (h) \h, \H, \v, and \V match horizontal and vertical whitespace. + + 7. Added two new calls to pcre_fullinfo(): PCRE_INFO_OKPARTIAL and + PCRE_INFO_JCHANGED. + + 8. A pattern such as (.*(.)?)* caused pcre_exec() to fail by either not + terminating or by crashing. Diagnosed by Viktor Griph; it was in the code + for detecting groups that can match an empty string. + + 9. A pattern with a very large number of alternatives (more than several + hundred) was running out of internal workspace during the pre-compile + phase, where pcre_compile() figures out how much memory will be needed. A + bit of new cunning has reduced the workspace needed for groups with + alternatives. The 1000-alternative test pattern now uses 12 bytes of + workspace instead of running out of the 4096 that are available. + +10. Inserted some missing (unsigned int) casts to get rid of compiler warnings. + +11. Applied patch from Google to remove an optimization that didn't quite work. + The report of the bug said: + + pcrecpp::RE("a*").FullMatch("aaa") matches, while + pcrecpp::RE("a*?").FullMatch("aaa") does not, and + pcrecpp::RE("a*?\\z").FullMatch("aaa") does again. + +12. If \p or \P was used in non-UTF-8 mode on a character greater than 127 + it matched the wrong number of bytes. + +------------------------------------------------------------------- +Tue May 1 11:02:54 CEST 2007 - ms@suse.de + +- added --enable-unicode-properties configure option to support + UTF-8 character strings in \P, \p, and \X (#269749) + +------------------------------------------------------------------- +Mon Apr 30 10:12:10 CEST 2007 - trenn@suse.de + +- corrected assert compile error + +------------------------------------------------------------------- +Wed Apr 25 13:39:55 CEST 2007 - ms@suse.de + +- update to pcre 7.1 + + 1. Applied Bob Rossi and Daniel G's patches to convert the build system to one + that is more "standard", making use of automake and other Autotools. There + is some re-arrangement of the files and adjustment of comments consequent + on this. + + 2. Part of the patch fixed a problem with the pcregrep tests. The test of -r + for recursive directory scanning broke on some systems because the files + are not scanned in any specific order and on different systems the order + was different. A call to "sort" has been inserted into RunGrepTest for the + approprate test as a short-term fix. In the longer term there may be an + alternative. + + 3. I had an email from Eric Raymond about problems translating some of PCRE's + man pages to HTML (despite the fact that I distribute HTML pages, some + people do their own conversions for various reasons). The problems + concerned the use of low-level troff macros .br and .in. I have therefore + removed all such uses from the man pages (some were redundant, some could + be replaced by .nf/.fi pairs). The 132html script that I use to generate + HTML has been updated to handle .nf/.fi and to complain if it encounters + .br or .in. + + 4. Updated comments in configure.ac that get placed in config.h.in and also + arranged for config.h to be included in the distribution, with the name + config.h.generic, for the benefit of those who have to compile without + Autotools (compare pcre.h, which is now distributed as pcre.h.generic). + + 5. Updated the support (such as it is) for Virtual Pascal, thanks to Stefan + Weber: (1) pcre_internal.h was missing some function renames; (2) updated + makevp.bat for the current PCRE, using the additional files + makevp_c.txt, makevp_l.txt, and pcregexp.pas. + + 6. A Windows user reported a minor discrepancy with test 2, which turned out + to be caused by a trailing space on an input line that had got lost in his + copy. The trailing space was an accident, so I've just removed it. + + 7. Add -Wl,-R... flags in pcre-config.in for *BSD* systems, as I'm told + that is needed. + + 8. Mark ucp_table (in ucptable.h) and ucp_gentype (in pcre_ucp_searchfuncs.c) + as "const" (a) because they are and (b) because it helps the PHP + maintainers who have recently made a script to detect big data structures + in the php code that should be moved to the .rodata section. I remembered + to update Builducptable as well, so it won't revert if ucptable.h is ever + re-created. + + 9. Added some extra #ifdef SUPPORT_UTF8 conditionals into pcretest.c, + pcre_printint.src, pcre_compile.c, pcre_study.c, and pcre_tables.c, in + order to be able to cut out the UTF-8 tables in the latter when UTF-8 + support is not required. This saves 1.5-2K of code, which is important in + some applications. + + Later: more #ifdefs are needed in pcre_ord2utf8.c and pcre_valid_utf8.c + so as not to refer to the tables, even though these functions will never be + called when UTF-8 support is disabled. Otherwise there are problems with a + shared library. + +10. Fixed two bugs in the emulated memmove() function in pcre_internal.h: + + (a) It was defining its arguments as char * instead of void *. + + (b) It was assuming that all moves were upwards in memory; this was true + a long time ago when I wrote it, but is no longer the case. + + The emulated memove() is provided for those environments that have neither + memmove() nor bcopy(). I didn't think anyone used it these days, but that + is clearly not the case, as these two bugs were recently reported. + +11. The script PrepareRelease is now distributed: it calls 132html, CleanTxt, + and Detrail to create the HTML documentation, the .txt form of the man + pages, and it removes trailing spaces from listed files. It also creates + pcre.h.generic and config.h.generic from pcre.h and config.h. In the latter + case, it wraps all the #defines with #ifndefs. This script should be run + before "make dist". + +12. Fixed two fairly obscure bugs concerned with quantified caseless matching + with Unicode property support. + + (a) For a maximizing quantifier, if the two different cases of the + character were of different lengths in their UTF-8 codings (there are + some cases like this - I found 11), and the matching function had to + back up over a mixture of the two cases, it incorrectly assumed they + were both the same length. + + (b) When PCRE was configured to use the heap rather than the stack for + recursion during matching, it was not correctly preserving the data for + the other case of a UTF-8 character when checking ahead for a match + while processing a minimizing repeat. If the check also involved + matching a wide character, but failed, corruption could cause an + erroneous result when trying to check for a repeat of the original + character. + +13. Some tidying changes to the testing mechanism: + + (a) The RunTest script now detects the internal link size and whether there + is UTF-8 and UCP support by running ./pcretest -C instead of relying on + values substituted by "configure". (The RunGrepTest script already did + this for UTF-8.) The configure.ac script no longer substitutes the + relevant variables. + + (b) The debugging options /B and /D in pcretest show the compiled bytecode + with length and offset values. This means that the output is different + for different internal link sizes. Test 2 is skipped for link sizes + other than 2 because of this, bypassing the problem. Unfortunately, + there was also a test in test 3 (the locale tests) that used /B and + failed for link sizes other than 2. Rather than cut the whole test out, + I have added a new /Z option to pcretest that replaces the length and + offset values with spaces. This is now used to make test 3 independent + of link size. (Test 2 will be tidied up later.) + +14. If erroroffset was passed as NULL to pcre_compile, it provoked a + segmentation fault instead of returning the appropriate error message. + +15. In multiline mode when the newline sequence was set to "any", the pattern + ^$ would give a match between the \r and \n of a subject such as "A\r\nB". + This doesn't seem right; it now treats the CRLF combination as the line + ending, and so does not match in that case. It's only a pattern such as ^$ + that would hit this one: something like ^ABC$ would have failed after \r + and then tried again after \r\n. + +16. Changed the comparison command for RunGrepTest from "diff -u" to "diff -ub" + in an attempt to make files that differ only in their line terminators + compare equal. This works on Linux. + +17. Under certain error circumstances pcregrep might try to free random memory + as it exited. This is now fixed, thanks to valgrind. + +19. In pcretest, if the pattern /(?m)^$/g was matched against the string + "abc\r\n\r\n", it found an unwanted second match after the second \r. This + was because its rules for how to advance for /g after matching an empty + string at the end of a line did not allow for this case. They now check for + it specially. + +20. pcretest is supposed to handle patterns and data of any length, by + extending its buffers when necessary. It was getting this wrong when the + buffer for a data line had to be extended. + +21. Added PCRE_NEWLINE_ANYCRLF which is like ANY, but matches only CR, LF, or + CRLF as a newline sequence. + +22. Code for handling Unicode properties in pcre_dfa_exec() wasn't being cut + out by #ifdef SUPPORT_UCP. This did no harm, as it could never be used, but + I have nevertheless tidied it up. + +23. Added some casts to kill warnings from HP-UX ia64 compiler. + +24. Added a man page for pcre-config. + +------------------------------------------------------------------- +Fri Feb 9 10:07:29 CET 2007 - ms@suse.de + +- fixed wrong usage of assert() call + +------------------------------------------------------------------- +Tue Jan 9 11:28:53 CET 2007 - ms@suse.de + +- fixed build for all architectures + +------------------------------------------------------------------- +Mon Jan 8 16:07:02 CET 2007 - ms@suse.de + +- update to new version 7.0 + Changes: As well as a number of bugfixes, there has been a major + refactoring of the compiling code, which makes it easier to add new + features, including some new optimizations. A QuoteMeta function has been + added to the C++ wrapper. There is now a mode in which all Unicode newline + sequences are recognized. Support for the Perl 5.10 syntax for features + that were previously in PCRE but not in Perl (named groups, possessive + quantifiers) has been added. + +------------------------------------------------------------------- +Sat Oct 28 17:50:04 CEST 2006 - meissner@suse.de + +- CXXFLAGS needs RPM_OPT_FLAGS too. + +------------------------------------------------------------------- +Mon Jul 10 16:29:14 CEST 2006 - ms@suse.de + +- update to new version 6.7 +- finally removed evil configure patch +- When UTF-8 mode was not set, PCRE looped when compiling certain patterns + containing an extended class (one that cannot be represented by a bitmap + because it contains high-valued characters or Unicode property items, e.g. + [\pZ]). Almost always one would set UTF-8 mode when processing such a + pattern, but PCRE should not loop if you do not (it no longer does). + [Detail: two cases were found: (a) a repeated subpattern containing an + extended class; (b) a recursive reference to a subpattern that followed a + previous extended class. It wasn't skipping over the extended class + correctly when UTF-8 mode was not set.] +- Applied a patch from the folks at Google to pcrecpp.cc, to fix "another + instance of the 'standard' template library not being so standard". + +------------------------------------------------------------------- +Wed Jan 25 21:30:47 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Thu Jan 12 13:53:17 CET 2006 - mmj@suse.de + +- build with -fstack-protector + +------------------------------------------------------------------- +Thu Dec 1 01:39:04 CET 2005 - ro@suse.de + +- hack libtool core in configure script + since configure.in is too broken for a autoreconf ... + +------------------------------------------------------------------- +Mon Sep 19 17:53:52 CEST 2005 - mmj@suse.de + +- update to the latest version v6.4 + +------------------------------------------------------------------- +Tue Aug 2 11:19:20 CEST 2005 - mmj@suse.de + +- update to the latest version v6.2 + +------------------------------------------------------------------- +Thu Jun 23 13:18:50 CEST 2005 - mmj@suse.de + +- update to latest version v6.1 + +------------------------------------------------------------------- +Mon Jun 13 08:51:51 CEST 2005 - mmj@suse.de + +- add gcc-c++ to #nfb as well + +------------------------------------------------------------------- +Wed Jun 8 23:41:35 CEST 2005 - mmj@suse.de + +- update to latest version v6.0 + +------------------------------------------------------------------- +Mon May 23 11:17:20 CEST 2005 - mmj@suse.de + +- use --enable-utf8 +- use $RPM_OPT_FLAGS + +------------------------------------------------------------------- +Thu Mar 31 17:39:53 CEST 2005 - uli@suse.de + +- ignore test suite errors on ARM + +------------------------------------------------------------------- +Mon Nov 22 17:12:31 CET 2004 - choeger@suse.de + +- update to latest version v5.0 + +------------------------------------------------------------------- +Mon Jun 7 11:40:27 CEST 2004 - choeger@suse.de + +- update to latest version v4.5 + +------------------------------------------------------------------- +Mon Jan 5 15:39:13 CET 2004 - schwab@suse.de + +- Move pcre-config to pcre-devel. + +------------------------------------------------------------------- +Fri Oct 31 17:05:26 CET 2003 - choeger@suse.de + +- Don't build as root + +------------------------------------------------------------------- +Thu Aug 21 15:22:38 CEST 2003 - choeger@suse.de + +- update to v4.4 + +------------------------------------------------------------------- +Fri Aug 1 12:07:27 CEST 2003 - choeger@suse.de + +- disabled Test2, because it is not 64bit arch clean + (contacted author, he knows about that problem) + +------------------------------------------------------------------- +Wed Jul 30 14:56:52 CEST 2003 - choeger@suse.de + +- update to most recent version v4.3 +- splitted into -devel subpackage + +------------------------------------------------------------------- +Fri Dec 6 04:42:15 CET 2002 - coolo@suse.de + +- removed undefined symbols in libpcreposix + +------------------------------------------------------------------- +Tue Sep 17 17:34:28 CEST 2002 - ro@suse.de + +- removed bogus self-provides + +------------------------------------------------------------------- +Fri Apr 5 10:57:15 CEST 2002 - coolo@suse.de + +- fixing autoheader usage +- forward ported %libdir changes from sles7-s390x + +------------------------------------------------------------------- +Tue Jan 22 19:07:26 CET 2002 - choeger@suse.de + +- update to version 3.9 +- added BuildRoot + +------------------------------------------------------------------- +Tue Aug 21 01:11:46 MEST 2001 - mge@suse.de + +- pcre 3.5 + +------------------------------------------------------------------- +Wed Apr 11 22:26:54 CEST 2001 - froh@suse.de + +- suse_update_config + +------------------------------------------------------------------- +Mon Dec 4 12:08:52 MET 2000 - mge@suse.de + +- pcre 3.4 + +------------------------------------------------------------------- +Tue Jun 27 19:41:41 MEST 2000 - mge@suse.de + +- pcre 3.2 + +------------------------------------------------------------------- +Thu Mar 2 12:22:48 CET 2000 - mge@suse.de + +- fixed manpath + +------------------------------------------------------------------- +Sun Feb 13 16:54:53 MET 2000 - mge@suse.de + +- update to 3.1 +- group tag + +------------------------------------------------------------------- +Mon Oct 25 23:38:47 MEST 1999 - mge@suse.de + +- initial SuSE-RPM: changed Makefile to install into /usr + diff --git a/pcre2.keyring b/pcre2.keyring new file mode 100644 index 0000000..2be7332 --- /dev/null +++ b/pcre2.keyring @@ -0,0 +1,39 @@ +This is Philip Hazel's public GPG key. + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1.2.0 (SunOS) + +mQEMBD2z9g0BCACpGWJ4K2mjR6K9nv7/K+HLjJtDO0E0ckudeNjg2JvnuUU7m1bK +87nSklHTSMNiqmuVU5hFAuGiMGBMj31GPpce3VbABdm6TmAJB8ZndvJXyf8lC7Ko +5iZX/gCYU6817UI5pFwYR3MTIUSSxTGqk1y62pYLKUq9keSU5Cew4q1KMwl46Bn3 +SwlfQeST4WGwL2w9b8mWNltBBY23bgzwYu7vFBD4GQnfzJsvMC9lj825wob2nKy5 +CL4bY6tiYUqALzDYaIVCBqJ1Ky1rpPzRcDZUeeF8Ta3njh18Y0KzPEj+Xu5Ksexg +7LUy/2wFzVRtJgqvAFZo43KIOptsj/63zxJjAAkBAbQhUGhpbGlwIEhhemVsIDxw +aDEwQGN1cy5jYW0uYWMudWs+iQEyBBMBAgAcBQI9s/YNAhsDBAsHAwIDFQIDAxYC +AQIeAQIXgAAKCRCXZuCE+w9D2JbrCACBHrxybV+9t3TGR3+uk2QnUuct90a+udcB +cbWgKQgX345ZgwIfyoPKAbG84mN/+SFUN/Ie4ZHZxVsbN//l2P/Osx0CNQBfem4e +HUWegkFGzC5DxQhN5nsJ/GR6pnxG1l/DbNhupNY73oTajWFdi7K8jYfamU/zS/Da +VCwUKxWtGqyEqOxvbdqcjsnTMmLVfXtefx7CbKyhaClPP8Pe4FL+eqyfHJF7uywK +VWlUNmQa4E+ZAK8tkoK9sZAc0ImWwZMumiKZDEpr2D8Ty+Gg2umTS2OMIcbY8QF1 +r6DeubFabdPIe1kn0BGXtdAurhbdJCIbcAEQS0eEeWC4A4LiDprntB1QaGlsaXAg +SGF6ZWwgPHBoMTBAY2FtLmFjLnVrPokBMgQTAQIAHAUCPbaC8QIbAwQLBwMCAxUC +AwMWAgECHgECF4AACgkQl2bghPsPQ9ho5Qf+I2HUhZeXOUneeqSa+cITsIELJMrZ +UWcydY1z+L68yOqURVHB1jF4aC6QSlq0pLjozwF6KfZO5AfN9FvkRQ0DzCEXH48W +OXqzbjzgNxRMdaP5+49Axl0UQuhupGJg66T4FiGnSVBhK8kTURPCSpLLgkCJqNcY +t5zuNwk3e7JvleT59EVpk/kw3a5p9oeKYBln57pHwq+HdPLSCdkedQBKdsbNrazy +qduYEXen4ogsIoTpA9lLH1Xsi9wL+soLAlWXtl/GNa1h7Jpwn41zp1hqIZe1ebIM +dSGbtMEaGJlqgDauYJSl0lkVgaPtZCTmfAf57TsGfD0IckN2XNGLuwb6DLkBCwQ9 +s/eJAQgAuXq2I1VTDB108O0NAB6QKfA2gMHafoj3OcwEUHnJgXrHqjYOpFr0r5lC +YjwMRMvHO7r4jgtwKjGACI/1IE2hiGXkKFOWZFkCf7Qjoi13a78myC/VRwe4uEIs +xdz++w8WfzuC1sYw8d/rlybVzHTfTsKfmFOQamuyLCTm3Kdx/wZyGM7JMmgVn2zF +HWasdID0n7QJFZGR3yEfqis5zq1t3w28AaXlTZG7QtFj9V0cWIhZRjjjVe1biPA8 +Btp+eFkmcat79N9hHbiEiAY3u2qmQCcn1fiBBC0Og09cY4dRyX0/bXUo4n8lHysp +JcL/sIZ7Ahd1LOfg9h+yQfoaey78LQAGKYkBHwQYAQIACQUCPbP3iQIbDAAKCRCX +ZuCE+w9D2P0BCACXsbwFerd4wlnt8PxxQlRGXi1t4EGBFf2zSdgQvIXJ3ntPzcDU ++8hnIWQJhCTZ3PfVmoqB6ZOM1RWI/IcP6b4qVb6vJGI/VxRICraAczw+4bdFxFiB +n2+SyD4MxZg8t66FcH3fHugQqsApHTmtKmahv5BXB+0dPmP/BRUmzxYUv8hdnhHl +91S4R4BDu84DvKYyJK9jlqUl06pvqXrBSNsbWKgAJnmnDe8FaLUk+p0IXeMSavUn +T5E26MRIioxAz/G4FZI8IdO92GHTz82O7/mQMhveAdpspDvpV3M4wnldU425GlxZ +nmq1bbjAU4QVuIS9nkk2GrGx5+N6cYMy8JqG +=EHsz +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pcre2.spec b/pcre2.spec new file mode 100644 index 0000000..e45711a --- /dev/null +++ b/pcre2.spec @@ -0,0 +1,264 @@ +# +# spec file for package pcre2 +# +# Copyright (c) 2022 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects +Name: pcre2 +Version: 10.42 +Release: 0 +Summary: A library for Perl-compatible regular expressions +License: BSD-3-Clause +Group: Development/Libraries/C and C++ +URL: https://www.pcre.org +Source0: https://github.com/PhilipHazel/pcre2/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2 +Source2: https://github.com/PhilipHazel/pcre2/releases/download/%{name}-%{version}/%{name}-%{version}.tar.bz2.sig +Source3: %{name}.keyring +Source4: baselibs.conf +#PATCH-FIX-OPENSUSE tchvatal@suse.cz upstream thinks it is good idea to use rpath, taken from RH +Patch1: pcre2-10.10-multilib.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: libbz2-devel +BuildRequires: libedit-devel +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: pkgconfig(zlib) + +%description +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package devel +Summary: A library for Perl-compatible regular expressions +Group: Development/Libraries/C and C++ +Requires: libpcre2-16-0 = %{version} +Requires: libpcre2-32-0 = %{version} +Requires: libpcre2-8-0 = %{version} +Requires: libpcre2-posix3 = %{version} +Requires: libstdc++-devel + +%description devel +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package devel-static +Summary: A library for Perl-compatible regular expressions +Group: Development/Libraries/C and C++ +Requires: pcre2-devel = %{version} + +%description devel-static +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +This package contains static versions of the PCRE2 libraries. + +%package -n libpcre2-8-0 +Summary: A library for Perl-compatible regular expressions +Group: System/Libraries + +%description -n libpcre2-8-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +This PCRE2 library variant supports 8-bit and UTF-8 strings. +(See also libpcre2-16 and libpcre2-32) + +%package -n libpcre2-16-0 +Summary: A library for Perl-compatible regular expressions +Group: System/Libraries + +%description -n libpcre2-16-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +libpcre2-16 supports 16-bit and UTF-16 strings. + +%package -n libpcre2-32-0 +Summary: A library for Perl-compatible regular expressions +Group: System/Libraries + +%description -n libpcre2-32-0 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +libpcre2-32 supports 32-bit and UTF-32 strings. + +%package -n libpcre2-posix3 +Summary: A library for Perl-compatible regular expressions +Group: System/Libraries + +%description -n libpcre2-posix3 +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +pcre2-posix provides a POSIX-compatible API to the PCRE2 engine. + +%package doc +Summary: A library for Perl-compatible regular expressions +Group: Documentation/HTML +BuildArch: noarch + +%description doc +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%package tools +Summary: A library for Perl-compatible regular expressions +Group: Productivity/Text/Utilities +Recommends: %{name}-doc + +%description tools +The PCRE2 library is a set of functions that implement regular +expression pattern matching using the same syntax and semantics +as Perl 5. + +PCRE2 is a re-working of the original PCRE library to provide an entirely new +API. + +%prep +%autosetup -p1 + +%build +%define _lto_cflags %{nil} +# Available JIT archs see sljit/sljitConfig.h +autoreconf -fiv +export LDFLAGS="-Wl,-z,relro,-z,now" +%configure \ +%ifarch %{ix86} x86_64 aarch64 %{arm} ppc ppc64 ppc64le mips sparc s390x + --enable-jit \ +%endif + --enable-static \ + --with-link-size=2 \ + --with-match-limit=10000000 \ + --enable-newline-is-lf \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-pcre2grep-libz \ + --enable-pcre2grep-libbz2 \ + --enable-pcre2test-libedit \ + --enable-unicode + +%if 0%{?do_profiling} + %make_build CFLAGS="%{optflags} %{cflags_profile_generate}" + export LANG=POSIX + # do not run profiling in parallel for reproducible builds (boo#1040589 boo#1102408) + %make_build -j1 CFLAGS="%{optflags} %{cflags_profile_generate}" check + %make_build clean + %make_build CFLAGS="%{optflags} %{cflags_profile_feedback}" +%else + %make_build CFLAGS="%{optflags}" +%endif + +%install +%make_install +mkdir -p %{buildroot}/%{_defaultdocdir} +mv %{buildroot}%{_datadir}/doc/pcre2 %{buildroot}/%{_defaultdocdir}/pcre2-doc +#empty dependecy_libs +find %{buildroot} -type f -name "*.la" -delete -print + +%check +export LANG=POSIX +%make_build check -j1 + +%post -n libpcre2-8-0 -p /sbin/ldconfig +%postun -n libpcre2-8-0 -p /sbin/ldconfig +%post -n libpcre2-16-0 -p /sbin/ldconfig +%postun -n libpcre2-16-0 -p /sbin/ldconfig +%post -n libpcre2-32-0 -p /sbin/ldconfig +%postun -n libpcre2-32-0 -p /sbin/ldconfig +%post -n libpcre2-posix3 -p /sbin/ldconfig +%postun -n libpcre2-posix3 -p /sbin/ldconfig + +%files -n libpcre2-8-0 +%license COPYING LICENCE +%doc AUTHORS ChangeLog NEWS README +%{_libdir}/libpcre2-8.so.* + +%files -n libpcre2-16-0 +%license LICENCE +%{_libdir}/libpcre2-16.so.* + +%files -n libpcre2-32-0 +%license LICENCE +%{_libdir}/libpcre2-32.so.* + +%files -n libpcre2-posix3 +%license LICENCE +%{_libdir}/libpcre2-posix.so.* + +%files tools +%license LICENCE +%{_bindir}/pcre2grep +%{_bindir}/pcre2test +%{_mandir}/man1/pcre2grep.1%{?ext_man} +%{_mandir}/man1/pcre2test.1%{?ext_man} + +%files doc +%license COPYING LICENCE +%doc AUTHORS ChangeLog NEWS README +%doc doc/html doc/*.txt +%doc %{_defaultdocdir}/pcre2-doc + +%files devel +%license LICENCE +%{_bindir}/pcre2-config +%{_includedir}/* +%{_libdir}/*.so +%{_libdir}/pkgconfig/libpcre2-8.pc +%{_libdir}/pkgconfig/libpcre2-16.pc +%{_libdir}/pkgconfig/libpcre2-32.pc +%{_libdir}/pkgconfig/libpcre2-posix.pc +%{_mandir}/man1/pcre2-config.1%{?ext_man} +%{_mandir}/man3/*%{ext_man} + +%files devel-static +%{_libdir}/*.a + +%changelog