From f1e3c9f9c49fd765dc917bf972d07dac905aceb7f0b004eec962085e99e9512e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= Date: Sun, 30 May 2021 16:19:49 +0000 Subject: [PATCH] Accepting request 895762 from home:AndreasStieger:branches:devel:libraries:c_c++ pcre2 10.37 OBS-URL: https://build.opensuse.org/request/show/895762 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/pcre2?expand=0&rev=51 --- baselibs.conf | 2 +- pcre2-10.36.tar.bz2 | 3 --- pcre2-10.36.tar.bz2.sig | Bin 310 -> 0 bytes pcre2-10.37.tar.bz2 | 3 +++ pcre2-10.37.tar.bz2.sig | Bin 0 -> 310 bytes pcre2-symbol-clash.patch | 44 --------------------------------------- pcre2.changes | 13 ++++++++++++ pcre2.spec | 15 +++++++------ 8 files changed, 24 insertions(+), 56 deletions(-) delete mode 100644 pcre2-10.36.tar.bz2 delete mode 100644 pcre2-10.36.tar.bz2.sig create mode 100644 pcre2-10.37.tar.bz2 create mode 100644 pcre2-10.37.tar.bz2.sig delete mode 100644 pcre2-symbol-clash.patch diff --git a/baselibs.conf b/baselibs.conf index d038d79..0c9d64b 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,4 +1,4 @@ libpcre2-8-0 libpcre2-16-0 libpcre2-32-0 -libpcre2-posix2 +libpcre2-posix3 diff --git a/pcre2-10.36.tar.bz2 b/pcre2-10.36.tar.bz2 deleted file mode 100644 index 88ab66b..0000000 --- a/pcre2-10.36.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:a9ef39278113542968c7c73a31cfcb81aca1faa64690f400b907e8ab6b4a665c -size 1722310 diff --git a/pcre2-10.36.tar.bz2.sig b/pcre2-10.36.tar.bz2.sig deleted file mode 100644 index 248079a6b7516af73047d89d66f3601a8aec8be5cba273d4f8260be77cfc8e48..0000000000000000000000000000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 310 zcmV-60m=S}0W$;u0SEvc79j*h_Kj4#;y<$kn?~iAX5fVT4@1}m0$<8Ui2w=-5SM1) zg!>Oe*l|+`0HzR-guS+Ql4>=+x(yCWH_Y>smtdvu@i>1H#{~?1;#8n@1Ol3;Qt9?b z^j?dqmDx*CGf2F^CFW`Zf5-E2RBX7?7o+8=KnyP|mjf18aBXJYLOKU;;|s=Pa*W>_JSOMp^ ImErP1O-y%=SpWb4 diff --git a/pcre2-10.37.tar.bz2 b/pcre2-10.37.tar.bz2 new file mode 100644 index 0000000..48a8b67 --- /dev/null +++ b/pcre2-10.37.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4d95a96e8b80529893b4562be12648d798b957b1ba1aae39606bbc2ab956d270 +size 1729384 diff --git a/pcre2-10.37.tar.bz2.sig b/pcre2-10.37.tar.bz2.sig new file mode 100644 index 0000000000000000000000000000000000000000000000000000000000000000..333947f062b45e76c57717fc3569170dad444d85a6232e35435d64e98497e95f GIT binary patch literal 310 zcmV-60m=S}0W$;u0SEvc79j*h_Kj4#;y<$kn?~iAX5fVT4@1}m0${FNiU0};5SM1) zg!>Oe*vI|{|3Pt9PKVltkn&&n_<2;-J>4mJ!&f=nUJgtOZH*mWmd2*iQr<8ACJ+yF zl@>3n6U3W(-LdrTq)Ge?z3kF$2O5n|%NFXqtla)P;`3uo?KW`RR7-U?lZyM+eyI>u zDggmHv4~YdJW!ZB)oNQ73xN3NZ0}x}NAkgld>D$UCh*gFOqBO9?m@VA0vzB{-v)D- zjBcpAjc3ZQDI@J99lnkJ#;tu5i?2DYK_>`A%hykvpUK -Date: 2021-04-14 11:42:14.750408048 - -If libpcre2-posix.so makes it into a process image somehow before -libc.so (which is easy: gcc something.c -lpcre2-posix), pcre2's -"regcomp" symbol wins a race over libc's "regcomp" symbol. There are -likely more situations as well, because libc's "regcomp" is _also_ -marked as weak. Anyway, because the functions two are not -behavior-compatible, problems arise. - -To stay ABI compatible, we could make a new library without regcomp etc., -and edit the .pc file to point to the new library, but that would not -capture the case someone uses plain gcc -l without pkg-config. - -Since regcomp is "#defined" to pcre2_regcomp, any programs that were -source-compiled are fine. Removing the reg* symbols from the library -hence only breaks the case of dlsym(libpcre2-posix, "regcomp"), -which, I will argue, is an absolute niche use of the PCRE libraries -and something we are willing to break. - ---- - src/pcre2posix.c | 2 ++ - 1 file changed, 2 insertions(+) - -Index: pcre2-10.36/src/pcre2posix.c -=================================================================== ---- pcre2-10.36.orig/src/pcre2posix.c -+++ pcre2-10.36/src/pcre2posix.c -@@ -185,6 +185,7 @@ This also ensures that the POSIX names a - include pcre2posix.h. It is vital to #undef the macro definitions from - pcre2posix.h! */ - -+#if 0 - #undef regerror - PCRE2POSIX_EXP_DECL size_t regerror(int, const regex_t *, char *, size_t); - PCRE2POSIX_EXP_DEFN size_t PCRE2_CALL_CONVENTION -@@ -218,6 +219,7 @@ regexec(const regex_t *preg, const char - { - return pcre2_regexec(preg, string, nmatch, pmatch, eflags); - } -+#endif - - - diff --git a/pcre2.changes b/pcre2.changes index 1b8bf58..bbd6a61 100644 --- a/pcre2.changes +++ b/pcre2.changes @@ -1,3 +1,16 @@ +------------------------------------------------------------------- +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 diff --git a/pcre2.spec b/pcre2.spec index 83bfba9..6eeb7db 100644 --- a/pcre2.spec +++ b/pcre2.spec @@ -18,7 +18,7 @@ %global _lto_cflags %{_lto_cflags} -ffat-lto-objects Name: pcre2 -Version: 10.36 +Version: 10.37 Release: 0 Summary: A library for Perl-compatible regular expressions License: BSD-3-Clause @@ -31,7 +31,6 @@ 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 -Patch2: pcre2-symbol-clash.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: gcc-c++ @@ -55,7 +54,7 @@ Group: Development/Libraries/C and C++ Requires: libpcre2-16-0 = %{version} Requires: libpcre2-32-0 = %{version} Requires: libpcre2-8-0 = %{version} -Requires: libpcre2-posix2 = %{version} +Requires: libpcre2-posix3 = %{version} Requires: libstdc++-devel %description devel @@ -124,11 +123,11 @@ API. libpcre2-32 supports 32-bit and UTF-32 strings. -%package -n libpcre2-posix2 +%package -n libpcre2-posix3 Summary: A library for Perl-compatible regular expressions Group: System/Libraries -%description -n libpcre2-posix2 +%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. @@ -216,8 +215,8 @@ export LANG=POSIX %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-posix2 -p /sbin/ldconfig -%postun -n libpcre2-posix2 -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 @@ -232,7 +231,7 @@ export LANG=POSIX %license LICENCE %{_libdir}/libpcre2-32.so.* -%files -n libpcre2-posix2 +%files -n libpcre2-posix3 %license LICENCE %{_libdir}/libpcre2-posix.so.*