2006-12-19 00:17:25 +01:00
|
|
|
#
|
2008-02-02 02:09:19 +01:00
|
|
|
# spec file for package pcre (Version 7.6)
|
2006-12-19 00:17:25 +01:00
|
|
|
#
|
2008-01-17 21:52:22 +01:00
|
|
|
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
2006-12-19 00:17:25 +01:00
|
|
|
# This file and all modifications and additions to the pristine
|
|
|
|
# package are under the same license as the package itself.
|
|
|
|
#
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
|
|
#
|
|
|
|
|
|
|
|
# norootforbuild
|
|
|
|
|
|
|
|
Name: pcre
|
|
|
|
BuildRequires: gcc-c++
|
2008-02-02 02:09:19 +01:00
|
|
|
Version: 7.6
|
2007-11-12 18:41:55 +01:00
|
|
|
Release: 1
|
2006-12-19 00:17:25 +01:00
|
|
|
Summary: A library for Perl-compatible regular expressions
|
2007-11-12 18:41:55 +01:00
|
|
|
License: BSD 3-Clause; Other uncritical OpenSource License
|
2006-12-19 00:17:25 +01:00
|
|
|
Group: System/Libraries
|
2007-11-12 18:41:55 +01:00
|
|
|
AutoReqProv: on
|
|
|
|
Url: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
|
2006-12-19 00:17:25 +01:00
|
|
|
Source: %name-%version.tar.bz2
|
2007-11-12 18:41:55 +01:00
|
|
|
Patch0: %name-7.2.assert_fix.patch
|
2006-12-19 00:17:25 +01:00
|
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
|
|
|
|
|
|
%description
|
|
|
|
The PCRE library is a set of functions that implement regular
|
|
|
|
expression pattern matching using the same syntax and semantics as Perl
|
|
|
|
5, with very few differences. The current implementation corresponds to
|
|
|
|
Perl 5.005.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Authors:
|
|
|
|
--------
|
|
|
|
Philip Hazel <ph10@cam.ac.uk>
|
|
|
|
|
2007-08-09 20:48:36 +02:00
|
|
|
%package devel
|
|
|
|
Summary: A library for Perl-compatible regular expressions
|
|
|
|
Group: System/Libraries
|
2008-02-02 02:09:19 +01:00
|
|
|
Requires: %{name} = %{version} libstdc++-devel
|
2006-12-19 00:17:25 +01:00
|
|
|
|
|
|
|
%description devel
|
|
|
|
The PCRE library is a set of functions that implement regular
|
|
|
|
expression pattern matching using the same syntax and semantics as Perl
|
|
|
|
5, with very few differences. The current implementation corresponds to
|
|
|
|
Perl 5.005.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Authors:
|
|
|
|
--------
|
|
|
|
Philip Hazel <ph10@cam.ac.uk>
|
|
|
|
|
|
|
|
%prep
|
|
|
|
%setup -q
|
2007-04-30 18:14:19 +02:00
|
|
|
%patch0 -p1
|
2006-12-19 00:17:25 +01:00
|
|
|
|
|
|
|
%build
|
2007-08-09 20:48:36 +02:00
|
|
|
export CFLAGS="$RPM_OPT_FLAGS"
|
|
|
|
export CXXFLAGS="$RPM_OPT_FLAGS"
|
|
|
|
%configure \
|
2006-12-19 00:17:25 +01:00
|
|
|
--with-link-size=2 \
|
|
|
|
--with-match-limit=10000000 \
|
|
|
|
--enable-newline-is-lf \
|
2007-05-06 17:17:49 +02:00
|
|
|
--enable-utf8 \
|
|
|
|
--enable-unicode-properties
|
2007-08-09 20:48:36 +02:00
|
|
|
%{__make} %{?jobs:-j%jobs}
|
|
|
|
|
|
|
|
%install
|
|
|
|
%{__make} DESTDIR=%{buildroot} install
|
|
|
|
%{__mkdir_p} %{buildroot}/%{_defaultdocdir}
|
|
|
|
mv %{buildroot}/usr/share/doc/pcre %{buildroot}/%{_defaultdocdir}/pcre
|
2007-11-12 18:41:55 +01:00
|
|
|
#empty dependecy_libs
|
|
|
|
%{__rm} -f %{buildroot}%{_libdir}/*.la
|
2007-08-09 20:48:36 +02:00
|
|
|
|
|
|
|
%check
|
2007-01-09 17:53:01 +01:00
|
|
|
export LANG=POSIX
|
2006-12-19 00:17:25 +01:00
|
|
|
%ifarch %arm
|
|
|
|
make test || echo make test failed
|
|
|
|
%else
|
|
|
|
make test
|
|
|
|
%endif
|
|
|
|
|
|
|
|
%clean
|
2007-08-09 20:48:36 +02:00
|
|
|
%{__rm} -rf %{buildroot}
|
|
|
|
|
|
|
|
%post -p /sbin/ldconfig
|
|
|
|
|
|
|
|
%postun -p /sbin/ldconfig
|
2006-12-19 00:17:25 +01:00
|
|
|
|
|
|
|
%files
|
|
|
|
%defattr(-,root,root)
|
|
|
|
%doc AUTHORS COPYING ChangeLog INSTALL LICENCE NEWS NON-UNIX-USE README
|
|
|
|
%doc doc/html doc/*.txt
|
2007-08-09 20:48:36 +02:00
|
|
|
%{_libdir}/*.so.*
|
|
|
|
%{_bindir}/pcregrep
|
|
|
|
%{_bindir}/pcretest
|
2007-11-12 18:41:55 +01:00
|
|
|
%{_mandir}/man1/*.gz
|
2006-12-19 00:17:25 +01:00
|
|
|
|
|
|
|
%files devel
|
|
|
|
%defattr(-,root,root)
|
2007-08-09 20:48:36 +02:00
|
|
|
%{_bindir}/pcre-config
|
|
|
|
%{_includedir}/*
|
|
|
|
%{_libdir}/*.so
|
|
|
|
%{_libdir}/*.a
|
|
|
|
%{_libdir}/pkgconfig/libpcre.pc
|
|
|
|
%{_libdir}/pkgconfig/libpcrecpp.pc
|
2007-11-12 18:41:55 +01:00
|
|
|
%{_mandir}/man3/*.gz
|
2008-01-17 21:52:22 +01:00
|
|
|
|
2007-04-26 01:16:44 +02:00
|
|
|
%changelog
|
2008-02-02 02:09:19 +01:00
|
|
|
* Fri Feb 01 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.
|
2008-01-17 21:52:22 +01:00
|
|
|
* Sun Jan 13 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 <windows.h> 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 06 2007 crrodriguez@suse.de
|
2007-11-12 18:41:55 +01:00
|
|
|
- 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.
|
2008-01-17 21:52:22 +01:00
|
|
|
* Wed Aug 08 2007 ms@suse.de
|
2007-08-09 20:48:36 +02:00
|
|
|
- added fix to run ldconfig for libpcre*, Thanks to
|
|
|
|
Cristian Rodriguez <crrodriguez@novell.com> who provided
|
|
|
|
the patch (#298291)
|
2008-01-17 21:52:22 +01:00
|
|
|
* Mon Jul 23 2007 ms@suse.de
|
2007-07-27 02:03:37 +02:00
|
|
|
- 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<name> 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.
|
2008-01-17 21:52:22 +01:00
|
|
|
* Tue May 01 2007 ms@suse.de
|
2007-05-06 17:17:49 +02:00
|
|
|
- added --enable-unicode-properties configure option to support
|
|
|
|
UTF-8 character strings in \P, \p, and \X (#269749)
|
2008-01-17 21:52:22 +01:00
|
|
|
* Mon Apr 30 2007 trenn@suse.de
|
2007-04-30 18:14:19 +02:00
|
|
|
- corrected assert compile error
|
2008-01-17 21:52:22 +01:00
|
|
|
* Wed Apr 25 2007 ms@suse.de
|
2007-04-26 01:16:44 +02:00
|
|
|
- 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<any> 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.
|
2008-01-17 21:52:22 +01:00
|
|
|
* Fri Feb 09 2007 ms@suse.de
|
2007-02-09 17:05:59 +01:00
|
|
|
- fixed wrong usage of assert() call
|
2008-01-17 21:52:22 +01:00
|
|
|
* Tue Jan 09 2007 ms@suse.de
|
2007-01-09 17:53:01 +01:00
|
|
|
- fixed build for all architectures
|
2008-01-17 21:52:22 +01:00
|
|
|
* Mon Jan 08 2007 ms@suse.de
|
2007-01-08 17:52:24 +01:00
|
|
|
- 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.
|
2008-01-17 21:52:22 +01:00
|
|
|
* Sat Oct 28 2006 meissner@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- CXXFLAGS needs RPM_OPT_FLAGS too.
|
2008-01-17 21:52:22 +01:00
|
|
|
* Mon Jul 10 2006 ms@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- 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".
|
2008-01-17 21:52:22 +01:00
|
|
|
* Wed Jan 25 2006 mls@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- converted neededforbuild to BuildRequires
|
2008-01-17 21:52:22 +01:00
|
|
|
* Thu Jan 12 2006 mmj@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- build with -fstack-protector
|
2008-01-17 21:52:22 +01:00
|
|
|
* Thu Dec 01 2005 ro@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- hack libtool core in configure script
|
|
|
|
since configure.in is too broken for a autoreconf ...
|
2008-01-17 21:52:22 +01:00
|
|
|
* Mon Sep 19 2005 mmj@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- update to the latest version v6.4
|
2008-01-17 21:52:22 +01:00
|
|
|
* Tue Aug 02 2005 mmj@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- update to the latest version v6.2
|
2008-01-17 21:52:22 +01:00
|
|
|
* Thu Jun 23 2005 mmj@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- update to latest version v6.1
|
2008-01-17 21:52:22 +01:00
|
|
|
* Mon Jun 13 2005 mmj@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- add gcc-c++ to #nfb as well
|
2008-02-02 02:09:19 +01:00
|
|
|
* Thu Jun 09 2005 mmj@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- update to latest version v6.0
|
2008-01-17 21:52:22 +01:00
|
|
|
* Mon May 23 2005 mmj@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- use --enable-utf8
|
|
|
|
- use $RPM_OPT_FLAGS
|
2008-01-17 21:52:22 +01:00
|
|
|
* Thu Mar 31 2005 uli@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- ignore test suite errors on ARM
|
2008-01-17 21:52:22 +01:00
|
|
|
* Mon Nov 22 2004 choeger@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- update to latest version v5.0
|
2008-01-17 21:52:22 +01:00
|
|
|
* Mon Jun 07 2004 choeger@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- update to latest version v4.5
|
2008-01-17 21:52:22 +01:00
|
|
|
* Mon Jan 05 2004 schwab@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- Move pcre-config to pcre-devel.
|
2008-01-17 21:52:22 +01:00
|
|
|
* Fri Oct 31 2003 choeger@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- Don't build as root
|
2008-01-17 21:52:22 +01:00
|
|
|
* Thu Aug 21 2003 choeger@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- update to v4.4
|
2008-01-17 21:52:22 +01:00
|
|
|
* Fri Aug 01 2003 choeger@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- disabled Test2, because it is not 64bit arch clean
|
|
|
|
(contacted author, he knows about that problem)
|
2008-01-17 21:52:22 +01:00
|
|
|
* Wed Jul 30 2003 choeger@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- update to most recent version v4.3
|
|
|
|
- splitted into -devel subpackage
|
2008-01-17 21:52:22 +01:00
|
|
|
* Fri Dec 06 2002 coolo@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- removed undefined symbols in libpcreposix
|
2008-01-17 21:52:22 +01:00
|
|
|
* Tue Sep 17 2002 ro@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- removed bogus self-provides
|
2008-01-17 21:52:22 +01:00
|
|
|
* Fri Apr 05 2002 coolo@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- fixing autoheader usage
|
|
|
|
- forward ported %%libdir changes from sles7-s390x
|
2008-01-17 21:52:22 +01:00
|
|
|
* Tue Jan 22 2002 choeger@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- update to version 3.9
|
|
|
|
- added BuildRoot
|
2008-01-17 21:52:22 +01:00
|
|
|
* Tue Aug 21 2001 mge@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- pcre 3.5
|
2008-01-17 21:52:22 +01:00
|
|
|
* Wed Apr 11 2001 froh@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- suse_update_config
|
2008-01-17 21:52:22 +01:00
|
|
|
* Mon Dec 04 2000 mge@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- pcre 3.4
|
2008-01-17 21:52:22 +01:00
|
|
|
* Tue Jun 27 2000 mge@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- pcre 3.2
|
2008-01-17 21:52:22 +01:00
|
|
|
* Thu Mar 02 2000 mge@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- fixed manpath
|
2008-01-17 21:52:22 +01:00
|
|
|
* Sun Feb 13 2000 mge@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- update to 3.1
|
|
|
|
- group tag
|
2008-02-02 02:09:19 +01:00
|
|
|
* Tue Oct 26 1999 mge@suse.de
|
2006-12-19 00:17:25 +01:00
|
|
|
- initial SuSE-RPM: changed Makefile to install into /usr
|