Package init

This commit is contained in:
overweight 2019-09-30 11:11:26 -04:00
commit b7bb176555
3 changed files with 147 additions and 0 deletions

View File

@ -0,0 +1,24 @@
Fix recursion stack estimator
Due to inlining match() by recent GCC, the stack estimator reported 4-bytes
stack consumption.
Author: Sergei Golubchik <vuvova@gmail.com>
<https://bugs.exim.org/show_bug.cgi?id=2173>
diff --git a/pcre/pcre_exec.c b/pcre/pcre_exec.c
--- a/pcre_exec.c
+++ b/pcre_exec.c
@@ -509,6 +509,12 @@
(e.g. stopped by repeated call or recursion limit)
*/
+#ifdef __GNUC__
+static int
+match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
+ PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,
+ unsigned int rdepth) __attribute__((noinline,noclone));
+#endif
static int
match(REGISTER PCRE_PUCHAR eptr, REGISTER const pcre_uchar *ecode,
PCRE_PUCHAR mstart, int offset_top, match_data *md, eptrblock *eptrb,

BIN
pcre-8.43.tar.bz2 Normal file

Binary file not shown.

123
pcre.spec Normal file
View File

@ -0,0 +1,123 @@
Name: pcre
Version: 8.43
Release: 2
Summary: Perl Compatible Regular Expressions
## Source package only:
# INSTALL: FSFAP
# install-sh: MIT and Public Domain
# ltmain.sh: (GPLv2+ or BSD) and (GPLv3+ or MIT)
# missing: GPLv2+ or BSD
# compile: GPLv2+ or BSD
# config.sub: GPLv3+ or BSD
# m4/ax_pthread.m4: GPLv3+ with exception
# m4/libtool.m4: GPLv2+ or BSD
# m4/ltversion.m4: FSFULLR
# m4/pcre_visibility.m4: FSFULLR
# m4/lt~obsolete.m4: FSFULLR
# m4/ltsugar.m4: FSFULLR
# m4/ltoptions.m4: FSFULLR
# aclocal.m4: (GPLv2+ or BSD) and FSFULLR
# Makefile.in: FSFULLR
# configure: FSFUL
# test-driver: GPLv2+ with exception
# testdata: Public Domain (see LICENSE file)
## Binary packages:
# other files: BSD
License: BSD
URL: http://www.pcre.org/
Source0: https://ftp.pcre.org/pub/pcre/%{name}-%{version}.tar.bz2
Patch0: pcre-8.41-fix_stack_estimator.patch
BuildRequires: readline-devel autoconf automake coreutils
BuildRequires: gcc git gcc-c++ glibc-common libtool make
BuildRequires: bash diffutils grep
Provides: %{name}-utf16 = %{version}-%{release}
Provides: %{name}-utf32 = %{version}-%{release}
Provides: %{name}-cpp = %{version}-%{release}
Provides: %{name}-tools = %{version}-%{release}
Obsoletes: %{name}-utf16 <= %{version}-%{release}
Obsoletes: %{name}-utf32 <= %{version}-%{release}
Obsoletes: %{name}-cpp <= %{version}-%{release}
Obsoletes: %{name}-tools <= %{version}-%{release}
%description
The PCRE library is a set of functions that implement regular expression
pattern matching using the same syntax and semantics as Perl 5. PCRE has
its own native API, as well as a set of wrapper functions that correspond
to the POSIX regular expression API. The PCRE library is free, even for
building proprietary software.
PCRE was originally written for the Exim MTA, but is now used by many
high-profile open source projects, including Apache, PHP, KDE, Postfix,
and Nmap. PCRE has also found its way into some well known commercial
products, like Apple Safari. Some other interesting projects using PCRE
include Chicken, Ferite, Onyx, Hypermail, Leafnode, Askemos, Wenlin, and
8th.
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
Provides: %{name}-static = %{version}-%{release}
Obsoletes: %{name}-static <= %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package help
Summary: Doc files for %{name}
Buildarch: noarch
Requires: man
%description help
The %{name}-help package contains doc files for %{name}.
%prep
%autosetup -n %{name}-%{version} -p1 -S git
libtoolize -cf
autoreconf -vif
%build
%configure --enable-jit --enable-pcretest-libreadline --enable-utf \
--enable-unicode-properties --enable-pcre8 --enable-pcre16 \
--enable-pcre32 --disable-silent-rules
%make_build
%install
%make_install
rm -f %{buildroot}/%{_libdir}/*.la
rm -rf %{buildroot}/%{_docdir}/pcre
%check
make check VERBOSE=yes
%ldconfig_scriptlets
%files
%doc AUTHORS NEWS README
%license LICENCE
%{_libdir}/*.so.*
%{_bindir}/pcregrep
%{_bindir}/pcretest
%files devel
%{_libdir}/*.so
%{_libdir}/pkgconfig/*
%{_includedir}/*.h
%{_bindir}/pcre-config
%{_libdir}/*.a
%files help
%doc doc/*.txt doc/html
%doc HACKING pcredemo.c
%{_mandir}/man1/*
%{_mandir}/man3/*
%changelog
* Sat Sep 29 2019 luhuaxin <luhuaxin@huawei.com> - 8.43-2
- Type: enhancement
- ID: NA
- SUG: NA
- DESC: move README file to main package
* Fri Aug 20 2019 luhuaxin <luhuaxin@huawei.com> - 8.43-1
- Package init