319 lines
14 KiB
RPMSpec
319 lines
14 KiB
RPMSpec
#
|
|
# spec file for package pcre (Version 7.1)
|
|
#
|
|
# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
|
|
# 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++
|
|
Version: 7.1
|
|
Release: 4
|
|
Summary: A library for Perl-compatible regular expressions
|
|
License: BSD License and BSD-like, Other uncritical OpenSource License
|
|
Group: System/Libraries
|
|
Autoreqprov: on
|
|
URL: ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
|
|
Source: %name-%version.tar.bz2
|
|
Patch0: assert_fix.patch
|
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|
%package devel
|
|
Summary: A library for Perl-compatible regular expressions
|
|
Autoreqprov: on
|
|
Group: System/Libraries
|
|
Requires: pcre libstdc++-devel
|
|
|
|
%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>
|
|
|
|
|
|
%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
|
|
%patch0 -p1
|
|
|
|
%build
|
|
export CFLAGS="$RPM_OPT_FLAGS -fstack-protector"
|
|
export CXXFLAGS="$RPM_OPT_FLAGS -fstack-protector"
|
|
./configure --mandir=%_mandir \
|
|
--prefix=%_prefix \
|
|
--libdir=%_libdir \
|
|
--with-link-size=2 \
|
|
--with-match-limit=10000000 \
|
|
--enable-newline-is-lf \
|
|
--enable-utf8
|
|
make
|
|
export LANG=POSIX
|
|
%ifarch %arm
|
|
make test || echo make test failed
|
|
%else
|
|
make test
|
|
%endif
|
|
|
|
%install
|
|
make DESTDIR=$RPM_BUILD_ROOT install
|
|
mkdir -p $RPM_BUILD_ROOT/%{_defaultdocdir}
|
|
mv $RPM_BUILD_ROOT/usr/share/doc/pcre $RPM_BUILD_ROOT/%{_defaultdocdir}/pcre
|
|
|
|
%clean
|
|
rm -rf $RPM_BUILD_ROOT
|
|
|
|
%files
|
|
%defattr(-,root,root)
|
|
%doc AUTHORS COPYING ChangeLog INSTALL LICENCE NEWS NON-UNIX-USE README
|
|
%doc doc/html doc/*.txt
|
|
%_libdir/*.so.*
|
|
/usr/bin/pcregrep
|
|
/usr/bin/pcretest
|
|
%_mandir/man1/*.gz
|
|
|
|
%files devel
|
|
%defattr(-,root,root)
|
|
/usr/bin/pcre-config
|
|
/usr/include/*
|
|
%_libdir/*.so
|
|
%_libdir/*.a
|
|
%_libdir/*.la
|
|
%_libdir/pkgconfig/libpcre.pc
|
|
%_libdir/pkgconfig/libpcrecpp.pc
|
|
%_mandir/man3/*.gz
|
|
|
|
%changelog
|
|
* Mon Apr 30 2007 - trenn@suse.de
|
|
- corrected assert compile error
|
|
* Wed Apr 25 2007 - ms@suse.de
|
|
- 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.
|
|
* Fri Feb 09 2007 - ms@suse.de
|
|
- fixed wrong usage of assert() call
|
|
* Tue Jan 09 2007 - ms@suse.de
|
|
- fixed build for all architectures
|
|
* Mon Jan 08 2007 - ms@suse.de
|
|
- 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.
|
|
* Sat Oct 28 2006 - meissner@suse.de
|
|
- CXXFLAGS needs RPM_OPT_FLAGS too.
|
|
* Mon Jul 10 2006 - ms@suse.de
|
|
- 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".
|
|
* Wed Jan 25 2006 - mls@suse.de
|
|
- converted neededforbuild to BuildRequires
|
|
* Thu Jan 12 2006 - mmj@suse.de
|
|
- build with -fstack-protector
|
|
* Thu Dec 01 2005 - ro@suse.de
|
|
- hack libtool core in configure script
|
|
since configure.in is too broken for a autoreconf ...
|
|
* Mon Sep 19 2005 - mmj@suse.de
|
|
- update to the latest version v6.4
|
|
* Tue Aug 02 2005 - mmj@suse.de
|
|
- update to the latest version v6.2
|
|
* Thu Jun 23 2005 - mmj@suse.de
|
|
- update to latest version v6.1
|
|
* Mon Jun 13 2005 - mmj@suse.de
|
|
- add gcc-c++ to #nfb as well
|
|
* Wed Jun 08 2005 - mmj@suse.de
|
|
- update to latest version v6.0
|
|
* Mon May 23 2005 - mmj@suse.de
|
|
- use --enable-utf8
|
|
- use $RPM_OPT_FLAGS
|
|
* Thu Mar 31 2005 - uli@suse.de
|
|
- ignore test suite errors on ARM
|
|
* Mon Nov 22 2004 - choeger@suse.de
|
|
- update to latest version v5.0
|
|
* Mon Jun 07 2004 - choeger@suse.de
|
|
- update to latest version v4.5
|
|
* Mon Jan 05 2004 - schwab@suse.de
|
|
- Move pcre-config to pcre-devel.
|
|
* Fri Oct 31 2003 - choeger@suse.de
|
|
- Don't build as root
|
|
* Thu Aug 21 2003 - choeger@suse.de
|
|
- update to v4.4
|
|
* Fri Aug 01 2003 - choeger@suse.de
|
|
- disabled Test2, because it is not 64bit arch clean
|
|
(contacted author, he knows about that problem)
|
|
* Wed Jul 30 2003 - choeger@suse.de
|
|
- update to most recent version v4.3
|
|
- splitted into -devel subpackage
|
|
* Fri Dec 06 2002 - coolo@suse.de
|
|
- removed undefined symbols in libpcreposix
|
|
* Tue Sep 17 2002 - ro@suse.de
|
|
- removed bogus self-provides
|
|
* Fri Apr 05 2002 - coolo@suse.de
|
|
- fixing autoheader usage
|
|
- forward ported %%libdir changes from sles7-s390x
|
|
* Tue Jan 22 2002 - choeger@suse.de
|
|
- update to version 3.9
|
|
- added BuildRoot
|
|
* Tue Aug 21 2001 - mge@suse.de
|
|
- pcre 3.5
|
|
* Wed Apr 11 2001 - froh@suse.de
|
|
- suse_update_config
|
|
* Mon Dec 04 2000 - mge@suse.de
|
|
- pcre 3.4
|
|
* Tue Jun 27 2000 - mge@suse.de
|
|
- pcre 3.2
|
|
* Thu Mar 02 2000 - mge@suse.de
|
|
- fixed manpath
|
|
* Sun Feb 13 2000 - mge@suse.de
|
|
- update to 3.1
|
|
- group tag
|
|
* Mon Oct 25 1999 - mge@suse.de
|
|
- initial SuSE-RPM: changed Makefile to install into /usr
|