diff --git a/0001-Install-python-bindings-in-the-arch-specific-locatio.patch b/0001-Install-python-bindings-in-the-arch-specific-locatio.patch new file mode 100644 index 0000000..0488a1e --- /dev/null +++ b/0001-Install-python-bindings-in-the-arch-specific-locatio.patch @@ -0,0 +1,35 @@ +From feff3aad50304450248aa66aed59d09439699234 Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher +Date: Wed, 12 Jan 2011 15:01:52 -0500 +Subject: [PATCH] Install python bindings in the arch-specific location + +--- + buildtools/wafsamba/samba_python.py | 5 ++++- + 1 files changed, 4 insertions(+), 1 deletions(-) + +diff --git a/buildtools/wafsamba/samba_python.py b/buildtools/wafsamba/samba_python.py +index a663b1910d063336c1340142ae8855d7e176ecdb..9b72f3fd112288a022a2de0701594814616f202f 100644 +--- a/buildtools/wafsamba/samba_python.py ++++ b/buildtools/wafsamba/samba_python.py +@@ -51,6 +51,9 @@ def SAMBA_PYTHON(bld, name, + + link_name = 'python/%s' % realname + ++ from distutils.sysconfig import get_python_lib ++ arch_install_dir = get_python_lib(1) ++ + bld.SAMBA_LIBRARY(name, + source=source, + deps=deps, +@@ -63,7 +66,7 @@ def SAMBA_PYTHON(bld, name, + link_name=link_name, + pyembed=True, + target_type='PYTHON', +- install_path='${PYTHONDIR}', ++ install_path=arch_install_dir, + enabled=enabled) + + Build.BuildContext.SAMBA_PYTHON = SAMBA_PYTHON +-- +1.7.3.4 + diff --git a/dead.package b/dead.package deleted file mode 100644 index af1febf..0000000 --- a/dead.package +++ /dev/null @@ -1 +0,0 @@ -libldb is provided by the samba4 RPM in Fedora. It is only useful as a separate package in EPEL. diff --git a/libldb.spec b/libldb.spec new file mode 100644 index 0000000..77c1a94 --- /dev/null +++ b/libldb.spec @@ -0,0 +1,172 @@ +%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.0.5 +%define tdb_version 1.2.9 +%define tevent_version 0.9.10 + +Name: libldb +Version: 0.9.22 +Release: 8%{?dist} +Group: Development/Libraries +Summary: A schema-less, ldap like, API and database +Requires: libtalloc >= %{talloc_version} +Requires: libtdb >= %{tdb_version} +Requires: libtevent >= %{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 + +# Patches +Patch0001: 0001-Install-python-bindings-in-the-arch-specific-locatio.patch + +%description +An extensible library that implements an LDAP like API to access remote LDAP +servers, or use local tdb databases. + +%package tools +Group: Development/Libraries +Summary: Tools to manage LDB files +Requires: libldb = %{version}-%{release} + +%description tools +Tools to manage LDB files + +%package devel +Group: Development/Libraries +Summary: Developer tools for the LDB library +Requires: libldb = %{version}-%{release} +Requires: libtdb-devel >= %{tdb_version} +Requires: libtalloc-devel >= %{talloc_version} +Requires: libtevent-devel >= %{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 = %{version}-%{release} +Requires: python-tdb = %{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 = %{version}-%{release} + +%description -n pyldb-devel +Development files for the Python bindings for the LDB library + +%prep +%setup -q -n ldb-%{version} + +%patch0001 -p1 + +%build +./autogen.sh +%configure --disable-rpath \ + --disable-rpath-install \ + --bundled-libraries=NONE \ + --with-modulesdir=%{_libdir}/ldb/modules \ + --with-privatelibdir=%{_libdir}/ldb + +make V=1 %{?_smp_mflags} + +%install +make install DESTDIR=%{buildroot} + +rm -f %{buildroot}%{_libdir}/libldb.a + +# Remove _tevent.so (it's managed by python-tevent) +rm -f %{buildroot}/%{python_sitearch}/_tevent.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 {} \; + +%clean +rm -rf %{buildroot} + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%defattr(-,root,root,-) +%dir %{_libdir}/ldb +%{_libdir}/libldb.so.* +%{_libdir}/ldb/modules/ldb/*.so + +%files tools +%defattr(-,root,root,-) +%{_bindir}/ldbadd +%{_bindir}/ldbdel +%{_bindir}/ldbedit +%{_bindir}/ldbmodify +%{_bindir}/ldbrename +%{_bindir}/ldbsearch +%{_libdir}/ldb/libldb-cmdline-ldb.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.h +%{_libdir}/libldb.so + +%{_libdir}/pkgconfig/ldb.pc +%{_mandir}/man3/ldb.3.gz + +%files -n pyldb +%defattr(-,root,root,-) +%{python_sitearch}/ldb.so +%{_libdir}/libpyldb-util.so.* + +%files -n pyldb-devel +%defattr(-,root,root,-) +%{_includedir}/pyldb.h +%{_libdir}/libpyldb-util.so +%{_libdir}/pkgconfig/pyldb-util.pc + +%post -n pyldb -p /sbin/ldconfig +%postun -n pyldb -p /sbin/ldconfig + +%changelog +* 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) +