diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..63bd16e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/pcre2-10.23.tar.bz2 diff --git a/.pcre2.metadata b/.pcre2.metadata new file mode 100644 index 0000000..1a47dd6 --- /dev/null +++ b/.pcre2.metadata @@ -0,0 +1 @@ +7d2a91609d298a77f8093775209b44b143fdc149 SOURCES/pcre2-10.23.tar.bz2 diff --git a/README.md b/README.md deleted file mode 100644 index 98f42b4..0000000 --- a/README.md +++ /dev/null @@ -1,4 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/pcre2-10.10-Fix-multilib.patch b/SOURCES/pcre2-10.10-Fix-multilib.patch new file mode 100644 index 0000000..89c7d80 --- /dev/null +++ b/SOURCES/pcre2-10.10-Fix-multilib.patch @@ -0,0 +1,39 @@ +From 8b6b10229201e5b148979a24e06c640dbbcfbad9 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Fri, 20 Feb 2015 14:34:26 +0100 +Subject: [PATCH] Fix multilib +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Do not set RPATH nor add explicit -L path to compiler. + +Signed-off-by: Petr Písař + +diff --git a/pcre2-config.in b/pcre2-config.in +index 932160e..dbef5e5 100644 +--- a/pcre2-config.in ++++ b/pcre2-config.in +@@ -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 +-- +2.1.0 + diff --git a/SOURCES/pcre2-10.23-Check-malloc-returns-in-pcre2test.patch b/SOURCES/pcre2-10.23-Check-malloc-returns-in-pcre2test.patch new file mode 100644 index 0000000..d42232a --- /dev/null +++ b/SOURCES/pcre2-10.23-Check-malloc-returns-in-pcre2test.patch @@ -0,0 +1,105 @@ +From 86c1fb487cd84b1971d4446e58ddb1602c95fdc3 Mon Sep 17 00:00:00 2001 +From: ph10 +Date: Thu, 23 Feb 2017 17:05:43 +0000 +Subject: [PATCH] Check malloc returns in pcre2test. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@669 6239d852-aaf2-0410-a92c-79f79f948069 + +Petr Písař: Ported to 10.23. +--- + ChangeLog | 9 +++++++++ + configure.ac | 6 +++--- + src/pcre2.h | 6 +++--- + src/pcre2test.c | 22 +++++++++++++++++++--- + testdata/testinput2 | 3 +++ + testdata/testoutput2 | 4 ++++ + 6 files changed, 41 insertions(+), 9 deletions(-) + +diff --git a/src/pcre2test.c b/src/pcre2test.c +index 241c22c..01457e8 100644 +--- a/src/pcre2test.c ++++ b/src/pcre2test.c +@@ -1365,8 +1365,7 @@ are supported. */ + (test_mode == PCRE8_MODE && G(x,8)->f r (y)) || \ + (test_mode == PCRE16_MODE && G(x,16)->f r (y)) || \ + (test_mode == PCRE32_MODE && G(x,32)->f r (y))) +- +- ++ + + /* ----- Two out of three modes are supported ----- */ + +@@ -1775,7 +1774,7 @@ the three different cases. */ + #define TESTFLD(x,f,r,y) ( \ + (test_mode == G(G(PCRE,BITONE),_MODE) && G(x,BITONE)->f r (y)) || \ + (test_mode == G(G(PCRE,BITTWO),_MODE) && G(x,BITTWO)->f r (y))) +- ++ + + #endif /* Two out of three modes */ + +@@ -6169,7 +6168,16 @@ if ((pat_patctl.control & CTL_POSIX) != 0) + if (msg[0] == 0) fprintf(outfile, "\n"); + + if (dat_datctl.oveccount > 0) ++ { + pmatch = (regmatch_t *)malloc(sizeof(regmatch_t) * dat_datctl.oveccount); ++ if (pmatch == NULL) ++ { ++ fprintf(outfile, "** Failed to get memory for recording matching " ++ "information (size set = %du)\n", dat_datctl.oveccount); ++ return PR_OK; ++ } ++ } ++ + if ((dat_datctl.options & PCRE2_NOTBOL) != 0) eflags |= REG_NOTBOL; + if ((dat_datctl.options & PCRE2_NOTEOL) != 0) eflags |= REG_NOTEOL; + if ((dat_datctl.options & PCRE2_NOTEMPTY) != 0) eflags |= REG_NOTEMPTY; +@@ -6305,6 +6313,14 @@ else + PCRE2_MATCH_DATA_CREATE(match_data, max_oveccount, NULL); + } + ++if (CASTVAR(void *, match_data) == NULL) ++ { ++ fprintf(outfile, "** Failed to get memory for recording matching " ++ "information (size requested: %d)\n", dat_datctl.oveccount); ++ max_oveccount = 0; ++ return PR_OK; ++ } ++ + /* Replacement processing is ignored for DFA matching. */ + + if (dat_datctl.replacement[0] != 0 && (dat_datctl.control & CTL_DFA) != 0) +diff --git a/testdata/testinput2 b/testdata/testinput2 +index a700d5a..921d83c 100644 +--- a/testdata/testinput2 ++++ b/testdata/testinput2 +@@ -4969,4 +4969,7 @@ a)"xI + + /(?a)(?b)\g{b}\g{a}\g{a}\g{a}\g{a}(?xx)(?zz)/I,dupnames + ++// ++ \=ovector=7777777777 ++ + # End of testinput2 +diff --git a/testdata/testoutput2 b/testdata/testoutput2 +index ce8c667..9862ea3 100644 +--- a/testdata/testoutput2 ++++ b/testdata/testoutput2 +@@ -15479,6 +15479,10 @@ First code unit = 'a' + Last code unit = 'z' + Subject length lower bound = 11 + ++// ++ \=ovector=7777777777 ++** Invalid value in 'ovector=7777777777' ++ + # End of testinput2 + Error -63: PCRE2_ERROR_BADDATA (unknown error number) + Error -62: bad serialized data +-- +2.7.4 + diff --git a/SOURCES/pcre2-10.23-Fix-32-bit-non-UTF-property-test-crash.patch b/SOURCES/pcre2-10.23-Fix-32-bit-non-UTF-property-test-crash.patch new file mode 100644 index 0000000..e9647ad --- /dev/null +++ b/SOURCES/pcre2-10.23-Fix-32-bit-non-UTF-property-test-crash.patch @@ -0,0 +1,123 @@ +From be14c2f3f01dc2b6b574b3a86536ee8194945f7f Mon Sep 17 00:00:00 2001 +From: ph10 +Date: Fri, 24 Feb 2017 18:25:32 +0000 +Subject: [PATCH] Fix 32-bit non-UTF property test crash. +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@670 6239d852-aaf2-0410-a92c-79f79f948069 + +Petr Písař: Ported to 10.23. + +diff --git a/src/pcre2_internal.h b/src/pcre2_internal.h +index 6a8774c..720bbc9 100644 +--- a/src/pcre2_internal.h ++++ b/src/pcre2_internal.h +@@ -1774,10 +1774,17 @@ typedef struct { + /* UCD access macros */ + + #define UCD_BLOCK_SIZE 128 +-#define GET_UCD(ch) (PRIV(ucd_records) + \ ++#define REAL_GET_UCD(ch) (PRIV(ucd_records) + \ + PRIV(ucd_stage2)[PRIV(ucd_stage1)[(int)(ch) / UCD_BLOCK_SIZE] * \ + UCD_BLOCK_SIZE + (int)(ch) % UCD_BLOCK_SIZE]) + ++#if PCRE2_CODE_UNIT_WIDTH == 32 ++#define GET_UCD(ch) ((ch > MAX_UTF_CODE_POINT)? \ ++ PRIV(dummy_ucd_record) : REAL_GET_UCD(ch)) ++#else ++#define GET_UCD(ch) REAL_GET_UCD(ch) ++#endif ++ + #define UCD_CHARTYPE(ch) GET_UCD(ch)->chartype + #define UCD_SCRIPT(ch) GET_UCD(ch)->script + #define UCD_CATEGORY(ch) PRIV(ucp_gentype)[UCD_CHARTYPE(ch)] +@@ -1834,6 +1841,9 @@ extern const uint8_t PRIV(utf8_table4)[]; + #define _pcre2_default_compile_context PCRE2_SUFFIX(_pcre2_default_compile_context_) + #define _pcre2_default_match_context PCRE2_SUFFIX(_pcre2_default_match_context_) + #define _pcre2_default_tables PCRE2_SUFFIX(_pcre2_default_tables_) ++#if PCRE2_CODE_UNIT_WIDTH == 32 ++#define _pcre2_dummy_ucd_record PCRE2_SUFFIX(_pcre2_dummy_ucd_record_) ++#endif + #define _pcre2_hspace_list PCRE2_SUFFIX(_pcre2_hspace_list_) + #define _pcre2_vspace_list PCRE2_SUFFIX(_pcre2_vspace_list_) + #define _pcre2_ucd_caseless_sets PCRE2_SUFFIX(_pcre2_ucd_caseless_sets_) +@@ -1858,6 +1868,9 @@ extern const uint32_t PRIV(hspace_list)[]; + extern const uint32_t PRIV(vspace_list)[]; + extern const uint32_t PRIV(ucd_caseless_sets)[]; + extern const ucd_record PRIV(ucd_records)[]; ++#if PCRE2_CODE_UNIT_WIDTH == 32 ++extern const ucd_record PRIV(dummy_ucd_record)[]; ++#endif + extern const uint8_t PRIV(ucd_stage1)[]; + extern const uint16_t PRIV(ucd_stage2)[]; + extern const uint32_t PRIV(ucp_gbtable)[]; +diff --git a/src/pcre2_ucd.c b/src/pcre2_ucd.c +index 116f537..56aa29d 100644 +--- a/src/pcre2_ucd.c ++++ b/src/pcre2_ucd.c +@@ -41,6 +41,20 @@ const uint32_t PRIV(ucd_caseless_sets)[] = {0}; + + const char *PRIV(unicode_version) = "8.0.0"; + ++/* If the 32-bit library is run in non-32-bit mode, character values ++greater than 0x10ffff may be encountered. For these we set up a ++special record. */ ++ ++#if PCRE2_CODE_UNIT_WIDTH == 32 ++const ucd_record PRIV(dummy_ucd_record)[] = {{ ++ ucp_Common, /* script */ ++ ucp_Cn, /* type unassigned */ ++ ucp_gbOther, /* grapheme break property */ ++ 0, /* case set */ ++ 0, /* other case */ ++ }}; ++#endif ++ + /* When recompiling tables with a new Unicode version, please check the + types in this structure definition from pcre2_internal.h (the actual + field names will be different): +diff --git a/testdata/testinput12 b/testdata/testinput12 +index c3b2bfc..decfe82 100644 +--- a/testdata/testinput12 ++++ b/testdata/testinput12 +@@ -360,4 +360,7 @@ + + /[\s[:^ascii:]]/B,ucp + ++/\pP/ucp ++ \x{7fffffff}\=no_jit ++ + # End of testinput12 +diff --git a/testdata/testoutput12-16 b/testdata/testoutput12-16 +index 3b5a0cd..41e0a48 100644 +--- a/testdata/testoutput12-16 ++++ b/testdata/testoutput12-16 +@@ -1415,4 +1415,10 @@ No match + End + ------------------------------------------------------------------ + ++/\pP/ucp ++ \x{7fffffff}\=no_jit ++** Character \x{7fffffff} is greater than 0xffff and UTF-16 mode is not enabled. ++** Truncation will probably give the wrong result. ++No match ++ + # End of testinput12 +diff --git a/testdata/testoutput12-32 b/testdata/testoutput12-32 +index 1496159..e9130b9 100644 +--- a/testdata/testoutput12-32 ++++ b/testdata/testoutput12-32 +@@ -1409,4 +1409,8 @@ No match + End + ------------------------------------------------------------------ + ++/\pP/ucp ++ \x{7fffffff}\=no_jit ++No match ++ + # End of testinput12 +-- +2.7.4 + diff --git a/SPECS/pcre2.spec b/SPECS/pcre2.spec new file mode 100644 index 0000000..37285ce --- /dev/null +++ b/SPECS/pcre2.spec @@ -0,0 +1,360 @@ +# This is stable release: +#%%global rcversion RC1 +Name: pcre2 +Version: 10.23 +Release: %{?rcversion:0.}2%{?rcversion:.%rcversion}%{?dist} +%global myversion %{version}%{?rcversion:-%rcversion} +Summary: Perl-compatible regular expression library +Group: System Environment/Libraries +# the library: BSD +# pcre2test (linked to GNU readline): BSD (linked to GPLv3+) +# COPYING: see LICENCE file +# LICENSE: BSD text and declares Public Domain +# for testdata +#Not distributed in binary package +# aclocal.m4: FSFULLR and GPLv2+ with exception +# ar-lib: GPLv2+ with exception +# autotools: GPLv3+ with exception +# compile: GPLv2+ with exception +# config.sub: GPLv3+ with exception +# depcomp: GPLv2+ with exception +# install-sh: MIT +# ltmain.sh: GPLv2+ with exception and GPLv3+ with +# exception and GPLv3+ +# m4/ax_pthread.m4: GPLv3+ with exception +# m4/libtool.m4: FSFULLR and GPLv2+ with exception +# m4/ltoptions.m4: FSFULLR +# m4/ltsugar.m4: FSFULLR +# m4/ltversion.m4: FSFULLR +# m4/lt~obsolete.m4: FSFULLR +# m4/pcre2_visibility.m4: FSFULLR +# missing: GPLv2+ with exception +# test-driver: GPLv2+ with exception +# testdata: Public Domain +License: BSD +URL: http://www.pcre.org/ +Source: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%{?rcversion:Testing/}%{name}-%{myversion}.tar.bz2 +# Do no set RPATH if libdir is not /usr/lib +Patch0: pcre2-10.10-Fix-multilib.patch +# Handle memmory allocation failures in pcre2test tool, in upstream after 10.23 +Patch1: pcre2-10.23-Check-malloc-returns-in-pcre2test.patch +# Fix a compiler warning, proposed to upstream but not portable before ISO C99 +# Fix a crash when finding a Unicode property for a character with a code +# point greater than 0x10ffff in UTF-32 library while UTF mode is disabled, +# upstream bug #2052, in upstream after 10.23 +Patch2: pcre2-10.23-Fix-32-bit-non-UTF-property-test-crash.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: coreutils +BuildRequires: gcc +BuildRequires: libtool +BuildRequires: make +BuildRequires: readline-devel + +%description +PCRE2 is a re-working of the original PCRE (Perl-compatible regular +expression) library to provide an entirely new API. + +PCRE2 is written in C, and it has its own API. There are three sets of +functions, one for the 8-bit library, which processes strings of bytes, one +for the 16-bit library, which processes strings of 16-bit values, and one for +the 32-bit library, which processes strings of 32-bit values. There are no C++ +wrappers. This package provides support for strings in 8-bit and UTF-8 +encodings. Install %{name}-utf16 or %{name}-utf32 packages for the other ones. + +The distribution does contain a set of C wrapper functions for the 8-bit +library that are based on the POSIX regular expression API (see the pcre2posix +man page). These can be found in a library called libpcre2posix. Note that +this just provides a POSIX calling interface to PCRE2; the regular expressions +themselves still follow Perl syntax and semantics. The POSIX API is +restricted, and does not give full access to all of PCRE2's facilities. + +%package utf16 +Summary: UTF-16 variant of PCRE2 +Group: Development/Libraries +Conflicts: %{name}%{?_isa} < 10.21-4 + +%description utf16 +This is PCRE2 library working on UTF-16 strings. + +%package utf32 +Summary: UTF-32 variant of PCRE2 +Group: Development/Libraries +Conflicts: %{name}%{?_isa} < 10.21-4 + +%description utf32 +This is PCRE2 library working on UTF-32 strings. + +%package devel +Summary: Development files for %{name} +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: %{name}-utf16%{?_isa} = %{version}-%{release} +Requires: %{name}-utf32%{?_isa} = %{version}-%{release} +Requires: gcc + +%description devel +Development files (headers, libraries for dynamic linking, documentation) +for %{name}. The header file for the POSIX-style functions is called +pcre2posix.h. + +%package static +Summary: Static library for %{name} +Group: Development/Libraries +Requires: %{name}-devel%{_isa} = %{version}-%{release} + +%description static +Library for static linking for %{name}. + +%package tools +Summary: Auxiliary utilities for %{name} +# pcre2test (linked to GNU readline): BSD (linked to GPLv3+) +License: BSD and GPLv3+ +Group: Development/Tools +Requires: %{name}%{_isa} = %{version}-%{release} + +%description tools +Utilities demonstrating PCRE2 capabilities like pcre2grep or pcre2test. + +%prep +%setup -q -n %{name}-%{myversion} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +# Because of multilib patch +libtoolize --copy --force +autoreconf -vif + +%build +# There is a strict-aliasing problem on PPC64, bug #881232 +%ifarch ppc64 +%global optflags %{optflags} -fno-strict-aliasing +%endif +%configure \ +%ifarch s390 s390x sparc64 sparcv9 riscv64 + --disable-jit \ + --disable-pcre2grep-jit \ +%else + --enable-jit \ + --enable-pcre2grep-jit \ +%endif + --disable-bsr-anycrlf \ + --disable-coverage \ + --disable-ebcdic \ + --disable-fuzz-support \ + --disable-never-backslash-C \ + --enable-newline-is-lf \ + --enable-pcre2-8 \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-pcre2grep-callout \ + --enable-pcre2grep-jit \ + --disable-pcre2grep-libbz2 \ + --disable-pcre2grep-libz \ + --disable-pcre2test-libedit \ + --enable-pcre2test-libreadline \ + --disable-rebuild-chartables \ + --enable-shared \ + --enable-stack-for-recursion \ + --enable-static \ + --enable-unicode \ + --disable-valgrind +make %{?_smp_mflags} + +%install +make install DESTDIR=$RPM_BUILD_ROOT +# Get rid of unneeded *.la files +rm -f $RPM_BUILD_ROOT%{_libdir}/*.la +# These are handled by %%doc in %%files +rm -rf $RPM_BUILD_ROOT%{_docdir}/pcre2 + +%check +make %{?_smp_mflags} check VERBOSE=yes + +%post -p /sbin/ldconfig +%postun -p /sbin/ldconfig + +%post utf16 -p /sbin/ldconfig +%postun utf16 -p /sbin/ldconfig + +%post utf32 -p /sbin/ldconfig +%postun utf32 -p /sbin/ldconfig + +%files +%{_libdir}/libpcre2-8.so.* +%{_libdir}/libpcre2-posix.so.* +%{!?_licensedir:%global license %%doc} +%license COPYING LICENCE +%doc AUTHORS ChangeLog NEWS + +%files utf16 +%{_libdir}/libpcre2-16.so.* +%license COPYING LICENCE +%doc AUTHORS ChangeLog NEWS + +%files utf32 +%{_libdir}/libpcre2-32.so.* +%license COPYING LICENCE +%doc AUTHORS ChangeLog NEWS + +%files devel +%{_libdir}/*.so +%{_libdir}/pkgconfig/* +%{_includedir}/*.h +%{_mandir}/man1/pcre2-config.* +%{_mandir}/man3/* +%{_bindir}/pcre2-config +%doc doc/*.txt doc/html +%doc README HACKING ./src/pcre2demo.c + +%files static +%{_libdir}/*.a +%{!?_licensedir:%global license %%doc} +%license COPYING LICENCE + +%files tools +%{_bindir}/pcre2grep +%{_bindir}/pcre2test +%{_mandir}/man1/pcre2grep.* +%{_mandir}/man1/pcre2test.* + +%changelog +* Mon Feb 27 2017 Petr Pisar - 10.23-2 +- Handle memmory allocation failures in pcre2test tool +- Fix a crash when finding a Unicode property for a character with a code + point greater than 0x10ffff in UTF-32 library while UTF mode is disabled + (upstream bug #2052) + +* Tue Feb 14 2017 Petr Pisar - 10.23-1 +- 10.23 bump + +* Sat Feb 11 2017 Fedora Release Engineering - 10.23-0.1.RC1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Jan 17 2017 Petr Pisar - 10.23-0.1.RC1 +- 10.23-RC1 bump + +* Thu Jan 12 2017 Igor Gnatenko - 10.22-10.1 +- Rebuild for readline 7.x + +* Thu Jan 12 2017 Petr Pisar - 10.22-10 +- Fix an out-of-bound read in pcre2test tool within POSIX mode + (upstream bug #2008) + +* Tue Jan 03 2017 Petr Pisar - 10.22-9 +- Fix compiling a class with UCP and without UTF + +* Fri Dec 16 2016 Petr Pisar - 10.22-8 +- Fix a crash when doing an extended substitution for \p, \P, or \X + (upstream bug #1977) +- Fix a crash in substitution if starting offest was specified beyond the + subject end (upstream bug #1992) + +* Fri Dec 09 2016 Petr Pisar - 10.22-7 +- Fix pcre2-config --libs-posix output (upstream bug #1924) +- Fix a memory leak and a typo in a documentation (upstream bug #1973) +- Fix a buffer overflow in partial match test for CRLF in an empty buffer + (upstream bug #1975) +- Fix a crash in pcre2test when displaying a wide character with a set locate + (upstream bug #1976) + +* Tue Nov 08 2016 Petr Pisar - 10.22-6 +- Fix faulty auto-anchoring patterns when .* is inside an assertion + +* Mon Oct 24 2016 Petr Pisar - 10.22-5 +- Document assert capture limitation (upstream bug #1887) +- Ignore offset modifier in pcre2test in POSIX mode (upstream bug #1898) + +* Wed Oct 19 2016 Richard W.M. Jones <@redhat.com> - 10.22-4 +- Disable the JIT on riscv64. + +* Wed Oct 19 2016 Petr Pisar - 10.22-3 +- Fix displaying a callout position in pcretest output with an escape sequence + greater than \x{ff} +- Fix pcrepattern(3) documentation +- Fix miscopmilation of conditionals when a group name start with "R" + (upstream bug #1873) +- Fix internal option documentation in pcre2pattern(3) (upstream bug #1875) +- Fix optimization bugs for patterns starting with lookaheads + (upstream bug #1882) + +* Mon Aug 29 2016 Petr Pisar - 10.22-2 +- Fix matching characters above 255 when a negative character type was used + without enabled UCP in a positive class (upstream bug #1866) + +* Fri Jul 29 2016 Petr Pisar - 10.22-1 +- 10.22 bump + +* Thu Jun 30 2016 Petr Pisar - 10.22-0.1.RC1 +- 10.22-RC1 bump +- libpcre2-posix library changed ABI +- Fix register overwite in JIT when SSE2 acceleration is enabled +- Correct pcre2unicode(3) documentation + +* Mon Jun 20 2016 Petr Pisar - 10.21-6 +- Fix repeated pcregrep output if -o with -M options were used and the match + extended over a line boundary (upstream bug #1848) + +* Fri Jun 03 2016 Petr Pisar - 10.21-5 +- Fix a race in JIT locking condition +- Fix an ovector check in JIT test program +- Enable JIT in the pcre2grep tool + +* Mon Mar 07 2016 Petr Pisar - 10.21-4 +- Ship README in devel as it covers API and build, not general info +- Move UTF-16 and UTF-32 libraries into pcre-ut16 and pcre-32 subpackages + +* Mon Feb 29 2016 Petr Pisar - 10.21-3 +- Fix a typo in pcre2_study() + +* Thu Feb 11 2016 Petr Pisar - 10.21-2 +- Report unmatched closing parantheses properly +- Fix pcre2test for expressions with a callout inside a look-behind assertion + (upstream bug #1783) +- Fix CVE-2016-3191 (workspace overflow for (*ACCEPT) with deeply nested + parentheses) (upstream bug #1791) + +* Thu Feb 04 2016 Fedora Release Engineering - 10.21-1.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Tue Jan 12 2016 Petr Pisar - 10.21-1 +- 10.21 bump + +* Wed Jan 06 2016 Petr Pisar - 10.21-0.2.RC1 +- Adapt a test to French locale on RHEL + +* Tue Jan 05 2016 Petr Pisar - 10.21-0.1.RC1 +- 10.21-RC1 bump + +* Mon Oct 26 2015 Petr Pisar - 10.20-3 +- Fix compiling patterns with PCRE2_NO_AUTO_CAPTURE (upstream bug #1704) + +* Mon Oct 12 2015 Petr Pisar - 10.20-2 +- Fix compiling classes with a negative escape and a property escape + (upstream bug #1697) +- Fix integer overflow for patterns whose minimum matching length is large + (upstream bug #1699) + +* Fri Jul 03 2015 Petr Pisar - 10.20-1 +- 10.20 bump + +* Fri Jun 19 2015 Petr Pisar - 10.20-0.1.RC1 +- 10.20-RC1 bump +- Replace dependency on glibc-headers with gcc (bug #1230479) +- Preserve soname + +* Thu Jun 18 2015 Fedora Release Engineering - 10.10-3.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Fri May 29 2015 Marcin Juszkiewicz - 10.10-3 +- fixed Release field + +* Fri May 29 2015 Marcin Juszkiewicz - 10.10-2.1 +- Backport fix for AArch64 + +* Tue May 05 2015 Petr Pisar - 10.10-2 +- Package pcre2demo.c as a documentation for pcre2-devel + +* Fri Mar 13 2015 Petr Pisar - 10.10-1 +- PCRE2 library packaged +