SHA256
1
0
forked from pool/xapian-core
xapian-core/xapian-core.spec

178 lines
5.7 KiB
RPMSpec
Raw Normal View History

#
# spec file for package xapian-core
#
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
# 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
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
Version: 1.4.6
Release: 0
Summary: The Xapian Probabilistic Information Retrieval Library
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
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
Accepting request 439920 from home:alarrosa:branches:server:search - Update to 1.4.1 * Constructing a Query for a non-reference counted PostingSource object will now try to clone the PostingSource object (as happened in 1.3.4 and earlier). This clone code was removed as part of the changes in 1.3.5 to support optional reference counting of PostingSource objects, but that breaks the case when the PostingSource object is on the stack and goes out of scope before the Query object is used. Issue reported by Till Schäfer and analysed by Daniel Vrátil in a bug report against Akonadi: https://bugs.kde.org/show_bug.cgi?id=363741 * Add BM25PlusWeight class implementing the BM25+ weighting scheme, implemented by Vivek Pal (https://github.com/xapian/xapian/pull/104). * Add PL2PlusWeight class implementing the PL2+ weighting scheme, implemented by Vivek Pal (https://github.com/xapian/xapian/pull/108). * LMWeight: Implement Dir+ weighting scheme as DIRICHLET_PLUS_SMOOTHING. Patch from Vivek Pal. * Add CoordWeight class implementing coordinate matching. This can be useful for specialised uses - e.g. to implement sorting by the number of matching filters. * DLHWeight,DPHWeight,PL2Weight: With these weighting schemes, the formulae can give a negative weight contribution for a term in extreme cases. We used to try to handle this by calculating a per-term lower bound on the contribution and subtracting this from the contribution, but this idea is fundamentally flawed as the total offset it adds to a document depends on what combination of terms that document matches, meaning in general the offset isn't the same for every matching document. So instead we now clamp each term's weight contribution to be >= 0. * TfIdfWeight: Always scale term weight by wqf - this seems the logical approach as it matches the weighting we'd get if we weighted every non-unique term in the query, as well as being explicit in the Piv+ formula. OBS-URL: https://build.opensuse.org/request/show/439920 OBS-URL: https://build.opensuse.org/package/show/server:search/xapian-core?expand=0&rev=72
2016-11-12 07:43:25 +00:00
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