Accepting request 896172 from devel:libraries:c_c++
OBS-URL: https://build.opensuse.org/request/show/896172 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pcre2?expand=0&rev=21
This commit is contained in:
parent
0050c12a9e
commit
5bce2ad071
@ -1,4 +1,4 @@
|
|||||||
libpcre2-8-0
|
libpcre2-8-0
|
||||||
libpcre2-16-0
|
libpcre2-16-0
|
||||||
libpcre2-32-0
|
libpcre2-32-0
|
||||||
libpcre2-posix2
|
libpcre2-posix3
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:a9ef39278113542968c7c73a31cfcb81aca1faa64690f400b907e8ab6b4a665c
|
|
||||||
size 1722310
|
|
Binary file not shown.
3
pcre2-10.37.tar.bz2
Normal file
3
pcre2-10.37.tar.bz2
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:4d95a96e8b80529893b4562be12648d798b957b1ba1aae39606bbc2ab956d270
|
||||||
|
size 1729384
|
BIN
pcre2-10.37.tar.bz2.sig
Normal file
BIN
pcre2-10.37.tar.bz2.sig
Normal file
Binary file not shown.
@ -1,44 +0,0 @@
|
|||||||
From: Jan Engelhardt <jengelh@inai.de>
|
|
||||||
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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu May 27 12:30:17 UTC 2021 - Andreas Stieger <andreas.stieger@gmx.de>
|
||||||
|
|
||||||
|
- 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 <jengelh@inai.de>
|
Wed Apr 14 09:57:53 UTC 2021 - Jan Engelhardt <jengelh@inai.de>
|
||||||
|
|
||||||
|
15
pcre2.spec
15
pcre2.spec
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
%global _lto_cflags %{_lto_cflags} -ffat-lto-objects
|
||||||
Name: pcre2
|
Name: pcre2
|
||||||
Version: 10.36
|
Version: 10.37
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A library for Perl-compatible regular expressions
|
Summary: A library for Perl-compatible regular expressions
|
||||||
License: BSD-3-Clause
|
License: BSD-3-Clause
|
||||||
@ -31,7 +31,6 @@ Source3: %{name}.keyring
|
|||||||
Source4: baselibs.conf
|
Source4: baselibs.conf
|
||||||
#PATCH-FIX-OPENSUSE tchvatal@suse.cz upstream thinks it is good idea to use rpath, taken from RH
|
#PATCH-FIX-OPENSUSE tchvatal@suse.cz upstream thinks it is good idea to use rpath, taken from RH
|
||||||
Patch1: pcre2-10.10-multilib.patch
|
Patch1: pcre2-10.10-multilib.patch
|
||||||
Patch2: pcre2-symbol-clash.patch
|
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
@ -55,7 +54,7 @@ Group: Development/Libraries/C and C++
|
|||||||
Requires: libpcre2-16-0 = %{version}
|
Requires: libpcre2-16-0 = %{version}
|
||||||
Requires: libpcre2-32-0 = %{version}
|
Requires: libpcre2-32-0 = %{version}
|
||||||
Requires: libpcre2-8-0 = %{version}
|
Requires: libpcre2-8-0 = %{version}
|
||||||
Requires: libpcre2-posix2 = %{version}
|
Requires: libpcre2-posix3 = %{version}
|
||||||
Requires: libstdc++-devel
|
Requires: libstdc++-devel
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
@ -124,11 +123,11 @@ API.
|
|||||||
|
|
||||||
libpcre2-32 supports 32-bit and UTF-32 strings.
|
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
|
Summary: A library for Perl-compatible regular expressions
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
|
|
||||||
%description -n libpcre2-posix2
|
%description -n libpcre2-posix3
|
||||||
The PCRE2 library is a set of functions that implement regular
|
The PCRE2 library is a set of functions that implement regular
|
||||||
expression pattern matching using the same syntax and semantics
|
expression pattern matching using the same syntax and semantics
|
||||||
as Perl 5.
|
as Perl 5.
|
||||||
@ -216,8 +215,8 @@ export LANG=POSIX
|
|||||||
%postun -n libpcre2-16-0 -p /sbin/ldconfig
|
%postun -n libpcre2-16-0 -p /sbin/ldconfig
|
||||||
%post -n libpcre2-32-0 -p /sbin/ldconfig
|
%post -n libpcre2-32-0 -p /sbin/ldconfig
|
||||||
%postun -n libpcre2-32-0 -p /sbin/ldconfig
|
%postun -n libpcre2-32-0 -p /sbin/ldconfig
|
||||||
%post -n libpcre2-posix2 -p /sbin/ldconfig
|
%post -n libpcre2-posix3 -p /sbin/ldconfig
|
||||||
%postun -n libpcre2-posix2 -p /sbin/ldconfig
|
%postun -n libpcre2-posix3 -p /sbin/ldconfig
|
||||||
|
|
||||||
%files -n libpcre2-8-0
|
%files -n libpcre2-8-0
|
||||||
%license COPYING LICENCE
|
%license COPYING LICENCE
|
||||||
@ -232,7 +231,7 @@ export LANG=POSIX
|
|||||||
%license LICENCE
|
%license LICENCE
|
||||||
%{_libdir}/libpcre2-32.so.*
|
%{_libdir}/libpcre2-32.so.*
|
||||||
|
|
||||||
%files -n libpcre2-posix2
|
%files -n libpcre2-posix3
|
||||||
%license LICENCE
|
%license LICENCE
|
||||||
%{_libdir}/libpcre2-posix.so.*
|
%{_libdir}/libpcre2-posix.so.*
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user