libldb/libldb.spec
Andreas Schneider 779ab1c481 Fix performance issue with indexes
- resolves: RHEL-53008
2024-08-12 12:23:44 +02:00

198 lines
5.2 KiB
RPMSpec

# lmdb is not supported on 32 bit architectures
%ifarch aarch64 ppc64le s390x x86_64
%bcond_without lmdb
%else
%bcond_with lmdb
#endif arch
%endif
%global talloc_version 2.4.2
%global tdb_version 1.4.10
%global tevent_version 0.16.1
Name: libldb
Version: 2.9.1
Release: %autorelease
Summary: A schema-less, ldap like, API and database
Requires: libtalloc%{?_isa} >= %{talloc_version}
Requires: libtdb%{?_isa} >= %{tdb_version}
Requires: libtevent%{?_isa} >= %{tevent_version}
License: LGPL-3.0-or-later
URL: http://ldb.samba.org/
Source0: https://www.samba.org/ftp/ldb/ldb-%{version}.tar.gz
Source1: https://www.samba.org/ftp/ldb/ldb-%{version}.tar.asc
# gpg2 --no-default-keyring --keyring ./ldb.keyring --recv-keys 9147A339719518EE9011BCB54793916113084025
Source2: ldb.keyring
Patch0: libldb-fix-indexes-performance.patch
BuildRequires: docbook-style-xsl
BuildRequires: doxygen
BuildRequires: gcc
BuildRequires: gnupg2
BuildRequires: libcmocka-devel
BuildRequires: libtalloc-devel >= %{talloc_version}
BuildRequires: libtdb-devel >= %{tdb_version}
BuildRequires: libtevent-devel >= %{tevent_version}
BuildRequires: libxslt
BuildRequires: make
BuildRequires: openldap-devel
BuildRequires: popt-devel
BuildRequires: python3-devel
BuildRequires: python3-talloc-devel
BuildRequires: python3-tdb
BuildRequires: python3-tevent
%if %{with lmdb}
BuildRequires: lmdb-devel >= 0.9.16
%endif
Provides: bundled(libreplace)
Obsoletes: python2-ldb < 2.0.5-1
Obsoletes: python2-ldb-devel < 2.0.5-1
Obsoletes: pyldb < 1.1.26-2
%description
An extensible library that implements an LDAP like API to access remote LDAP
servers, or use local tdb databases.
%package -n ldb-tools
Summary: Tools to manage LDB files
Requires: libldb%{?_isa} = %{version}-%{release}
%description -n ldb-tools
Tools to manage LDB files
%package devel
Summary: Developer tools for the LDB library
Requires: libldb%{?_isa} = %{version}-%{release}
Requires: libtdb-devel%{?_isa} >= %{tdb_version}
Requires: libtalloc-devel%{?_isa} >= %{talloc_version}
Requires: libtevent-devel%{?_isa} >= %{tevent_version}
%description devel
Header files needed to develop programs that link against the LDB library.
%package -n python-ldb-devel-common
Summary: Common development files for the Python bindings for the LDB library
Provides: pyldb-devel%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python2-ldb-devel}
%description -n python-ldb-devel-common
Development files for the Python bindings for the LDB library.
This package includes files that aren't specific to a Python version.
%package -n python3-ldb
Summary: Python bindings for the LDB library
Requires: libldb%{?_isa} = %{version}-%{release}
Requires: python3-tdb%{?_isa} >= %{tdb_version}
%{?python_provide:%python_provide python3-ldb}
%description -n python3-ldb
Python bindings for the LDB library
%package -n python3-ldb-devel
Summary: Development files for the Python bindings for the LDB library
Requires: python3-ldb%{?_isa} = %{version}-%{release}
Requires: python-ldb-devel-common%{?_isa} = %{version}-%{release}
%{?python_provide:%python_provide python3-ldb-devel}
%description -n python3-ldb-devel
Development files for the Python bindings for the LDB library
%prep
zcat %{SOURCE0} | gpgv2 --quiet --keyring %{SOURCE2} %{SOURCE1} -
%autosetup -n ldb-%{version} -p3
%build
%configure --disable-rpath \
--disable-rpath-install \
--bundled-libraries=NONE \
--builtin-libraries=replace \
--with-modulesdir=%{_libdir}/ldb/modules \
%if %{without lmdb}
--without-ldb-lmdb \
%endif
--with-privatelibdir=%{_libdir}/ldb
%make_build
doxygen Doxyfile
%if %{with lmdb}
%check
make %{?_smp_mflags} check
#endif with lmdb
%endif
%install
%make_install
# Install API docs
cp -a apidocs/man/* %{buildroot}%{_mandir}
# bug: remove manpage named after full file path
# not needed with el8+ and fc28+
rm -f %{buildroot}%{_mandir}/man3/_*
%files
%dir %{_libdir}/ldb
%{_libdir}/libldb.so.*
%{_libdir}/ldb/libldb-key-value.so
%{_libdir}/ldb/libldb-tdb-err-map.so
%{_libdir}/ldb/libldb-tdb-int.so
%if %{with lmdb}
%{_libdir}/ldb/libldb-mdb-int.so
%endif
%dir %{_libdir}/ldb/modules
%dir %{_libdir}/ldb/modules/ldb
%{_libdir}/ldb/modules/ldb/*.so
%files -n ldb-tools
%{_bindir}/ldbadd
%{_bindir}/ldbdel
%{_bindir}/ldbedit
%{_bindir}/ldbmodify
%{_bindir}/ldbrename
%{_bindir}/ldbsearch
%{_libdir}/ldb/libldb-cmdline.so
%{_mandir}/man1/ldbadd.1.*
%{_mandir}/man1/ldbdel.1.*
%{_mandir}/man1/ldbedit.1.*
%{_mandir}/man1/ldbmodify.1.*
%{_mandir}/man1/ldbrename.1.*
%{_mandir}/man1/ldbsearch.1.*
%files devel
%{_includedir}/ldb_module.h
%{_includedir}/ldb_handlers.h
%{_includedir}/ldb_errors.h
%{_includedir}/ldb_version.h
%{_includedir}/ldb.h
%{_libdir}/libldb.so
%{_libdir}/pkgconfig/ldb.pc
%{_mandir}/man3/ldb*.gz
%{_mandir}/man3/ldif*.gz
%files -n python-ldb-devel-common
%{_includedir}/pyldb.h
%{_mandir}/man*/Py*.gz
%files -n python3-ldb
%{python3_sitearch}/ldb.cpython-*.so
%{_libdir}/libpyldb-util.cpython-*.so.2*
%{python3_sitearch}/_ldb_text.py
%{python3_sitearch}/__pycache__/_ldb_text.cpython-*.py*
%files -n python3-ldb-devel
%{_libdir}/libpyldb-util.cpython-*.so
%{_libdir}/pkgconfig/pyldb-util.cpython-*.pc
%ldconfig_scriptlets
%ldconfig_scriptlets -n python3-ldb
%changelog
%autochangelog