update to transactions4 release
[kai/samba-autobuild/.git] / packaging / RHEL-CTDB / samba.spec
index 705810af4b5258bed9fef23344bebf2bc521dda4..3ca1818edf053df29a1c6e725f3b4044bc14e8af 100644 (file)
@@ -5,8 +5,8 @@ Summary: Samba SMB client and server
 Vendor: Samba Team
 Packager: Samba Team <samba@samba.org>
 Name:         samba
-Version:      3.2.0
-Release:      ctdb.28
+Version:      3.2.1
+Release:      ctdb.41.transactions4
 Epoch:        0
 License: GNU GPL version 3
 Group: System Environment/Daemons
@@ -41,12 +41,7 @@ BuildRequires: pam-devel, readline-devel, fileutils, libacl-devel, openldap-deve
 %define _libarch %_lib
 %endif
 
-# rpm screws up the arch lib dir when using --target on RHEL5
-%ifarch i386 i486 i586 i686 ppc s390
-%define _libarch lib
-%else
-%define _libarch %_lib
-%endif
+%define _libarchdir /usr/%{_libarch}
 
 
 %description
@@ -152,7 +147,7 @@ CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \
        --prefix=%{_prefix} \
        --localstatedir=/var \
         --with-configdir=%{_sysconfdir}/samba \
-        --with-libdir=%{_libdir}/samba \
+        --with-libdir=%{_libarchdir}/samba \
         --with-lockdir=/var/lib/samba \
         --with-logfilebase=/var/log/samba \
         --with-mandir=%{_mandir} \
@@ -216,8 +211,8 @@ rm -rf $RPM_BUILD_ROOT
 mkdir -p $RPM_BUILD_ROOT%{_datadir}/swat/{help,include,using_samba/{figs,gifsa}}
 mkdir -p $RPM_BUILD_ROOT%{_includedir}
 mkdir -p $RPM_BUILD_ROOT%{_initrddir}
-mkdir -p $RPM_BUILD_ROOT{%{_libdir},%{_includedir}}
-mkdir -p $RPM_BUILD_ROOT%{_libdir}/samba/{auth,charset,idmap,vfs,pdb}
+mkdir -p $RPM_BUILD_ROOT{%{_libarchdir},%{_includedir}}
+mkdir -p $RPM_BUILD_ROOT%{_libarchdir}/samba/{auth,charset,idmap,vfs,pdb}
 mkdir -p $RPM_BUILD_ROOT/%{_libarch}/security
 mkdir -p $RPM_BUILD_ROOT%{_mandir}
 mkdir -p $RPM_BUILD_ROOT%{_prefix}/{bin,sbin}
@@ -242,42 +237,60 @@ cp source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_libarch}/security/pam_smbpass.so
 # NSS & PAM winbind support
 install -m 755 source/bin/pam_winbind.so $RPM_BUILD_ROOT/%{_libarch}/security/pam_winbind.so
 install -m 755 source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_libarch}/libnss_winbind.so
-install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_libarch}/libnss_wins.so
+#install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_libarch}/libnss_wins.so
 ( cd $RPM_BUILD_ROOT/%{_libarch};
-  ln -sf libnss_winbind.so  libnss_winbind.so.2;
-  ln -sf libnss_wins.so  libnss_wins.so.2 )
+  ln -sf libnss_winbind.so  libnss_winbind.so.2 )
+# ( cd $RPM_BUILD_ROOT/%{_libarch}; ln -sf libnss_wins.so  libnss_wins.so.2 )
 
 # make install puts libsmbclient.so in the wrong place on x86_64
 rm -f $RPM_BUILD_ROOT/usr/lib*/samba/libsmbclient.so $RPM_BUILD_ROOT/usr/lib*/samba/libsmbclient.a || true
-install -m 755 source/bin/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so
-install -m 755 source/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.a
+install -m 755 source/bin/libsmbclient.so $RPM_BUILD_ROOT%{_libarchdir}/libsmbclient.so
+install -m 755 source/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libarchdir}/libsmbclient.a
 install -m 644 source/include/libsmbclient.h $RPM_BUILD_ROOT%{_includedir}
-ln -s %{_libdir}/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so.0
+ln -s %{_libarchdir}/libsmbclient.so $RPM_BUILD_ROOT%{_libarchdir}/libsmbclient.so.0
 
 # make install puts libmsrpc.so in the wrong place on x86_64
 #rm -f $RPM_BUILD_ROOT/usr/lib*/samba/libmsrpc.so $RPM_BUILD_ROOT/usr/lib*/samba/libmsrpc.a || true
-#install -m 755 source/bin/libmsrpc.so $RPM_BUILD_ROOT%{_libdir}/libmsrpc.so
-#install -m 755 source/bin/libmsrpc.a $RPM_BUILD_ROOT%{_libdir}/libmsrpc.a
+#install -m 755 source/bin/libmsrpc.so $RPM_BUILD_ROOT%{_libarchdir}/libmsrpc.so
+#install -m 755 source/bin/libmsrpc.a $RPM_BUILD_ROOT%{_libarchdir}/libmsrpc.a
 #install -m 644 source/include/libmsrpc.h $RPM_BUILD_ROOT%{_includedir}
-#rm -f $RPM_BUILD_ROOT%{_libdir}/samba/libmsrpc.*
-#ln -s /%{_libdir}/libmsrpc.so $RPM_BUILD_ROOT%{_libdir}/libmsrpc.so.0
+#rm -f $RPM_BUILD_ROOT%{_libarchdir}/samba/libmsrpc.*
+#ln -s /%{_libarchdir}/libmsrpc.so $RPM_BUILD_ROOT%{_libarchdir}/libmsrpc.so.0
 
 # make install puts libsmbsharemodes.so in the wrong place on x86_64
 rm -f $RPM_BUILD_ROOT/usr/lib*/samba/libsmbsharemodes.so $RPM_BUILD_ROOT/usr/lib*/samba/libsmbsharemodes.a || true
-install -m 755 source/bin/libsmbsharemodes.so $RPM_BUILD_ROOT%{_libdir}/libsmbsharemodes.so
-install -m 755 source/bin/libsmbsharemodes.a $RPM_BUILD_ROOT%{_libdir}/libsmbsharemodes.a
+install -m 755 source/bin/libsmbsharemodes.so $RPM_BUILD_ROOT%{_libarchdir}/libsmbsharemodes.so
+install -m 755 source/bin/libsmbsharemodes.a $RPM_BUILD_ROOT%{_libarchdir}/libsmbsharemodes.a
 install -m 644 source/include/smb_share_modes.h $RPM_BUILD_ROOT%{_includedir}
-rm -f $RPM_BUILD_ROOT%{_libdir}/samba/libsmbsharemodes.*
-ln -s /%{_libdir}/libsmbsharemodes.so $RPM_BUILD_ROOT%{_libdir}/libsmbsharemodes.so.0
+rm -f $RPM_BUILD_ROOT%{_libarchdir}/samba/libsmbsharemodes.*
+ln -s /%{_libarchdir}/libsmbsharemodes.so $RPM_BUILD_ROOT%{_libarchdir}/libsmbsharemodes.so.0
 
 # Install pam_smbpass.so
 install -m755 source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_libarch}/security/pam_smbpass.so
 
+# Put the shared libraries to their SONAME under /usr/lib{,64}
+# and create the proper .so symlinks
 #
-ln -s %{_libdir}/samba/libwbclient.so $RPM_BUILD_ROOT/%{_libdir}/libwbclient.so.0
-ln -s %{_libdir}/samba/libtalloc.so $RPM_BUILD_ROOT/%{_libdir}/libtalloc.so.1
-ln -s %{_libdir}/samba/libtdb.so $RPM_BUILD_ROOT/%{_libdir}/libtdb.so.0
-ln -s %{_libdir}/samba/libnetapi.so $RPM_BUILD_ROOT/%{_libdir}/libnetapi.so.0
+# libwbclient
+rm -f $RPM_BUILD_ROOT%{_libarchdir}/samba/libwbclient.so*
+install -m 755 source/bin/libwbclient.so \
+       $RPM_BUILD_ROOT%{_libarchdir}/libwbclient.so.0
+ln -s libwbclient.so.0 $RPM_BUILD_ROOT%{_libarchdir}/libwbclient.so
+# libtalloc
+rm -f $RPM_BUILD_ROOT%{_libarchdir}/samba/libtalloc.so*
+install -m 755 source/bin/libtalloc.so \
+       $RPM_BUILD_ROOT%{_libarchdir}/libtalloc.so.1
+ln -s libtalloc.so.1 $RPM_BUILD_ROOT%{_libarchdir}/libtalloc.so
+# libtdb
+rm -f $RPM_BUILD_ROOT%{_libarchdir}/samba/libtdb.so*
+install -m 755 source/bin/libtdb.so \
+       $RPM_BUILD_ROOT%{_libarchdir}/libtdb.so.1
+ln -s libtdb.so.1 $RPM_BUILD_ROOT%{_libarchdir}/libtdb.so
+# libnetapi
+rm -f $RPM_BUILD_ROOT%{_libarchdir}/samba/libnetapi.so*
+install -m 755 source/bin/libnetapi.so \
+       $RPM_BUILD_ROOT%{_libarchdir}/libnetapi.so.0
+ln -s libnetapi.so.0 $RPM_BUILD_ROOT%{_libarchdir}/libnetapi.so
 
 ## cleanup
 /bin/rm -rf $RPM_BUILD_ROOT/usr/lib*/samba/security
@@ -338,14 +351,14 @@ if [ "$1" -eq "2" ]; then
 fi
 
 if [ "$1" -ge "1" ]; then
-       %{initdir}/smb restart >/dev/null 2>&1
+       /sbin/service smb condrestart >/dev/null 2>&1 || :
 fi
 
 %preun
 if [ $1 = 0 ] ; then
+    /sbin/service smb stop >/dev/null 2>&1 || :
     /sbin/chkconfig --del smb
     # rm -rf /var/log/samba/* /var/lib/samba/*
-    /sbin/service smb stop >/dev/null 2>&1
 fi
 exit 0
 
@@ -360,9 +373,13 @@ fi
 %post common
 /sbin/ldconfig
 
+if [ "$1" -ge "1" ]; then
+       /sbin/service winbind condrestart >/dev/null 2>&1 || :
+fi
+
 %preun common
 if [ $1 = 0 ] ; then
-    /sbin/service winbind stop >/dev/null 2>&1
+    /sbin/service winbind stop >/dev/null 2>&1 || :
     /sbin/chkconfig --del winbind
 fi
 exit 0
@@ -400,10 +417,10 @@ exit 0
 %{_bindir}/tdbdump
 %{_bindir}/eventlogadm
 
-%{_libdir}/samba/idmap/*.so
-%{_libdir}/samba/nss_info/*.so
-%{_libdir}/samba/vfs/*.so
-%{_libdir}/samba/auth/*.so
+%{_libarchdir}/samba/idmap/*.so
+%{_libarchdir}/samba/nss_info/*.so
+%{_libarchdir}/samba/vfs/*.so
+%{_libarchdir}/samba/auth/*.so
 
 %{_mandir}/man1/smbcontrol.1*
 %{_mandir}/man1/smbstatus.1*
@@ -440,7 +457,7 @@ exit 0
 %{_datadir}/swat/*
 %{_sbindir}/swat
 %{_mandir}/man8/swat.8*
-%attr(755,root,root) %{_libdir}/samba/*.msg
+%attr(755,root,root) %{_libarchdir}/samba/*.msg
 
 ##########
 
@@ -478,39 +495,35 @@ exit 0
 %files common
 %defattr(-,root,root)
 %dir %{_sysconfdir}/samba
-%dir %{_libdir}/samba
-%dir %{_libdir}/samba/charset
+%dir %{_libarchdir}/samba
+%dir %{_libarchdir}/samba/charset
 %config(noreplace) %{_sysconfdir}/samba/smb.conf
 %config(noreplace) %{_sysconfdir}/samba/lmhosts
 %attr(755,root,root) %config %{initdir}/winbind
 
-%attr(755,root,root) /%{_libarch}/libnss_wins.so*
+#%attr(755,root,root) /%{_libarch}/libnss_wins.so*
 %attr(755,root,root) /%{_libarch}/libnss_winbind.so*
 %attr(755,root,root) /%{_libarch}/security/pam_winbind.so
 %attr(755,root,root) /%{_libarch}/security/pam_smbpass.so
 
 %{_includedir}/libsmbclient.h
-%{_libdir}/libsmbclient.*
+%{_libarchdir}/libsmbclient.*
 #%{_includedir}/libmsrpc.h
-#%{_libdir}/libmsrpc.*
+#%{_libarchdir}/libmsrpc.*
 %{_includedir}/smb_share_modes.h
-%{_libdir}/libsmbsharemodes.*
+%{_libarchdir}/libsmbsharemodes.*
 
-%{_libdir}/samba/*.dat
-%{_libdir}/samba/charset/*.so
+%{_libarchdir}/samba/*.dat
+%{_libarchdir}/samba/charset/*.so
 
 %{_includedir}/netapi.h
 %{_includedir}/wbclient.h
 %{_includedir}/talloc.h
 %{_includedir}/tdb.h
-%{_libdir}/samba/libnetapi.so*
-%{_libdir}/libnetapi.so*
-%{_libdir}/samba/libtalloc.so*
-%{_libdir}/libtalloc.so*
-%{_libdir}/samba/libtdb.so*
-%{_libdir}/libtdb.so*
-%{_libdir}/samba/libwbclient.so*
-%{_libdir}/libwbclient.so*
+%{_libarchdir}/libnetapi.so*
+%{_libarchdir}/libtalloc.so*
+%{_libarchdir}/libtdb.so*
+%{_libarchdir}/libwbclient.so*
 
 %{_sbindir}/winbind
 
@@ -545,7 +558,9 @@ exit 0
 %ifarch i386 i486 i586 i686 ppc s390
 %files winbind-32bit
 %attr(755,root,root) /%{_libarch}/libnss_winbind.so*
-%attr(755,root,root) /%{_libarch}/libnss_wins.so*
+#%attr(755,root,root) /%{_libarch}/libnss_wins.so*
+%attr(755,root,root) /%{_libarchdir}/libtalloc.so*
+%attr(755,root,root) /%{_libarchdir}/libtdb.so*
 %attr(755,root,root) /%{_libarch}/security/pam_winbind.so
 %endif