SHA256
1
0
forked from pool/xapian-core
xapian-core/xapian-core.spec
Dirk Mueller eadafe355b Accepting request 620422 from home:alarrosa:branches:server:search
- Update to 1.4.6:
  * API classes now support C++11 move semantics when using a compiler which
    we are confident supports them (currently compilers which define
    __cplusplus >= 201103 plus a special check for MSVC 2015 or later).
    C++11 move semantics provide a clean and efficient way for threaded code to
    hand-off Xapian objects to worker threads, but in this case it's very
    unhelpful for availability of these semantics to vary by compiler as it
    quietly leads to a build with non-threadsafe behaviour.  To address this,
    user code can #define XAPIAN_MOVE_SEMANTICS before #include <xapian.h> to
    force this on, and will then get a compilation failure if the compiler
    lacks suitable support.
  * MSet::snippet():
    + We were only escaping output for HTML/XML in some cases, which would
      potentially allow HTML to be injected into output (this fixes
      bnc#1099925, CVE-2018-0499).
    + Include certain leading non-word characters in snippets.  Previously we
      started the snippet at the start of the first actual word, but there are
      various cases where including non-word characters in front of the actual
      word adds useful context or otherwise aids comprehension.
  * Add MSetIterator::get_sort_key() method.  The sort key has always been
    available internally, but wasn't exposed via the public API before, which
    seems like an oversight as the collapse key has long been available.
  * Database::compact():
    + Allow Compactor::resolve_duplicate_metadata() implementations to delete
      entries.  Previously if an implementation returned an empty string this
      would result in a user meta-data entry with an empty value, which isn't
      normally achievable (empty meta-data values aren't stored), and so will
      cause odd behaviour.  We now handle an empty returned value by
      interpreting it in the natural way - it means that the merged result is
      to not set a value for that key in the output database.

OBS-URL: https://build.opensuse.org/request/show/620422
OBS-URL: https://build.opensuse.org/package/show/server:search/xapian-core?expand=0&rev=80
2018-07-04 07:16:37 +00:00

178 lines
5.7 KiB
RPMSpec

#
# spec file for package xapian-core
#
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: xapian-core
Version: 1.4.6
Release: 0
Summary: The Xapian Probabilistic Information Retrieval Library
License: GPL-2.0-only
Group: Productivity/Databases/Servers
Url: http://www.xapian.org/
Source0: http://www.oligarchy.co.uk/xapian/%{version}/%{name}-%{version}.tar.xz
Source1: http://www.oligarchy.co.uk/xapian/%{version}/%{name}-%{version}.tar.xz.asc
Source2: %{name}.keyring
Source3: baselibs.conf
BuildRequires: automake
BuildRequires: fdupes
BuildRequires: gcc-c++ >= 4.6
BuildRequires: libuuid-devel
BuildRequires: pkg-config
BuildRequires: xz
BuildRequires: zlib-devel
Requires: libxapian30 = %{version}
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Xapian is an Open Source Probabilistic Information Retrieval Library. It
offers a highly adaptable toolkit that allows developers to easily add advanced
indexing and search facilities to applications
%package -n libxapian30
Summary: Xapian search engine libraries
Group: Development/Libraries/C and C++
%description -n libxapian30
Xapian is an Open Source Probabilistic Information Retrieval framework. It
offers a highly adaptable toolkit that allows developers to easily add advanced
indexing and search facilities to applications. This package provides the
libraries for applications using Xapian functionality
%package -n libxapian-devel
Summary: Files needed for building packages which use Xapian
Group: Development/Libraries/C and C++
Requires: gcc-c++
Requires: libuuid-devel
Requires: libxapian30 = %{version}
Requires: zlib-devel
%description -n libxapian-devel
Xapian is an Open Source Probabilistic Information Retrieval framework. It
offers a highly adaptable toolkit that allows developers to easily add advanced
indexing and search facilities to applications. This package provides the
files needed for building packages which use Xapian
%package doc
Summary: Documentation for Xapian-core libraries
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%description doc
Xapian is an Open Source Probabilistic Information Retrieval framework. It
offers a highly adaptable toolkit that allows developers to easily add advanced
indexing and search facilities to applications. This package provides the
files needed for building packages which use Xapian
%package examples
Summary: Examples for Xapian-core libraries
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%description examples
Xapian is an Open Source Probabilistic Information Retrieval framework. It
offers a highly adaptable toolkit that allows developers to easily add advanced
indexing and search facilities to applications. This package provides the
files needed for building packages which use Xapian
%prep
%setup -q
%build
%configure \
%ifarch i586
--disable-sse \
%endif
--docdir=%{_docdir}/%{name}/
make %{?_smp_mflags}
%install
make DESTDIR=%{buildroot} docdatadir=%{_docdir}/%{name} install %{?_smp_mflags}
rm -rf examples/{.libs,.deps,.dirstamp,*.o,quest,delve,simplesearch,simpleexpand,simpleindex,copydatabase,xapian-metadata}
cp -vr examples %{buildroot}%{_docdir}/%{name}/
find . -name \*.spec -delete
install -m 644 AUTHORS COPYING ChangeLog README NEWS HACKING PLATFORMS ChangeLog.examples %{buildroot}%{_docdir}/%{name}
%fdupes %{buildroot}%{_docdir}/%{name}
%post -n libxapian30 -p /sbin/ldconfig
%postun -n libxapian30 -p /sbin/ldconfig
%files
%defattr(-, root, root)
%dir %{_docdir}/%{name}
%{_docdir}/%{name}/AUTHORS
%{_docdir}/%{name}/COPYING
%{_docdir}/%{name}/ChangeLog
%{_docdir}/%{name}/README
%{_docdir}/%{name}/NEWS
%{_docdir}/%{name}/HACKING
%{_docdir}/%{name}/PLATFORMS
%{_docdir}/%{name}/ChangeLog.examples
%{_bindir}/xapian-tcpsrv
%{_bindir}/xapian-progsrv
%{_bindir}/quest
%{_bindir}/copydatabase
%{_bindir}/simpleindex
%{_bindir}/simplesearch
%{_bindir}/simpleexpand
%{_bindir}/xapian-compact
%{_bindir}/xapian-check
%{_bindir}/xapian-delve
%{_bindir}/xapian-metadata
%{_bindir}/xapian-replicate
%{_bindir}/xapian-replicate-server
%{_mandir}/man1/xapian-check.1*
%{_mandir}/man1/xapian-delve.1*
%{_mandir}/man1/copydatabase.1*
%{_mandir}/man1/quest.1*
%{_mandir}/man1/xapian-compact.1*
%{_mandir}/man1/xapian-config.1*
%{_mandir}/man1/xapian-progsrv.1*
%{_mandir}/man1/xapian-tcpsrv.1*
%{_mandir}/man1/xapian-metadata.1*
%{_mandir}/man1/xapian-replicate.1*
%{_mandir}/man1/xapian-replicate-server.1*
%{_datadir}/xapian-core/
%files -n libxapian30
%defattr(-, root, root)
%{_libdir}/libxapian.so.*
%files -n libxapian-devel
%defattr(-, root, root)
%{_bindir}/xapian-config
%{_includedir}/xapian
%{_includedir}/xapian.h
%{_libdir}/libxapian.so
%{_libdir}/libxapian.la
%{_datadir}/aclocal/xapian.m4
%dir %{_libdir}/cmake/
%{_libdir}/cmake/xapian/
%{_libdir}/pkgconfig/xapian-core.pc
%files doc
%defattr(-, root, root)
%{_docdir}/%{name}/*.html
%{_docdir}/%{name}/apidoc*
%files examples
%defattr(-, root, root)
%{_docdir}/%{name}/examples/
%changelog