rpms/samba4/devel samba4.spec,1.2,1.3

Simo Sorce simo at fedoraproject.org
Tue Mar 3 22:22:40 UTC 2009


Author: simo

Update of /cvs/pkgs/rpms/samba4/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv16941

Modified Files:
	samba4.spec 
Log Message:
* Mon Mar  2 2009 Simo Sorce <ssorce at redhat.com> - 4.0.0-5alpha7
- Compile and have separate packages for additional samba libraries
  Package in their own packages: talloc, tdb, tevent, ldb



Index: samba4.spec
===================================================================
RCS file: /cvs/pkgs/rpms/samba4/devel/samba4.spec,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- samba4.spec	27 Feb 2009 22:16:54 -0000	1.2
+++ samba4.spec	3 Mar 2009 22:22:10 -0000	1.3
@@ -1,9 +1,22 @@
-%define alpha_version 7
-%define samba_version 4.0.0alpha%{alpha_version}
-%define tarball_name samba-4.0.0alpha%{alpha_version}
+%define main_release 5
+%define samba4_version 4.0.0
 
-%define tdb_version 1.1.1
 %define talloc_version 1.2.0
+%define tdb_version 1.1.3
+%define tevent_version 0.9.3
+%define ldb_version	0.9.3
+
+%define pre_release alpha7
+
+%define tarball_name samba-4.0.0%{pre_release}
+
+%define samba4_release %{main_release}%{pre_release}%{?dist}
+# We need a higher talloc release to address previous releases done as
+# part of the samba3 package.
+%define talloc_release 29.%{main_release}%{?dist}
+%define tdb_release %{main_release}%{?dist}
+%define tevent_release %{main_release}%{?dist}
+%define ldb_release %{main_release}%{?dist}
 
 # Most of these subpackages are disabled because they are not
 # needed by OpenChange, and to avoid file conflicts with Samba3.
@@ -24,8 +37,8 @@
 # and subject to change.
 
 Name: samba4
-Version: 4.0.0
-Release: 4.alpha%{alpha_version}%{?dist}
+Version: %{samba4_version}
+Release: %{samba4_release}
 Group: System Environment/Daemons
 Summary: The Samba4 CIFS and AD client and server suite
 License: GPLv3+ and LGPLv3+
@@ -59,8 +72,6 @@
 BuildRequires: libacl-devel
 BuildRequires: libaio-devel
 BuildRequires: libattr-devel
-BuildRequires: libtalloc-devel >= %{talloc_version}
-BuildRequires: libtdb-devel >= %{tdb_version}
 BuildRequires: ncurses-devel
 BuildRequires: pam-devel
 BuildRequires: perl(ExtUtils::MakeMaker)
@@ -151,6 +162,112 @@
 domains and to use Windows user and group accounts on Linux.
 %endif
 
+%package -n libtalloc
+Group: Development/Libraries
+Summary: A hierarchical allocator
+Version: %{talloc_version}
+Release: %{talloc_release}
+
+%description -n libtalloc
+A library that implements a hierarchical allocator with destructors.
+
+%package -n libtdb
+Group: Development/Libraries
+Summary: A bdb like database engine
+Version: %{tdb_version}
+Release: %{tdb_release}
+
+%description -n libtdb
+A library that implements a single key database with transactions support.
+
+%package -n tdb-tools
+Group: Development/Libraries
+Summary: Tools to manage TDB files
+Version: %{tdb_version}
+Release: %{tdb_release}
+Requires: libtdb >= %{tdb_version}
+
+%description -n tdb-tools
+Tools to manage TDB files
+
+%package -n libtevent
+Group: Development/Libraries
+Summary: An event system library
+Version: %{tevent_version}
+Release: %{tevent_release}
+Requires: libtalloc >= %{talloc_version}
+
+%description -n libtevent
+A library that implements an event driven system, that uses epoll/select to
+fire events when file status changes, supports also timer events.
+
+%package -n libldb
+Group: Development/Libraries
+Summary: A schema-less, ldap like, API and database
+Version: %{ldb_version}
+Release: %{ldb_release}
+Requires: libtalloc >= %{talloc_version}
+Requires: libtdb >= %{tdb_version}
+Requires: libtevent >= %{tevent_version}
+
+%description -n libldb
+An extensible library that implements and 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
+Version: %{ldb_version}
+Release: %{ldb_release}
+Requires: libldb >= %{ldb_version}
+
+%description -n ldb-tools
+Tools to manage LDB files
+
+%package -n libtalloc-devel
+Group: Development/Libraries
+Summary: Developer tools for the Talloc library
+Version: %{talloc_version}
+Release: %{talloc_release}
+Requires: libtalloc = %{talloc_release}
+
+%description -n libtalloc-devel
+Header files needed to develop programs that link against the Talloc library.
+
+%package -n libtdb-devel
+Group: Development/Libraries
+Summary: Developer tools for the TDB library
+Version: %{tdb_version}
+Release: %{tdb_release}
+Requires: libtdb = %{tdb_version}-%{tdb_release}
+
+%description -n libtdb-devel
+Header files needed to develop programs that link against the TDB library.
+
+%package -n libtevent-devel
+Group: Development/Libraries
+Summary: Developer tools for the tevent library
+Version: %{tevent_version}
+Release: %{tevent_release}
+Requires: libtevent = %{tevent_version}-%{tevent_release}
+Requires: libtalloc-devel >= %{talloc_version}
+
+%description -n libtevent-devel
+Header files needed to develop programs that link against the tevent library.
+
+%package -n libldb-devel
+Group: Development/Libraries
+Summary: Developer tools for the LDB library
+Version: %{ldb_version}
+Release: %{ldb_release}
+Requires: libldb = %{ldb_version}-%{ldb_release}
+Requires: libtdb-devel = %{tdb_version}-%{tdb_release}
+Requires: libtalloc-devel >= %{talloc_version}
+Requires: libtevent-devel = %{tevent_version}-%{tevent_release}
+
+%description -n libldb-devel
+Header files needed to develop programs that link against the LDB library.
+
 %prep
 %setup -q -n %{tarball_name}
 
@@ -163,8 +280,46 @@
 #cd source4
 #script/mkversion.sh
 #cd ..
+cp -a source4/lib/ldb lib/ldb
 
 %build
+%define shared_build_dir %{_sourcedir}/sbtmp
+SAVE_LDLPATH=$LD_LIBRARY_PATH
+SAVE_CFLAGS=$CFLAGS
+export LD_LIBRARY_PATH=%{shared_build_dir}/%{_lib}
+export CFLAGS="$CFLAGS -I%{shared_build_dir}/include"
+
+# talloc
+pushd lib/talloc
+./autogen.sh
+%configure --with-shared-build-dir=%{shared_build_dir}
+make shared-build %{?_smp_mflags}
+popd
+
+# tdb
+pushd lib/tdb
+./autogen.sh
+%configure --with-shared-build-dir=%{shared_build_dir}
+make shared-build %{?_smp_mflags}
+popd
+
+# tevent
+pushd lib/tevent
+./autogen.sh
+%configure --with-shared-build-dir=%{shared_build_dir}
+make shared-build %{?_smp_mflags}
+popd
+
+# ldb
+pushd lib/ldb
+./autogen.sh
+%configure --with-shared-build-dir=%{shared_build_dir}
+make shared-build  # %{?_smp_mflags}  XXX Causes build failure on F10
+popd
+
+export LD_LIBRARY_PATH=$SAVE_LDLPATH
+export CFLAGS=$SAVE_CFLAGS
+
 cd source4
 
 %configure \
@@ -183,9 +338,9 @@
 (cd ../pidl && %{__perl} Makefile.PL INSTALLDIRS=vendor )
 
 # Builds using PIDL the IDL and many other things.
-make proto
-
-make everything
+#make proto
+#make everything
+make
 
 %install
 rm -rf $RPM_BUILD_ROOT
@@ -263,7 +418,7 @@
 rm $RPM_BUILD_ROOT%{_bindir}/setnttoken
 rm $RPM_BUILD_ROOT%{_bindir}/smbtorture
 rm $RPM_BUILD_ROOT%{_bindir}/subunitrun
-rm $RPM_BUILD_ROOT%{_bindir}/tdbtorture
+#rm $RPM_BUILD_ROOT%{_bindir}/tdbtorture
 
 # Avoids a file conflict with perl-Parse-Yapp.
 rm -rf $RPM_BUILD_ROOT%{perl_vendorlib}/Parse/Yapp
@@ -273,9 +428,6 @@
 rm $RPM_BUILD_ROOT%{_sbindir}/samba
 rm $RPM_BUILD_ROOT%{_bindir}/mymachinepw
 rm $RPM_BUILD_ROOT%{_bindir}/smbstatus
-rm $RPM_BUILD_ROOT%{_bindir}/tdbbackup
-rm $RPM_BUILD_ROOT%{_bindir}/tdbdump
-rm $RPM_BUILD_ROOT%{_bindir}/tdbtool
 rm -r $RPM_BUILD_ROOT%{_datadir}/samba/setup
 %endif
 %if ! %enable_client
@@ -285,13 +437,13 @@
 %endif
 %if ! %enable_common
 rm $RPM_BUILD_ROOT%{_bindir}/ad2oLschema
+rm $RPM_BUILD_ROOT%{_bindir}/net
 rm $RPM_BUILD_ROOT%{_bindir}/ldbadd
 rm $RPM_BUILD_ROOT%{_bindir}/ldbdel
 rm $RPM_BUILD_ROOT%{_bindir}/ldbedit
 rm $RPM_BUILD_ROOT%{_bindir}/ldbmodify
 rm $RPM_BUILD_ROOT%{_bindir}/ldbrename
 rm $RPM_BUILD_ROOT%{_bindir}/ldbsearch
-rm $RPM_BUILD_ROOT%{_bindir}/net
 rm $RPM_BUILD_ROOT%{_bindir}/oLschema2ldif
 rm $RPM_BUILD_ROOT%{_bindir}/regdiff
 rm $RPM_BUILD_ROOT%{_bindir}/regpatch
@@ -306,12 +458,45 @@
 rm $RPM_BUILD_ROOT%{_libdir}/libgensec.so.*
 rm $RPM_BUILD_ROOT%{_libdir}/libregistry.so
 rm $RPM_BUILD_ROOT%{_libdir}/libregistry.so.*
+rm $RPM_BUILD_ROOT%{_libdir}/libtorture.so
+rm $RPM_BUILD_ROOT%{_libdir}/libtorture.so.*
+rm $RPM_BUILD_ROOT%{_libdir}/libldb.so.*
 rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/dcerpc_atsvc.pc
 rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/gensec.pc
 rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/registry.pc
+rm $RPM_BUILD_ROOT%{_libdir}/pkgconfig/torture.pc
 rm $RPM_BUILD_ROOT%{_includedir}/samba-4.0/gensec.h
 rm $RPM_BUILD_ROOT%{_includedir}/samba-4.0/registry.h
 %endif
+
+# talloc
+pushd lib/talloc
+make install DESTDIR=$RPM_BUILD_ROOT
+ln -s libtalloc.so.%{talloc_version} $RPM_BUILD_ROOT%{_libdir}/libtalloc.so
+find $RPM_BUILD_ROOT/usr/share/swig -name talloc.i -delete
+popd
+
+# tdb
+pushd lib/tdb
+make install DESTDIR=$RPM_BUILD_ROOT
+ln -s libtdb.so.%{tdb_version} $RPM_BUILD_ROOT%{_libdir}/libtdb.so
+popd
+
+# tevent
+pushd lib/tevent
+make install DESTDIR=$RPM_BUILD_ROOT
+ln -s libtevent.so.%{tevent_version} $RPM_BUILD_ROOT%{_libdir}/libtevent.so
+popd
+
+# ldb
+pushd lib/ldb
+make install DESTDIR=$RPM_BUILD_ROOT
+ln -s -f libldb.so.%{ldb_version} $RPM_BUILD_ROOT%{_libdir}/libldb.so
+mkdir $RPM_BUILD_ROOT%{_libdir}/ldb
+popd
+
+rm -f $RPM_BUILD_ROOT%{_libdir}/lib*.a
+
 %if ! %enable_python
 rm -r $RPM_BUILD_ROOT%{python_sitearch}/*
 rm -r $RPM_BUILD_ROOT%{python_libdir}/lib
@@ -328,10 +513,13 @@
 find source4/heimdal -type f | xargs chmod -x
 
 %clean
+rm -fr %{shared_build_dir}
 rm -rf $RPM_BUILD_ROOT
 
 %pre
+%if %enable_winbind
 getent group wbpriv >/dev/null || groupadd -g 88 wbpriv
+%endif
 exit 0
 
 %post
@@ -356,6 +544,30 @@
 
 %postun libs -p /sbin/ldconfig
 
+%post -n libtalloc
+/sbin/ldconfig
+
+%postun -n libtalloc
+/sbin/ldconfig
+
+%post -n libtdb
+/sbin/ldconfig
+
+%postun -n libtdb
+/sbin/ldconfig
+
+%post -n libtevent
+/sbin/ldconfig
+
+%postun -n libtevent
+/sbin/ldconfig
+
+%post -n libldb
+/sbin/ldconfig
+
+%postun -n libldb
+/sbin/ldconfig
+
 
 %files
 %defattr(-,root,root,-)
@@ -383,10 +595,9 @@
 %{_datadir}/samba/*.dat
 %{_libdir}/libdcerpc.so.*
 %{_libdir}/libdcerpc_samr.so.*
-%{_libdir}/libldb.so.*
 %{_libdir}/libndr.so.*
 %{_libdir}/libsamba-hostconfig.so.*
-%{_libdir}/libtorture.so.*
+#%{_libdir}/libtorture.so.*
 #Only needed if Samba's build produces plugins
 #%{_libdir}/samba
 %dir %{_sysconfdir}/%{name}
@@ -423,16 +634,15 @@
 %{_includedir}/samba-4.0
 %{_libdir}/libdcerpc.so
 %{_libdir}/libdcerpc_samr.so
-%{_libdir}/libldb.so
 %{_libdir}/libndr.so
 %{_libdir}/libsamba-hostconfig.so
-%{_libdir}/libtorture.so
+#%{_libdir}/libtorture.so
 %{_libdir}/pkgconfig/dcerpc.pc
 %{_libdir}/pkgconfig/dcerpc_samr.pc
 %{_libdir}/pkgconfig/ldb.pc
 %{_libdir}/pkgconfig/ndr.pc
 %{_libdir}/pkgconfig/samba-hostconfig.pc
-%{_libdir}/pkgconfig/torture.pc
+#%{_libdir}/pkgconfig/torture.pc
 %if %all_libraries
 %{_libdir}/libdcerpc_atsvc.so
 %{_libdir}/libgensec.so
@@ -463,12 +673,6 @@
 %defattr(-,root,root,-)
 %{_bindir}/net
 %{_bindir}/testparm
-%{_bindir}/ldbadd
-%{_bindir}/ldbdel
-%{_bindir}/ldbedit
-%{_bindir}/ldbmodify
-%{_bindir}/ldbsearch
-%{_bindir}/ldbrename
 %{_bindir}/ad2oLschema
 %{_bindir}/oLschema2ldif
 %{_bindir}/regdiff
@@ -482,7 +686,86 @@
 #%config(noreplace) %{_sysconfdir}/%{name}/smb.conf
 %endif
 
+%files -n libtalloc
+%defattr(-,root,root,-)
+%{_libdir}/libtalloc.so.*
+
+%files -n libtdb
+%defattr(-,root,root,-)
+%{_libdir}/libtdb.so.*
+
+%files -n libtevent
+%defattr(-,root,root,-)
+%{_libdir}/libtevent.so.*
+
+%files -n libldb
+%defattr(-,root,root,-)
+%{_libdir}/libldb.so.*
+%dir %{_libdir}/ldb
+#%{_libdir}/ldb/*
+
+%files -n tdb-tools
+%defattr(-,root,root,-)
+%{_bindir}/tdbbackup
+%{_bindir}/tdbdump
+%{_bindir}/tdbtool
+#FIXME: currently not installed in standalone build
+#%{_mandir}/man8/tdbbackup.8*
+#%{_mandir}/man8/tdbdump.8*
+#%{_mandir}/man8/tdbtool.8*
+
+%files -n ldb-tools
+%defattr(-,root,root,-)
+%{_bindir}/ldbadd
+%{_bindir}/ldbdel
+%{_bindir}/ldbedit
+%{_bindir}/ldbmodify
+%{_bindir}/ldbrename
+%{_bindir}/ldbsearch
+%{_bindir}/ldbtest
+%{_mandir}/man1/ldbadd.1.*
+%{_mandir}/man1/ldbdel.1.*
+%{_mandir}/man1/ldbedit.1.*
+%{_mandir}/man1/ldbmodify.1.*
+%{_mandir}/man1/ldbrename.1.*
+%{_mandir}/man1/ldbsearch.1.*
+%{_mandir}/man1/ad2oLschema.1.gz
+%{_mandir}/man1/oLschema2ldif.1.gz
+
+%files -n libtalloc-devel
+%defattr(-,root,root,-)
+%{_includedir}/talloc.h
+%{_libdir}/libtalloc.so
+%{_libdir}/pkgconfig/talloc.pc
+%{_mandir}/man3/talloc.3.gz
+
+%files -n libtdb-devel
+%defattr(-,root,root,-)
+%{_includedir}/tdb.h
+%{_libdir}/libtdb.so
+%{_libdir}/pkgconfig/tdb.pc
+
+%files -n libtevent-devel
+%defattr(-,root,root,-)
+%{_includedir}/tevent.h
+%{_libdir}/libtevent.so
+%{_libdir}/pkgconfig/tevent.pc
+
+%files -n libldb-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
+
 %changelog
+* Mon Mar  2 2009 Simo Sorce <ssorce at redhat.com> - 4.0.0-5alpha7
+- Compile and have separate packages for additional samba libraries
+  Package in their own packages: talloc, tdb, tevent, ldb
+
 * Fri Feb 27 2009 Matthew Barnes <mbarnes at redhat.com> - 4.0.0-4.alpha7
 - Update to 4.0.0alpha7
 




More information about the fedora-extras-commits mailing list