From 7d30400f9c5780e878fa3f43323411a2bf752154 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 21 Dec 2011 22:34:55 +0100 Subject: Make building with talloc, tevent and ldb optional. --- samba4.spec | 116 +++++++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 84 insertions(+), 32 deletions(-) diff --git a/samba4.spec b/samba4.spec index 7f72e21..59c9a5d 100644 --- a/samba4.spec +++ b/samba4.spec @@ -10,6 +10,15 @@ %define samba_release %{main_release}%{pre_release}%{?dist} %define with_pam_smbpass 0 +%define with_talloc 1 +%define with_tevent 1 +%define with_ldb 1 + +%if 0%{?fedora} > 15 || 0%{?rhel} > 6 +%define with_talloc 0 +%define with_tevent 0 +%define with_ldb 0 +%endif Name: samba4 Version: %{samba_version} @@ -75,12 +84,27 @@ BuildRequires: readline-devel BuildRequires: sed BuildRequires: zlib-devel >= 1.2.3 -#BuildRequires: libtalloc-devel >= %{talloc_version} -#BuildRequires: pytalloc-devel >= %{talloc_version} BuildRequires: libtdb-devel >= %{tdb_version} -#BuildRequires: libtevent-devel >= %{tevent_version} -#BuildRequires: libldb-devel >= %{ldb_version} -#BuildRequires: pyldb-devel >= %{ldb_version} + +%if ! %with_talloc +%define libtalloc_version 2.0.6 + +BuildRequires: libtalloc-devel >= %{libtalloc_version} +BuildRequires: pytalloc-devel >= %{libtalloc_version} +%endif + +%if ! %with_tevent +%define libtevent_version 0.9.13 + +BuildRequires: libtevent-devel >= %{libtevent_version} +%endif + +%if ! %with_ldb +%define libldb_version 1.1.0 + +BuildRequires: libldb-devel >= %{libldb_version} +BuildRequires: pyldb-devel >= %{libldb_version} +%endif %description @@ -307,6 +331,24 @@ The samba-dc package provides AD Domain Controller functionality %patch1 -p1 -b .waf %build +%define talloc_lib %nil +%define tevent_lib %nil +%define ldb_lib %nil + +%if ! %with_talloc +%define _talloc_lib ,!talloc +%endif + +%if ! %with_tevent +%define _tevent_lib ,!tevent +%endif + +%if ! %with_ldb +%define _ldb_lib ,!ldb +%endif + +%define _samba4_libraries heimdal,!tdb,!zlib%_talloc_lib%_tevent_lib%_ldb_lib + %configure \ --enable-fhs \ --with-piddir=/var/run \ @@ -318,7 +360,7 @@ The samba-dc package provides AD Domain Controller functionality --disable-rpath-install \ --with-shared-modules=idmap_ad,idmap_rid,idmap_adex,idmap_hash,idmap_tdb2 \ --builtin-libraries=ccan \ - --bundled-libraries=heimdal,!tdb,!zlib \ + --bundled-libraries=%{_samba4_libraries} \ %if ! %with_pam_smbpass --without-pam_smbpass %endif @@ -559,12 +601,6 @@ rm -rf %{buildroot} %{_bindir}/dbwrap_tool %{_bindir}/debug2html %{_bindir}/eventlogadm -%{_bindir}/ldbadd -%{_bindir}/ldbdel -%{_bindir}/ldbedit -%{_bindir}/ldbmodify -%{_bindir}/ldbrename -%{_bindir}/ldbsearch %{_bindir}/log2pcap %{_bindir}/net %{_bindir}/nmblookup @@ -597,12 +633,6 @@ rm -rf %{buildroot} %{_bindir}/testparm %{_bindir}/wbinfo #%{_bindir}/wbinfo3 -%{_mandir}/man1/ldbadd.1.gz -%{_mandir}/man1/ldbdel.1.gz -%{_mandir}/man1/ldbedit.1.gz -%{_mandir}/man1/ldbmodify.1.gz -%{_mandir}/man1/ldbrename.1.gz -%{_mandir}/man1/ldbsearch.1.gz %{_mandir}/man1/nmblookup.1.gz %{_mandir}/man1/ntlm_auth.1.gz %{_mandir}/man1/oLschema2ldif.1.gz @@ -611,6 +641,21 @@ rm -rf %{buildroot} %{_mandir}/man1/regshell.1.gz %{_mandir}/man1/regtree.1.gz +%if %with_ldb +%{_bindir}/ldbadd +%{_bindir}/ldbdel +%{_bindir}/ldbedit +%{_bindir}/ldbmodify +%{_bindir}/ldbrename +%{_bindir}/ldbsearch +%{_mandir}/man1/ldbadd.1.gz +%{_mandir}/man1/ldbdel.1.gz +%{_mandir}/man1/ldbedit.1.gz +%{_mandir}/man1/ldbmodify.1.gz +%{_mandir}/man1/ldbrename.1.gz +%{_mandir}/man1/ldbsearch.1.gz +%endif + %files test %defattr(-,root,root) %{_bindir}/dbwrap_torture @@ -701,7 +746,6 @@ rm -rf %{buildroot} %{_includedir}/samba-4.0/param.h %{_includedir}/samba-4.0/passdb.h %{_includedir}/samba-4.0/policy.h -%{_includedir}/samba-4.0/pytalloc.h %{_includedir}/samba-4.0/read_smb.h %{_includedir}/samba-4.0/registry.h %{_includedir}/samba-4.0/roles.h @@ -787,9 +831,12 @@ rm -rf %{buildroot} %{_libdir}/pkgconfig/samdb.pc %{_libdir}/pkgconfig/smbclient-raw.pc %{_libdir}/pkgconfig/torture.pc -#%{_libdir}/pkgconfig/wbclient.pc %{_libdir}/samba/libpdb.so +%if %with_talloc +%{_includedir}/samba-4.0/pytalloc.h +%endif + %files libs %defattr(-,root,root) %{_libdir}/libdcerpc-atsvc.so.* @@ -815,8 +862,6 @@ rm -rf %{buildroot} %{_libdir}/libsmbconf.so.* %{_libdir}/libtevent-util.so.* %{_libdir}/libtorture.so.* -#%{_libdir}/libwbclient.so -#%{_libdir}/libwbclient.so.0 #%{_libdir}/mit_samba.so %if %with_pam_smbpass /%{_lib}/security/pam_smbpass.so @@ -876,8 +921,6 @@ rm -rf %{buildroot} %{_libdir}/samba/libkrb5-samba4.so.26 %{_libdir}/samba/libkrb5-samba4.so.26.0.0 %{_libdir}/samba/libldb-cmdline.so -%{_libdir}/samba/libldb.so.1 -%{_libdir}/samba/libldb.so.%{ldb_version} %{_libdir}/samba/libldbsamba.so %{_libdir}/samba/liblibcli_lsa3.so %{_libdir}/samba/liblibcli_netlogon3.so @@ -897,10 +940,6 @@ rm -rf %{buildroot} %{_libdir}/samba/libpopt_samba3.so %{_libdir}/samba/libprinting_migrate.so %{_libdir}/samba/libprocess_model.so -%{_libdir}/samba/libpyldb-util.so.1 -%{_libdir}/samba/libpyldb-util.so.%{ldb_version} -%{_libdir}/samba/libpytalloc-util.so.2 -%{_libdir}/samba/libpytalloc-util.so.%{talloc_version} %{_libdir}/samba/libreplace.so %{_libdir}/samba/libroken-samba4.so.19 %{_libdir}/samba/libroken-samba4.so.19.0.1 @@ -921,12 +960,8 @@ rm -rf %{buildroot} %{_libdir}/samba/libsmbregistry.so %{_libdir}/samba/libstring_init.so %{_libdir}/samba/libsubunit.so -%{_libdir}/samba/libtalloc.so.2 -%{_libdir}/samba/libtalloc.so.%{talloc_version} %{_libdir}/samba/libtdb-wrap.so %{_libdir}/samba/libtdb_compat.so -%{_libdir}/samba/libtevent.so.0 -%{_libdir}/samba/libtevent.so.%{tevent_version} %{_libdir}/samba/libtrusts_util.so %{_libdir}/samba/libutil_cmdline.so %{_libdir}/samba/libutil_malloc.so @@ -948,6 +983,23 @@ rm -rf %{buildroot} %{_libdir}/samba/process_model %{_libdir}/samba/service +%if %{with_ldb} +%{_libdir}/samba/libldb.so.1 +%{_libdir}/samba/libldb.so.%{ldb_version} +%{_libdir}/samba/libpyldb-util.so.1 +%{_libdir}/samba/libpyldb-util.so.%{ldb_version} +%endif +%if %{with_talloc} +%{_libdir}/samba/libtalloc.so.2 +%{_libdir}/samba/libtalloc.so.%{talloc_version} +%{_libdir}/samba/libpytalloc-util.so.2 +%{_libdir}/samba/libpytalloc-util.so.%{talloc_version} +%endif +%if %{with_tevent} +%{_libdir}/samba/libtevent.so.0 +%{_libdir}/samba/libtevent.so.%{tevent_version} +%endif + %files python %defattr(-,root,root,-) %{python_sitearch}/* -- cgit