xapian-core/xapian-core.spec
Dirk Mueller 581df8f2af Accepting request 989717 from home:dirkmueller:Factory
- update to 1.4.20:
  * Throw DatabaseNotFoundError when the database directory doesn't exist or
    when it doesn't contain a Xapian database.  Patch from Germán Méndez Bravo
    in https://github.com/xapian/xapian/pull/258
  * Improve exception message for attempting to remove an empty term (the
    exception type is still InvalidArgumentError).  Reported by David Bremner.
  * Optimise when a value range is a superset of the slot bounds but the value
    slot frequency is not equal to the document count by replacing the lower
    bound with an empty string to make the bounds check very cheap.
  * Avoid creating a PostList tree for an empty shard.  This avoids pointless
    work in an uncommon case, but also by handling this up front the code in
    PostList subclasses for query operators can assume the shard isn't empty
    which simplifies the code in several places.
  * Remove lingering handling for database backends without slot bounds since
    all backends have been required to support these since 1.4.11.
  * Fix collection frequency estimates for positional operators.  This affects
    the weighting of positional operators in subqueries of OP_SYNONYM with
    weighting schemes which use the collection frequency.
  * xapian-check: Test decompress data in the spelling and synonym tables.
    We don't have structure checking for these tables, but we can at least fetch
    each entry and check for decompression problems.
  * Improve error if a block is detected as overwritten in WritableDatabase.
    Drop "are there multiple writers?" as it's rarely a useful question to ask
    since we started using fcntl() locking as it's now very hard to get multiple
    concurrent writers on a database.  Instead suggest running xapian-check,
    which is probably the best next step for a user who hits this problem.

OBS-URL: https://build.opensuse.org/request/show/989717
OBS-URL: https://build.opensuse.org/package/show/server:search/xapian-core?expand=0&rev=99
2022-07-19 10:41:14 +00:00

186 lines
5.4 KiB
RPMSpec

#
# spec file for package xapian-core
#
# Copyright (c) 2022 SUSE LLC
#
# 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 https://bugs.opensuse.org/
#
Name: xapian-core
Version: 1.4.20
Release: 0
Summary: The Xapian Probabilistic Information Retrieval Library
License: GPL-2.0-only
Group: Productivity/Databases/Servers
URL: https://xapian.org/
Source0: https://www.oligarchy.co.uk/xapian/%{version}/%{name}-%{version}.tar.xz
Source1: https://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 a Probabilistic Information Retrieval library. It offers an
adaptable toolkit for adding indexing and search facilities to
applications.
%package -n libxapian30
Summary: Xapian search engine libraries
Group: System/Libraries
%description -n libxapian30
Xapian is a Probabilistic Information Retrieval library. It offers an
adaptable toolkit for adding indexing and search facilities to
applications.
%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 a Probabilistic Information Retrieval library. It offers an
adaptable toolkit for adding indexing and search facilities to
applications.
This subpackage contains the header files for the library.
%package doc
Summary: Documentation for the xapian-core libraries
Group: Documentation/HTML
Requires: %{name} = %{version}
%description doc
Xapian is a Probabilistic Information Retrieval library.
This subpackage provides the documentation for Xapian.
%package examples
Summary: Examples for Xapian-core libraries
Group: Development/Libraries/C and C++
Requires: %{name} = %{version}
%description examples
Xapian is a Probabilistic Information Retrieval Library.
This subpackage contains some examples for 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,xapian-pos}
cp -vr examples %{buildroot}%{_docdir}/%{name}/
find . -name \*.spec -delete
install -m 644 AUTHORS ChangeLog README NEWS HACKING PLATFORMS ChangeLog.examples %{buildroot}%{_docdir}/%{name}
# SLE12 support needs to copy this manually, since %doc would include the examples subdirectory too
%if 0%{suse_version} < 1500 && !0%{?is_opensuse}
install -m 644 COPYING %{buildroot}%{_docdir}/%{name}
%endif
%fdupes %{buildroot}%{_docdir}/%{name}
%post -n libxapian30 -p /sbin/ldconfig
%postun -n libxapian30 -p /sbin/ldconfig
%files
%defattr(-, root, root)
%dir %{_docdir}/%{name}
%if 0%{suse_version} < 1500 && !0%{?is_opensuse}
%{_docdir}/%{name}/COPYING
%else
%license COPYING
%endif
%{_docdir}/%{name}/AUTHORS
%{_docdir}/%{name}/ChangeLog
%{_docdir}/%{name}/README
%{_docdir}/%{name}/NEWS
%{_docdir}/%{name}/HACKING
%{_docdir}/%{name}/PLATFORMS
%{_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-pos
%{_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-pos.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}/ChangeLog.examples
%{_docdir}/%{name}/examples/
%changelog