pcre2/pcre2.spec

158 lines
4.6 KiB
RPMSpec
Raw Normal View History

2019-09-30 11:11:28 -04:00
Name: pcre2
2020-07-24 18:42:56 +08:00
Version: 10.35
Release: 1
2019-09-30 11:11:28 -04:00
Summary: Perl Compatible Regular Expressions
License: BSD
URL: http://www.pcre.org/
Source0: https://ftp.pcre.org/pub/pcre/%{name}-%{version}.tar.bz2
2020-07-24 18:42:56 +08:00
# Do no set RPATH if libdir is not /usr/lib
Patch0: pcre2-10.10-Fix-multilib.patch
# 1/2 Enable shadow stack built-in functions if -fcf-protection compiler flag is
Patch1: pcre2-10.35-Apply-H.J.-Lu-s-patch-to-pass-mshstk-to-the-compiler.patch
# 2/2 Enable shadow stack built-in functions if -fcf-protection compiler flag is
Patch2: pcre2-10.35-Fix-previous-commit-include-CET_CFLAGS-in-16-bit-and.patch
# Fix an infinite loop when a single-byte newline is search in JIT if an
Patch3: pcre2-10.35-Fix-inifinite-loop-when-a-single-byte-newline-is-sea.patch
# Fix a buffer overread when parsing an unterminated VERSION condition with
# a single-digit minor number at the end of a regular expression,
Patch4: pcre2-10.35-Fix-read-overflow-for-invalid-VERSION-test-with-one-.patch
# Fix an early fail optimization with character ranges and a buffer overread
Patch5: pcre2-10.35-Fix-an-early-fail-optimization-issue-and-a-buffer-ov.patch
2020-02-03 16:47:03 +08:00
2019-09-30 11:11:28 -04:00
BuildRequires: autoconf libtool automake coreutils gcc make readline-devel
Obsoletes: pcre2-utf16 pcre2-utf32 pcre2-tools
Provides: pcre2-utf16 pcre2-utf32 pcre2-tools
Provides: bundled(sljit)
%description
PCRE2 is a re-working of the original PCRE1 library to provide an entirely new
API. Since its initial release in 2015, there has been further development of
the code and it now differs from PCRE1 in more than just the 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. Unlike PCRE1, there
are no C++ wrappers.
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 are built into a library called libpcre2-posix. 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 devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
Obsoletes: pcre2-static
Provides: pcre2-static
%description devel
%{summary}.
%package help
Summary: Man pages for %{name}
BuildArch: noarch
%description help
%{summary}.
%prep
%autosetup -n %{name}-%{version} -p1
autoreconf -vif
%build
%configure \
2020-06-02 15:45:59 +08:00
%ifarch riscv64
--disable-jit \
%else
2019-09-30 11:11:28 -04:00
--enable-jit \
2020-06-02 15:45:59 +08:00
%endif
2019-09-30 11:11:28 -04:00
--enable-pcre2grep-jit \
--disable-bsr-anycrlf \
--disable-coverage \
--disable-ebcdic \
--disable-fuzz-support \
--disable-jit-sealloc \
--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-static \
--enable-unicode \
--disable-valgrind \
--disable-silent-rules
%make_build
%install
%make_install
#Unpacked files
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
%check
make check
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root)
%license %{_pkgdocdir}/{COPYING,LICENCE}
%doc AUTHORS ChangeLog NEWS HACKING README
%{_libdir}/libpcre2-8.so.*
%{_libdir}/libpcre2-posix.so.*
%{_libdir}/libpcre2-16.so.*
%{_libdir}/libpcre2-32.so.*
%{_bindir}/pcre2grep
%{_bindir}/pcre2test
%files devel
%{_includedir}/*.h
%{_libdir}/*.so
%{_libdir}/*.a
%{_libdir}/pkgconfig/*
%{_bindir}/pcre2-config
%doc ./src/pcre2demo.c
%files help
%{_mandir}/man1/*
%{_mandir}/man3/*
%{_pkgdocdir}/*.txt
%{_pkgdocdir}/html/
%changelog
2020-07-24 18:42:56 +08:00
* Fri Jul 24 2020 zhangxingliang <zhangxingliang3@huawei.com> - 10.35-1
- Type:update
- ID:NA
- SUG:NA
- DESC:update to 10.35
2020-06-02 15:45:59 +08:00
* Tue Jun 2 2020 whoisxxx <zhangxuzhou4@huawei.com> - 10.33-4
- DESC: Disable jit for RISC-V
2020-04-07 11:47:29 +08:00
* Tue Apr 7 2020 openEuler Buildteam <buildteam@openeuler.org> - 10.33-3
- Type:cves
- ID:CVE-2019-20454
- SUG:NA
- DESC:fix CVE-2019-20454
2020-02-03 16:47:03 +08:00
* Mon Feb 3 2020 openEuler Buildteam <buildteam@openeuler.org> - 10.33-2
- Fix stack buffer overflow
2019-09-30 11:11:28 -04:00
* Sat Sep 14 2019 openEuler Buildteam <buildteam@openeuler.org> - 10.33-1
- Package init