diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a041f4d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/ldb-1.5.4.tar.gz diff --git a/.libldb.metadata b/.libldb.metadata new file mode 100644 index 0000000..33655e6 --- /dev/null +++ b/.libldb.metadata @@ -0,0 +1 @@ +870e4112053ae350f5de27b00aa8703d3e7dc34d SOURCES/ldb-1.5.4.tar.gz diff --git a/SPECS/libldb.spec b/SPECS/libldb.spec new file mode 100644 index 0000000..b8cf3e3 --- /dev/null +++ b/SPECS/libldb.spec @@ -0,0 +1,360 @@ +%if ! (0%{?fedora} > 12 || 0%{?rhel} > 5) +%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")} +%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")} +%endif + +%define talloc_version 2.1.16 +%define tdb_version 1.3.18 +%define tevent_version 0.9.39 + +Name: libldb +Version: 1.5.4 +Release: 1%{?dist} +Group: Development/Libraries +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: LGPLv3+ +URL: http://ldb.samba.org/ +Source: http://samba.org/ftp/ldb/ldb-%{version}.tar.gz + +BuildRequires: libtalloc-devel >= %{talloc_version} +BuildRequires: libtdb-devel >= %{tdb_version} +BuildRequires: libtevent-devel >= %{tevent_version} +%{?fedora:BuildRequires: popt-devel} +%if 0%{?rhel} <= 5 +BuildRequires: popt +%endif +%if 0%{?rhel} >= 6 +BuildRequires: popt-devel +%endif +BuildRequires: autoconf +BuildRequires: libxslt +BuildRequires: docbook-style-xsl +BuildRequires: python-devel +BuildRequires: python-tdb +BuildRequires: pytalloc-devel +BuildRequires: python-tevent +BuildRequires: doxygen + +Provides: bundled(libreplace) +Provides: bundled(libtdb_compat) + +# Patches + +%description +An extensible library that implements an LDAP like API to access remote LDAP +servers, or use local tdb databases. + +%package -n ldb-tools +Group: Development/Libraries +Summary: Tools to manage LDB files +Requires: libldb%{?_isa} = %{version}-%{release} + +%description -n ldb-tools +Tools to manage LDB files + +%package devel +Group: Development/Libraries +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} +Requires: pkgconfig + +%description devel +Header files needed to develop programs that link against the LDB library. + +%package -n pyldb +Group: Development/Libraries +Summary: Python bindings for the LDB library +Requires: libldb%{?_isa} = %{version}-%{release} +Requires: python-tdb%{?_isa} >= %{tdb_version} + +%description -n pyldb +Python bindings for the LDB library + +%package -n pyldb-devel +Group: Development/Libraries +Summary: Development files for the Python bindings for the LDB library +Requires: pyldb%{?_isa} = %{version}-%{release} + +%description -n pyldb-devel +Development files for the Python bindings for the LDB library + +%prep +%setup -q -n ldb-%{version} + +%build + +export PYTHON=/usr/bin/python2 +%configure --disable-rpath \ + --disable-rpath-install \ + --bundled-libraries=cmocka \ + --builtin-libraries=replace \ + --with-modulesdir=%{_libdir}/ldb/modules \ + --without-ldb-lmdb \ + --with-privatelibdir=%{_libdir}/ldb + +# Don't build with multiple processors +# It breaks due to a threading issue in WAF +make V=1 +doxygen Doxyfile + +%install +export PYTHON=/usr/bin/python2 +make install DESTDIR=%{buildroot} + +rm -f %{buildroot}%{_libdir}/libldb.a +rm -f %{buildroot}%{_libdir}/ldb/libcmocka-ldb.so + +# Shared libraries need to be marked executable for +# rpmbuild to strip them and include them in debuginfo +find $RPM_BUILD_ROOT -name "*.so*" -exec chmod -c +x {} \; + +# Install API docs +cp -a apidocs/man/* $RPM_BUILD_ROOT/%{_mandir} + +# LDB 1.1.8+ bug: remove manpage named after full +# file path +rm -f $RPM_BUILD_ROOT/%{_mandir}/man3/_* + +%clean +rm -rf %{buildroot} + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%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 +%dir %{_libdir}/ldb/modules +%dir %{_libdir}/ldb/modules/ldb +%{_libdir}/ldb/modules/ldb/*.so + +%files -n ldb-tools +%defattr(-,root,root,-) +%{_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 +%defattr(-,root,root,-) +%{_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 pyldb +%defattr(-,root,root,-) +%{python_sitearch}/ldb.so +%{_libdir}/libpyldb-util.so.1* +%{python_sitearch}/_ldb_text.py* + +%files -n pyldb-devel +%defattr(-,root,root,-) +%{_includedir}/pyldb.h +%{_libdir}/libpyldb-util.so +%{_libdir}/pkgconfig/pyldb-util.pc +%{_mandir}/man*/Py*.gz + +%post -n pyldb -p /sbin/ldconfig +%postun -n pyldb -p /sbin/ldconfig + +%changelog +* Thu Aug 1 2019 Jakub Hrozek - 1.5.4-1 +- Resolves: rhbz#1736013 - Rebase libldb to version 1.5.4 for Samba + +* Wed Jan 16 2019 Jakub Hrozek - 1.4.2-1 +- Resolves: rhbz#1658758 - Rebase libldb to version 1.4.2 for Samba + +* Wed Jun 27 2018 Jakub Hrozek - 1.3.4-1 +- Resolves: rhbz#1558497 - Rebase libldb to enable samba rebase + +* Thu May 3 2018 Jakub Hrozek - 1.3.3-1 +- Resolves: rhbz#1558497 - Rebase libldb to enable samba rebase + +* Tue Apr 10 2018 Jakub Hrozek - 1.3.2-1 +- Resolves: rhbz#1558497 - Rebase libldb to enable samba rebase + +* Sun Oct 15 2017 Jakub Hrozek - 1.2.2-1 +- Resolves: rhbz#1470056 - Rebase libldb to enable samba rebase to + version 4.7.x + +* Tue Feb 14 2017 Jakub Hrozek - 1.1.29-1 +- Resolves: rhbz#1393810 - Rebase libldb to enable samba rebase to + version 4.6.x + +* Thu Jun 9 2016 Jakub Hrozek - 1.1.26-1 +- Resolves: rhbz#1320253 - Rebase libldb to version 1.1.26 + +* Fri Apr 1 2016 Jakub Hrozek - 1.1.25-1 +- Rebase libldb to 1.1.25 +- Remove upstreamed patches +- Related: rhbz#1322691 + +* Mon Dec 14 2015 Jakub Hrozek - 1.1.20-3 +- Resolves: rhbz#1290715 - CVE-2015-5330 libldb: samba: Remote memory read + in Samba LDAP server [rhel-7.3] +- Remove the patch from the previous commit, it doesn't fix a remotely + eploitable issue. Add patches from upstream #11636 instead. + +* Mon Dec 14 2015 Jakub Hrozek - 1.1.20-2 +- Resolves: rhbz#1290715 - CVE-2015-5330 libldb: samba: Remote memory read + in Samba LDAP server [rhel-7.3] + +* Wed Jun 3 2015 Jakub Hrozek - 1.1.20-1 +- Related: rhbz#1226047 - Rebase libldb to at least 1.1.20 in RHEL-7.2 + +* Mon Nov 24 2014 Jakub Hrozek - 1.1.17-2 +- Fix the minimal required tdb version +- Related: rhbz#1133914 - Rebase libldb to version 1.1.17 or newer + +* Thu Sep 04 2014 Jakub Hrozek - 1.1.17-1 +- New upstream release 1.1.17 +- Resolves: rhbz#1133914 - Rebase libldb to version 1.1.17 or newer + +* Fri Jan 24 2014 Daniel Mach - 1.1.16-4 +- Mass rebuild 2014-01-24 + +* Fri Dec 27 2013 Daniel Mach - 1.1.16-3 +- Mass rebuild 2013-12-27 + +* Mon Jul 08 2013 Jakub Hrozek - 1.1.16-2 +- Make the Requires arch-specific + +* Tue Jul 02 2013 - Andreas Schneider - 1.1.16-1 +- New upstream release 1.1.16 + +* Wed Jun 05 2013 Jakub Hrozek - 1.1.15-3 +- Relax pytdb requirement + +* Thu Feb 07 2013 Jakub Hrozek - 1.1.15-2 +- The 1.1.15 rebase obsoletes the patch from 1.1.14-2 + +* Thu Feb 07 2013 Jakub Hrozek - 1.1.15-1 +- New upstream release 1.1.15 + +* Wed Jan 30 2013 Jakub Hrozek - 1.1.14-2 +- Add patch by Stephen Gallagher to include manual pages for + ldb_connect() and several other functions. + +* Sat Dec 01 2012 Jakub Hrozek - 1.1.14-1 +- New upstream release 1.1.14 + +* Wed Oct 03 2012 Jakub Hrozek - 1.1.13-1 +- New upstream release 1.1.13 + +* Mon Sep 03 2012 Jakub Hrozek - 1.1.12-1 +- New upstream release 1.1.12 + +* Tue Aug 28 2012 Jakub Hrozek - 1.1.11-1 +- New upstream release 1.1.11 + +* Mon Aug 10 2012 Jakub Hrozek - 1.1.10-1 +- New upstream release 1.1.10 + +* Thu Aug 02 2012 Stephen Gallagher - 1.1.9-1 +- New upstream release 1.1.9 +- Required for Samba 4 Beta 5 +- Ensure rename target does not exist before deleting old record +- Add parameter to avoid NULL format string flagged by -Werror=format + +* Thu Jul 19 2012 Fedora Release Engineering - 1.1.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Jul 10 2012 Stephen Gallagher - 1.1.8-1 +- New upstream release 1.1.8 +- Required for latest Samba 4 beta +- Fixes for pyldb +- Revert to using tdb1 by default +- Drop support for tdb_compat +- CCAN is no longer built as a static library + +* Tue May 22 2012 Stephen Gallagher - 1.1.6-1 +- New upstream release 1.1.6 +- Drop upstream patches +- Required for upcoming Samba 4 beta +- Explicitly build with tdb1 support + +* Fri Jan 13 2012 Fedora Release Engineering - 1.1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Fri Dec 09 2011 Stephen Gallagher - 1.1.4-1.1 +- Do not build with multiple CPUs + +* Tue Dec 06 2011 Stephen Gallagher - 1.1.4-1 +- New upstream release +- Add ldb_module_error() routine +- Fedora: work around unreliable configure check for pytevent +- Drop patch to ignore --disable-silent-rules (included in tarball) + +* Thu Dec 01 2011 Stephen Gallagher - 1.1.3-4 +- Add patch to ignore --disable-silent-rules + +* Wed Nov 23 2011 Stephen Gallagher - 1.1.3-3 +- Add explicit mention of the bundled libreplace +- https://fedorahosted.org/fpc/ticket/120 +- Add explicit mention of bundled libtdb_compat and libccan +- https://fedorahosted.org/fpc/ticket/119 + +* Mon Nov 21 2011 Stephen Gallagher - 1.1.3-2 +- Build and install API documentation +- Build tdb_compat and ccan statically. They have no upstream releases to + link against yet and their API is in flux. It is unsafe to make them + public and shared at this time. + +* Wed Nov 09 2011 Stephen Gallagher - 1.1.3-1 +- New upstream release +- Required for building newer samba4 packages + +* Tue Aug 2 2011 Simo Sorce - 1.1.0-1 +- Update to 1.1.0 + (dependency for samba4 alpha16 snapshot) + +* Tue Feb 22 2011 Simo Sorce - 1.0.2-1 +- Update to 1.0.2 + (dependency for samba4 alpha15 snapshot) + +* Fri Feb 11 2011 Stephen Gallagher - 1.0.0-2 +- Disable rpath + +* Fri Feb 11 2011 Stephen Gallagher - 1.0.0-1 +- New upstream release 1.0.0 +- SOname bump to account for module loading changes +- Rename libldb-tools to ldb-tools to make upgrades easier + +* Tue Feb 08 2011 Fedora Release Engineering - 0.9.22-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Feb 04 2011 Stephen Gallagher - 0.9.22-8 +- Fixes from package review +- Change Requires: on tools subpackage to be the exact version/release +- Remove unnecessary BuildRoot directive + +* Mon Jan 17 2011 Stephen Gallagher - 0.9.22-7 +- Update to 0.9.22 (first independent release of libldb upstream) +