packaging(RHEL-CTDB): install the right libraries for 3.3.0.
[jra/samba/.git] / packaging / RHEL-CTDB / samba.spec
index 6dda1bb7707b75eebdd83f56314b270ecae90375..2cd57bc24083b5973a08124f6d82fff945b4096c 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.27
+Version:      3.3.0
+Release:      ctdb.1
 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} \
@@ -160,7 +155,7 @@ CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \
        --with-privatedir=%{_sysconfdir}/samba \
         --with-sambabook=%{_datadir}/swat/using_samba \
         --with-swatdir=%{_datadir}/swat \
-       --enable-cups \
+       --disable-cups \
         --with-acl-support \
        --with-ads \
         --with-automount \
@@ -177,13 +172,11 @@ CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \
        --with-cluster-support \
        --with-ctdb=/usr/include \
        --without-ldb \
-       --with-dnsupdate \
+       --without-dnsupdate \
        --with-aio-support
 
 make showlayout
 
-make CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE"  proto 
-
 ## check for gcc 3.4 or later
 CC_VERSION=`${CC} --version | head -1 | awk '{print $3}'`
 CC_MAJOR=`echo ${CC_VERSION} | cut -d. -f 1`
@@ -216,8 +209,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 +235,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.0 \
+       $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.1 \
+       $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.1 \
+       $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.0 \
+       $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
@@ -337,20 +348,19 @@ if [ "$1" -eq "2" ]; then
         fi
 fi
 
+if [ "$1" -ge "1" ]; then
+       /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
-    /sbin/chkconfig --del winbind
     # rm -rf /var/log/samba/* /var/lib/samba/*
-    /sbin/service smb stop >/dev/null 2>&1
 fi
 exit 0
 
-%postun
-if [ "$1" -ge "1" ]; then
-       %{initdir}/smb restart >/dev/null 2>&1
-fi     
-
+#%postun
 
 %post swat
 # Add swat entry to /etc/services if not already there.
@@ -361,6 +371,17 @@ 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/chkconfig --del winbind
+fi
+exit 0
+
 %postun common 
 /sbin/ldconfig
 
@@ -374,7 +395,6 @@ fi
 %config(noreplace) %{_sysconfdir}/sysconfig/samba
 %config(noreplace) %{_sysconfdir}/samba/smbusers
 %attr(755,root,root) %config %{initdir}/smb
-%attr(755,root,root) %config %{initdir}/winbind
 %config(noreplace) %{_sysconfdir}/logrotate.d/samba
 %config(noreplace) %{_sysconfdir}/pam.d/samba
 
@@ -383,7 +403,6 @@ fi
 %attr(1777,root,root) %dir /var/spool/samba
 
 %{_sbindir}/samba
-%{_sbindir}/winbind
 
 %{_sbindir}/smbd
 %{_sbindir}/nmbd
@@ -396,10 +415,10 @@ fi
 %{_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*
@@ -436,7 +455,7 @@ fi
 %{_datadir}/swat/*
 %{_sbindir}/swat
 %{_mandir}/man8/swat.8*
-%attr(755,root,root) %{_libdir}/samba/*.msg
+%attr(755,root,root) %{_libarchdir}/samba/*.msg
 
 ##########
 
@@ -474,39 +493,37 @@ fi
 %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
-%{_initrddir}/winbind
+%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
 
 %{_sbindir}/winbindd
 %{_bindir}/testparm
@@ -539,7 +556,9 @@ fi
 %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