[packages/pcre] - updated to 8.43
adamg
adamg at pld-linux.org
Sat Feb 23 20:35:49 CET 2019
commit e64019d237128662e63307c1a64a3dd1f5e4386f
Author: Adam Gołębiowski <adamg at pld-linux.org>
Date: Sat Feb 23 20:35:37 2019 +0100
- updated to 8.43
...nchoring-bug-in-conditional-subexpression.patch | 70 --------
...x-bad-auto-possessify-for-certain-classes.patch | 65 --------
pcre-8.42-Fix-subject-buffer-overread-in-JIT.patch | 29 ----
...ix-two-C-wrapper-bugs-unnoticed-for-years.patch | 178 ---------------------
pcre-8.42-Fix-typos-in-pcrgrep.patch | 36 -----
...peat-leading-subroutine-call-first-charac.patch | 89 -----------
pcre.spec | 18 +--
7 files changed, 3 insertions(+), 482 deletions(-)
---
diff --git a/pcre.spec b/pcre.spec
index 7eaf771..c481e3a 100644
--- a/pcre.spec
+++ b/pcre.spec
@@ -11,20 +11,14 @@ Summary: Perl-Compatible Regular Expression library
Summary(pl.UTF-8): Biblioteka perlowych wyrażeń regularnych
Summary(pt_BR.UTF-8): Biblioteca de expressões regulares versão
Name: pcre
-Version: 8.42
-Release: 2
+Version: 8.43
+Release: 1
License: BSD (see LICENCE)
Group: Libraries
Source0: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/%{name}-%{version}.tar.bz2
-# Source0-md5: 085b6aa253e0f91cae70b3cdbe8c1ac2
+# Source0-md5: 636222e79e392c3d95dcc545f24f98c4
Patch0: %{name}-pcreposix-glibc-conflict.patch
Patch1: pcre-8.41-fix_stack_estimator.patch
-Patch2: pcre-8.42-Fix-anchoring-bug-in-conditional-subexpression.patch
-Patch3: pcre-8.42-Fix-bad-auto-possessify-for-certain-classes.patch
-Patch4: pcre-8.42-Fix-subject-buffer-overread-in-JIT.patch
-Patch5: pcre-8.42-Fix-two-C-wrapper-bugs-unnoticed-for-years.patch
-Patch6: pcre-8.42-Fix-typos-in-pcrgrep.patch
-Patch7: pcre-8.42-Fix-zero-repeat-leading-subroutine-call-first-charac.patch
URL: http://www.pcre.org/
BuildRequires: autoconf >= 2.57
BuildRequires: automake
@@ -274,12 +268,6 @@ Dokumentacja dla PCRE w formacie HTML.
%setup -q
%patch0 -p1
%patch1 -p2
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
%build
%{__libtoolize}
diff --git a/pcre-8.42-Fix-anchoring-bug-in-conditional-subexpression.patch b/pcre-8.42-Fix-anchoring-bug-in-conditional-subexpression.patch
deleted file mode 100644
index d7247bd..0000000
--- a/pcre-8.42-Fix-anchoring-bug-in-conditional-subexpression.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-From 7abc4de8303e8908eeb96714dac53ae10ff465e3 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10 at 2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Sun, 2 Sep 2018 17:05:38 +0000
-Subject: [PATCH] Fix anchoring bug in conditional subexpression.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1739 2f5784b3-3f2a-0410-8824-cb99058d5e15
-Petr Písař: Ported to 8.42
----
- pcre_compile.c | 12 ++++++++++--
- testdata/testinput2 | 3 +++
- testdata/testoutput2 | 4 ++++
-
- Version 8.42 20-March-2018
- --------------------------
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 3991d6c..6141fb3 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -8682,10 +8682,18 @@ do {
- if (!is_anchored(scode, new_map, cd, atomcount)) return FALSE;
- }
-
-- /* Positive forward assertions and conditions */
-+ /* Positive forward assertion */
-
-- else if (op == OP_ASSERT || op == OP_COND)
-+ else if (op == OP_ASSERT)
-+ {
-+ if (!is_anchored(scode, bracket_map, cd, atomcount)) return FALSE;
-+ }
-+
-+ /* Condition; not anchored if no second branch */
-+
-+ else if (op == OP_COND)
- {
-+ if (scode[GET(scode,1)] != OP_ALT) return FALSE;
- if (!is_anchored(scode, bracket_map, cd, atomcount)) return FALSE;
- }
-
-diff --git a/testdata/testinput2 b/testdata/testinput2
-index 8ba4dc4..3528de1 100644
---- a/testdata/testinput2
-+++ b/testdata/testinput2
-@@ -4257,4 +4257,7 @@ backtracking verbs. --/
- ab
- aaab
-
-+/(?(?=^))b/
-+ abc
-+
- /-- End of testinput2 --/
-diff --git a/testdata/testoutput2 b/testdata/testoutput2
-index 61ed8d9..4ccda27 100644
---- a/testdata/testoutput2
-+++ b/testdata/testoutput2
-@@ -14721,4 +14721,8 @@ No need char
- 0: ab
- 1: a
-
-+/(?(?=^))b/
-+ abc
-+ 0: b
-+
- /-- End of testinput2 --/
---
-2.14.4
-
diff --git a/pcre-8.42-Fix-bad-auto-possessify-for-certain-classes.patch b/pcre-8.42-Fix-bad-auto-possessify-for-certain-classes.patch
deleted file mode 100644
index c47ec5f..0000000
--- a/pcre-8.42-Fix-bad-auto-possessify-for-certain-classes.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From 952cac5f4a17e52aec7d0536f405b25428367840 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10 at 2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Fri, 17 Aug 2018 14:50:21 +0000
-Subject: [PATCH] Fix bad auto-possessify for certain classes.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1738 2f5784b3-3f2a-0410-8824-cb99058d5e15
-Petr Písař: Ported to 8.42.
----
- pcre_compile.c | 4 ++--
- testdata/testinput4 | 3 +++
- testdata/testoutput4 | 4 ++++
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 6dd8886..3991d6c 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -6,7 +6,7 @@
- and semantics are as close as possible to those of the Perl 5 language.
-
- Written by Philip Hazel
-- Copyright (c) 1997-2016 University of Cambridge
-+ Copyright (c) 1997-2018 University of Cambridge
-
- -----------------------------------------------------------------------------
- Redistribution and use in source and binary forms, with or without
-@@ -3299,7 +3299,7 @@ for(;;)
- if ((*xclass_flags & XCL_MAP) == 0)
- {
- /* No bits are set for characters < 256. */
-- if (list[1] == 0) return TRUE;
-+ if (list[1] == 0) return (*xclass_flags & XCL_NOT) == 0;
- /* Might be an empty repeat. */
- continue;
- }
-diff --git a/testdata/testinput4 b/testdata/testinput4
-index 8bdbdac..63368c0 100644
---- a/testdata/testinput4
-+++ b/testdata/testinput4
-@@ -727,4 +727,7 @@
- /\C(\W?ſ)'?{{/8
- \\C(\\W?ſ)'?{{
-
-+/[^\x{100}-\x{ffff}]*[\x80-\xff]/8
-+ \x{99}\x{99}\x{99}
-+
- /-- End of testinput4 --/
-diff --git a/testdata/testoutput4 b/testdata/testoutput4
-index d43c123..69e812c 100644
---- a/testdata/testoutput4
-+++ b/testdata/testoutput4
-@@ -1277,4 +1277,8 @@ No match
- \\C(\\W?ſ)'?{{
- No match
-
-+/[^\x{100}-\x{ffff}]*[\x80-\xff]/8
-+ \x{99}\x{99}\x{99}
-+ 0: \x{99}\x{99}\x{99}
-+
- /-- End of testinput4 --/
---
-2.14.4
-
diff --git a/pcre-8.42-Fix-subject-buffer-overread-in-JIT.patch b/pcre-8.42-Fix-subject-buffer-overread-in-JIT.patch
deleted file mode 100644
index 1b64902..0000000
--- a/pcre-8.42-Fix-subject-buffer-overread-in-JIT.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1aa76cb33f04fcea3127a0859450e5d18369e5e2 Mon Sep 17 00:00:00 2001
-From: zherczeg <zherczeg at 2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Fri, 21 Sep 2018 07:34:10 +0000
-Subject: [PATCH] Fix subject buffer overread in JIT.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1740 2f5784b3-3f2a-0410-8824-cb99058d5e15
-Petr Písař: Ported to 8.42.
----
- pcre_jit_compile.c | 2 +-
-
-diff --git a/pcre_jit_compile.c b/pcre_jit_compile.c
-index 2bad74b..bc5f9c0 100644
---- a/pcre_jit_compile.c
-+++ b/pcre_jit_compile.c
-@@ -9002,7 +9002,7 @@ if (exact > 1)
- #ifdef SUPPORT_UTF
- && !common->utf
- #endif
-- )
-+ && type != OP_ANYNL && type != OP_EXTUNI)
- {
- OP2(SLJIT_ADD, TMP1, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(exact));
- add_jump(compiler, &backtrack->topbacktracks, CMP(SLJIT_GREATER, TMP1, 0, STR_END, 0));
---
-2.17.2
-
diff --git a/pcre-8.42-Fix-two-C-wrapper-bugs-unnoticed-for-years.patch b/pcre-8.42-Fix-two-C-wrapper-bugs-unnoticed-for-years.patch
deleted file mode 100644
index be2418a..0000000
--- a/pcre-8.42-Fix-two-C-wrapper-bugs-unnoticed-for-years.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From 2ede5a4b4a98add3bbf982f5805e015e8c61c565 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10 at 2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Tue, 26 Jun 2018 16:51:43 +0000
-Subject: [PATCH] Fix two C++ wrapper bugs, unnoticed for years.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1735 2f5784b3-3f2a-0410-8824-cb99058d5e15
-
-Petr Písař: Ported to 8.42.
-
-diff --git a/pcrecpp.cc b/pcrecpp.cc
-index d09c9ab..77a2fed 100644
---- a/pcrecpp.cc
-+++ b/pcrecpp.cc
-@@ -80,6 +80,24 @@ static const string empty_string;
- // If the user doesn't ask for any options, we just use this one
- static RE_Options default_options;
-
-+// Specials for the start of patterns. See comments where start_options is used
-+// below. (PH June 2018)
-+static const char *start_options[] = {
-+ "(*UTF8)",
-+ "(*UTF)",
-+ "(*UCP)",
-+ "(*NO_START_OPT)",
-+ "(*NO_AUTO_POSSESS)",
-+ "(*LIMIT_RECURSION=",
-+ "(*LIMIT_MATCH=",
-+ "(*CRLF)",
-+ "(*CR)",
-+ "(*BSR_UNICODE)",
-+ "(*BSR_ANYCRLF)",
-+ "(*ANYCRLF)",
-+ "(*ANY)",
-+ "" };
-+
- void RE::Init(const string& pat, const RE_Options* options) {
- pattern_ = pat;
- if (options == NULL) {
-@@ -135,7 +153,49 @@ pcre* RE::Compile(Anchor anchor) {
- } else {
- // Tack a '\z' at the end of RE. Parenthesize it first so that
- // the '\z' applies to all top-level alternatives in the regexp.
-- string wrapped = "(?:"; // A non-counting grouping operator
-+
-+ /* When this code was written (for PCRE 6.0) it was enough just to
-+ parenthesize the entire pattern. Unfortunately, when the feature of
-+ starting patterns with (*UTF8) or (*CR) etc. was added to PCRE patterns,
-+ this code was never updated. This bug was not noticed till 2018, long after
-+ PCRE became obsolescent and its maintainer no longer around. Since PCRE is
-+ frozen, I have added a hack to check for all the existing "start of
-+ pattern" specials - knowing that no new ones will ever be added. I am not a
-+ C++ programmer, so the code style is no doubt crude. It is also
-+ inefficient, but is only run when the pattern starts with "(*".
-+ PH June 2018. */
-+
-+ string wrapped = "";
-+
-+ if (pattern_.c_str()[0] == '(' && pattern_.c_str()[1] == '*') {
-+ int kk, klen, kmat;
-+ for (;;) { // Loop for any number of leading items
-+
-+ for (kk = 0; start_options[kk][0] != 0; kk++) {
-+ klen = strlen(start_options[kk]);
-+ kmat = strncmp(pattern_.c_str(), start_options[kk], klen);
-+ if (kmat >= 0) break;
-+ }
-+ if (kmat != 0) break; // Not found
-+
-+ // If the item ended in "=" we must copy digits up to ")".
-+
-+ if (start_options[kk][klen-1] == '=') {
-+ while (isdigit(pattern_.c_str()[klen])) klen++;
-+ if (pattern_.c_str()[klen] != ')') break; // Syntax error
-+ klen++;
-+ }
-+
-+ // Move the item from the pattern to the start of the wrapped string.
-+
-+ wrapped += pattern_.substr(0, klen);
-+ pattern_.erase(0, klen);
-+ }
-+ }
-+
-+ // Wrap the rest of the pattern.
-+
-+ wrapped += "(?:"; // A non-counting grouping operator
- wrapped += pattern_;
- wrapped += ")\\z";
- re = pcre_compile(wrapped.c_str(), pcre_options,
-@@ -415,7 +475,7 @@ int RE::GlobalReplace(const StringPiece& rewrite,
- matchend++;
- }
- // We also need to advance more than one char if we're in utf8 mode.
--#ifdef SUPPORT_UTF8
-+#ifdef SUPPORT_UTF
- if (options_.utf8()) {
- while (matchend < static_cast<int>(str->length()) &&
- ((*str)[matchend] & 0xc0) == 0x80)
-diff --git a/pcrecpp_unittest.cc b/pcrecpp_unittest.cc
-index 4b15fbe..255066f 100644
---- a/pcrecpp_unittest.cc
-+++ b/pcrecpp_unittest.cc
-@@ -309,7 +309,7 @@ static void TestReplace() {
- "@aa",
- "@@@",
- 3 },
--#ifdef SUPPORT_UTF8
-+#ifdef SUPPORT_UTF
- { "b*",
- "bb",
- "\xE3\x83\x9B\xE3\x83\xBC\xE3\x83\xA0\xE3\x81\xB8", // utf8
-@@ -327,7 +327,7 @@ static void TestReplace() {
- { "", NULL, NULL, NULL, NULL, 0 }
- };
-
--#ifdef SUPPORT_UTF8
-+#ifdef SUPPORT_UTF
- const bool support_utf8 = true;
- #else
- const bool support_utf8 = false;
-@@ -535,7 +535,7 @@ static void TestQuoteMetaLatin1() {
- }
-
- static void TestQuoteMetaUtf8() {
--#ifdef SUPPORT_UTF8
-+#ifdef SUPPORT_UTF
- TestQuoteMeta("Pl\xc3\xa1\x63ido Domingo", pcrecpp::UTF8());
- TestQuoteMeta("xyz", pcrecpp::UTF8()); // No fancy utf8
- TestQuoteMeta("\xc2\xb0", pcrecpp::UTF8()); // 2-byte utf8 (degree symbol)
-@@ -1178,7 +1178,7 @@ int main(int argc, char** argv) {
- CHECK(re.error().empty()); // Must have no error
- }
-
--#ifdef SUPPORT_UTF8
-+#ifdef SUPPORT_UTF
- // Check UTF-8 handling
- {
- printf("Testing UTF-8 handling\n");
-@@ -1202,6 +1202,24 @@ int main(int argc, char** argv) {
- CHECK(re_test1.FullMatch(utf8_string));
- RE re_test2("...", pcrecpp::UTF8());
- CHECK(re_test2.FullMatch(utf8_string));
-+
-+ // PH added these tests for leading option settings
-+
-+ RE re_testZ1("(*UTF8)...");
-+ CHECK(re_testZ1.FullMatch(utf8_string));
-+
-+ RE re_testZ2("(*UTF)...");
-+ CHECK(re_testZ2.FullMatch(utf8_string));
-+
-+ RE re_testZ3("(*UCP)(*UTF)...");
-+ CHECK(re_testZ3.FullMatch(utf8_string));
-+
-+ RE re_testZ4("(*UCP)(*LIMIT_MATCH=1000)(*UTF)...");
-+ CHECK(re_testZ4.FullMatch(utf8_string));
-+
-+ RE re_testZ5("(*UCP)(*LIMIT_MATCH=1000)(*ANY)(*UTF)...");
-+ CHECK(re_testZ5.FullMatch(utf8_string));
-+
-
- // Check that '.' matches one byte or UTF-8 character
- // according to the mode.
-@@ -1248,7 +1266,7 @@ int main(int argc, char** argv) {
- CHECK(!match_sentence.FullMatch(target));
- CHECK(!match_sentence_re.FullMatch(target));
- }
--#endif /* def SUPPORT_UTF8 */
-+#endif /* def SUPPORT_UTF */
-
- printf("Testing error reporting\n");
-
---
-2.14.4
-
diff --git a/pcre-8.42-Fix-typos-in-pcrgrep.patch b/pcre-8.42-Fix-typos-in-pcrgrep.patch
deleted file mode 100644
index e09fe2d..0000000
--- a/pcre-8.42-Fix-typos-in-pcrgrep.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 6d8fa98d5167bdd915ce1e32bcb6aaed078e5938 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10 at 2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Tue, 26 Jun 2018 17:04:02 +0000
-Subject: [PATCH] Fix typos in pcrgrep.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1736 2f5784b3-3f2a-0410-8824-cb99058d5e15
-Petr Písař: Ported to 8.42.
-
-diff --git a/pcregrep.c b/pcregrep.c
-index a406be9..5982406 100644
---- a/pcregrep.c
-+++ b/pcregrep.c
-@@ -2252,7 +2252,7 @@ if (isdirectory(pathname))
- int fnlength = strlen(pathname) + strlen(nextfile) + 2;
- if (fnlength > 2048)
- {
-- fprintf(stderr, "pcre2grep: recursive filename is too long\n");
-+ fprintf(stderr, "pcregrep: recursive filename is too long\n");
- rc = 2;
- break;
- }
-@@ -3034,7 +3034,7 @@ LC_ALL environment variable is set, and if so, use it. */
- if (locale == NULL)
- {
- locale = getenv("LC_ALL");
-- locale_from = "LCC_ALL";
-+ locale_from = "LC_ALL";
- }
-
- if (locale == NULL)
---
-2.14.4
-
diff --git a/pcre-8.42-Fix-zero-repeat-leading-subroutine-call-first-charac.patch b/pcre-8.42-Fix-zero-repeat-leading-subroutine-call-first-charac.patch
deleted file mode 100644
index c997a5b..0000000
--- a/pcre-8.42-Fix-zero-repeat-leading-subroutine-call-first-charac.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From a65e1b693110caa27fe8f724583fc28ce5924026 Mon Sep 17 00:00:00 2001
-From: ph10 <ph10 at 2f5784b3-3f2a-0410-8824-cb99058d5e15>
-Date: Sat, 20 Oct 2018 09:38:44 +0000
-Subject: [PATCH] Fix zero-repeat leading subroutine call first character
- error.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1741 2f5784b3-3f2a-0410-8824-cb99058d5e15
-Petr Písař: Ported to 8.42.
----
- pcre_compile.c | 2 ++
- testdata/testinput1 | 15 +++++++++++++++
- testdata/testoutput1 | 24 ++++++++++++++++++++++++
-
-diff --git a/pcre_compile.c b/pcre_compile.c
-index 6141fb3..079d30a 100644
---- a/pcre_compile.c
-+++ b/pcre_compile.c
-@@ -7642,6 +7642,8 @@ for (;; ptr++)
- /* Can't determine a first byte now */
-
- if (firstcharflags == REQ_UNSET) firstcharflags = REQ_NONE;
-+ zerofirstchar = firstchar;
-+ zerofirstcharflags = firstcharflags;
- continue;
-
-
-diff --git a/testdata/testinput1 b/testdata/testinput1
-index 5c23f41..02e4f48 100644
---- a/testdata/testinput1
-+++ b/testdata/testinput1
-@@ -5742,4 +5742,19 @@ AbcdCBefgBhiBqz
- /X+(?#comment)?/
- >XXX<
-
-+/ (?<word> \w+ )* \. /xi
-+ pokus.
-+
-+/(?(DEFINE) (?<word> \w+ ) ) (?&word)* \./xi
-+ pokus.
-+
-+/(?(DEFINE) (?<word> \w+ ) ) ( (?&word)* ) \./xi
-+ pokus.
-+
-+/(?&word)* (?(DEFINE) (?<word> \w+ ) ) \./xi
-+ pokus.
-+
-+/(?&word)* \. (?<word> \w+ )/xi
-+ pokus.hokus
-+
- /-- End of testinput1 --/
-diff --git a/testdata/testoutput1 b/testdata/testoutput1
-index eff8ecc..e6147e6 100644
---- a/testdata/testoutput1
-+++ b/testdata/testoutput1
-@@ -9446,4 +9446,28 @@ No match
- >XXX<
- 0: X
-
-+/ (?<word> \w+ )* \. /xi
-+ pokus.
-+ 0: pokus.
-+ 1: pokus
-+
-+/(?(DEFINE) (?<word> \w+ ) ) (?&word)* \./xi
-+ pokus.
-+ 0: pokus.
-+
-+/(?(DEFINE) (?<word> \w+ ) ) ( (?&word)* ) \./xi
-+ pokus.
-+ 0: pokus.
-+ 1: <unset>
-+ 2: pokus
-+
-+/(?&word)* (?(DEFINE) (?<word> \w+ ) ) \./xi
-+ pokus.
-+ 0: pokus.
-+
-+/(?&word)* \. (?<word> \w+ )/xi
-+ pokus.hokus
-+ 0: pokus.hokus
-+ 1: hokus
-+
- /-- End of testinput1 --/
---
-2.17.2
-
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/pcre.git/commitdiff/e64019d237128662e63307c1a64a3dd1f5e4386f
More information about the pld-cvs-commit
mailing list