packaging/RHEL-CTDB: add the smbta-util manpage
[gd/samba-autobuild/.git] / packaging / RHEL-CTDB / samba.spec.tmpl
index a6ad3f8b7328c7891ded7b3275c31b8fd4f64d48..475adcb53a22074646dcfbef13665f238bbfbf95 100644 (file)
@@ -6,7 +6,7 @@ Vendor: Samba Team
 Packager: Samba Team <samba@samba.org>
 Name:         samba
 Version:      PVERSION
-Release:      1
+Release:      1GITHASH
 Epoch:        0
 License: GNU GPL version 3
 Group: System Environment/Daemons
@@ -15,7 +15,6 @@ URL: http://www.samba.org/
 Source: samba-%{version}.tar.bz2
 
 # Don't depend on Net::LDAP
-Source997: docs.tar.bz2
 Source998: filter-requires-samba.sh
 Source999: setup.tar.bz2
 
@@ -24,12 +23,13 @@ Prereq: fileutils sed /etc/init.d
 
 Requires: pam >= 0.64 %{auth} 
 Requires: samba-common = %{version}-%{release}
-Requires: logrotate >= 3.4 initscripts >= 5.54-1
 Provides: samba = %{version}
 
 Prefix: /usr
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
-BuildRequires: pam-devel, readline-devel, fileutils, libacl-devel, openldap-devel, krb5-devel, cups-devel, ctdb
+BuildRequires: pam-devel, readline-devel, fileutils, libacl-devel, openldap-devel, krb5-devel, cups-devel, ctdb, e2fsprogs-devel
+# requirements for building the man pages:
+BuildRequires: libxslt, docbook-utils, docbook-style-xsl
 
 # Working around perl dependency problem from docs
 %define __perl_requires %{SOURCE998}
@@ -43,6 +43,7 @@ BuildRequires: pam-devel, readline-devel, fileutils, libacl-devel, openldap-deve
 
 %define _libarchdir /usr/%{_libarch}
 
+%define numcpu  %(grep "^processor" /proc/cpuinfo |wc -l | sed -e 's/^0$/1/')
 
 %description
 Samba is the protocol by which a lot of PC-related machines share
@@ -123,7 +124,6 @@ utilized by SWAT as well as the HTML and PDF version of "Using Samba",
 
 # setup the vendor files (init scripts, etc...)
 %setup -T -D -a 999 -n samba-%{version} -q
-%setup -T -D -a 997 -n samba-%{version} -q
 
 %build
 
@@ -157,7 +157,7 @@ export CC
 CC_SAVE="$CC"
 CC="$CC -m32"
 
-CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -m32" ./configure \
+CFLAGS="$RPM_OPT_FLAGS -O3 -D_GNU_SOURCE -m32" ./configure \
        --prefix=%{_prefix} \
        --localstatedir=/var \
         --with-configdir=%{_sysconfdir}/samba \
@@ -190,6 +190,8 @@ CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE -m32" ./configure \
 
 make showlayout
 
+make samba3-idl
+
 ## 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`
@@ -200,7 +202,7 @@ if [ ${CC_MAJOR} -ge 3 ]; then
         fi
 fi
 
-make %{?_smp_mflags} \
+make -j%{numcpu} %{?_smp_mflags} \
        nss_modules pam_modules
 
 rm -rf %{_32bit_tmp_dir}
@@ -266,11 +268,24 @@ if [ ${CC_MAJOR} -ge 3 ]; then
 fi
 
 
-make %{?_smp_mflags} \
-       all modules pam_smbpass
+make -j %{numcpu} %{?_smp_mflags} \
+       everything modules pam_smbpass
 
-# Remove some permission bits to avoid to many dependencies
+# check that desired suppor has been compiled into smbd:
+export LD_LIBRARY_PATH=./bin
+for test in HAVE_POSIX_ACLS HAVE_LDAP HAVE_KRB5 HAVE_GPFS CLUSTER_SUPPORT
+do
+       if ! $(./bin/smbd -b | grep -q $test ) ; then
+               echo "ERROR: '$test' is not in smbd. Build stopped."
+               exit 1;
+       fi
+done
+
+# try and build the manpages
 cd ..
+./release-scripts/build-manpages-nogit
+
+# Remove some permission bits to avoid to many dependencies
 find examples docs -type f | xargs -r chmod -x
 
 %install
@@ -289,8 +304,8 @@ mkdir -p $RPM_BUILD_ROOT%{_mandir}
 mkdir -p $RPM_BUILD_ROOT%{_prefix}/{bin,sbin}
 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
 mkdir -p $RPM_BUILD_ROOT/sbin
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/{logrotate.d,pam.d,samba}
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/{pam.d,logrotate.d}
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/{pam.d,samba}
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/{pam.d}
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/{samba,sysconfig}
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d
@@ -301,6 +316,9 @@ mkdir -p $RPM_BUILD_ROOT/%{_libarchdir}/krb5/plugins/libkrb5
 cd source3
 make DESTDIR=$RPM_BUILD_ROOT \
         install
+
+make DESTDIR=$RPM_BUILD_ROOT \
+        install-dbwrap_tool install-dbwrap_torture
 cd ..
 
 # NSS winbind support
@@ -337,7 +355,6 @@ rm -rf %{_32bit_tmp_dir}
 # Install the miscellany
 echo 127.0.0.1 localhost > $RPM_BUILD_ROOT%{_sysconfdir}/samba/lmhosts
 
-install -m644 setup/samba.log $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/samba
 install -m644 setup/swat $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/swat
 install -m644 setup/samba.sysconfig $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/samba
 install -m755 setup/smb.init $RPM_BUILD_ROOT%{initdir}/smb
@@ -346,22 +363,14 @@ install -m644 setup/samba.pamd $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/samba
 install -m755 setup/smbprint $RPM_BUILD_ROOT%{_bindir}
 install -m644 setup/smbusers $RPM_BUILD_ROOT%{_sysconfdir}/samba/smbusers
 install -m644 setup/smb.conf $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.conf
-install -m755 source3/bin/mount.cifs $RPM_BUILD_ROOT/sbin/mount.cifs
-install -m755 source3/bin/umount.cifs $RPM_BUILD_ROOT/sbin/umount.cifs
 install -m755 source3/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir}
 
-/bin/rm $RPM_BUILD_ROOT%{_sbindir}/*mount.cifs
-
 ln -s ../..%{initdir}/smb  $RPM_BUILD_ROOT%{_sbindir}/samba
 ln -s ../..%{initdir}/winbind  $RPM_BUILD_ROOT%{_sbindir}/winbind
 
 # Remove "*.old" files
 find $RPM_BUILD_ROOT -name "*.old" -exec rm -f {} \;
 
-## don't duplicate the docs.  These are installed by/with SWAT
-rm -rf docs/htmldocs
-rm -rf docs/manpages
-( cd docs; ln -s %{_prefix}/share/swat/help htmldocs )
 
 ##
 ## Clean out man pages for tools not installed here
@@ -436,7 +445,6 @@ exit 0
 %config(noreplace) %{_sysconfdir}/sysconfig/samba
 %config(noreplace) %{_sysconfdir}/samba/smbusers
 %attr(755,root,root) %config %{initdir}/smb
-%config(noreplace) %{_sysconfdir}/logrotate.d/samba
 %config(noreplace) %{_sysconfdir}/pam.d/samba
 
 %attr(0755,root,root) %dir /var/log/samba
@@ -454,17 +462,48 @@ exit 0
 %{_bindir}/tdbbackup
 %{_bindir}/tdbtool
 %{_bindir}/tdbdump
+%{_bindir}/tdbrestore
 %{_bindir}/eventlogadm
 
-%{_libarchdir}/samba/idmap/*.so
-%{_libarchdir}/samba/nss_info/*.so
-%{_libarchdir}/samba/vfs/*.so
-%{_libarchdir}/samba/auth/*.so
+%{_libarchdir}/samba/auth/script.so
+%{_libarchdir}/samba/vfs/acl_tdb.so
+%{_libarchdir}/samba/vfs/acl_xattr.so
+%{_libarchdir}/samba/vfs/aio_fork.so
+%{_libarchdir}/samba/vfs/audit.so
+%{_libarchdir}/samba/vfs/cap.so
+%{_libarchdir}/samba/vfs/catia.so
+%{_libarchdir}/samba/vfs/crossrename.so
+%{_libarchdir}/samba/vfs/default_quota.so
+%{_libarchdir}/samba/vfs/dirsort.so
+%{_libarchdir}/samba/vfs/expand_msdfs.so
+%{_libarchdir}/samba/vfs/extd_audit.so
+%{_libarchdir}/samba/vfs/fake_perms.so
+%{_libarchdir}/samba/vfs/fileid.so
+%{_libarchdir}/samba/vfs/full_audit.so
+%{_libarchdir}/samba/vfs/gpfs.so
+%{_libarchdir}/samba/vfs/linux_xfs_sgid.so
+%{_libarchdir}/samba/vfs/netatalk.so
+%{_libarchdir}/samba/vfs/preopen.so
+%{_libarchdir}/samba/vfs/readahead.so
+%{_libarchdir}/samba/vfs/readonly.so
+%{_libarchdir}/samba/vfs/recycle.so
+%{_libarchdir}/samba/vfs/scannedonly.so
+%{_libarchdir}/samba/vfs/shadow_copy.so
+%{_libarchdir}/samba/vfs/shadow_copy2.so
+%{_libarchdir}/samba/vfs/smb_traffic_analyzer.so
+%{_libarchdir}/samba/vfs/streams_depot.so
+%{_libarchdir}/samba/vfs/streams_xattr.so
+%{_libarchdir}/samba/vfs/syncops.so
+%{_libarchdir}/samba/vfs/time_audit.so
+%{_libarchdir}/samba/vfs/tsmsm.so
+%{_libarchdir}/samba/vfs/xattr_tdb.so
+
 
 %{_mandir}/man1/smbcontrol.1*
 %{_mandir}/man1/smbstatus.1*
 %{_mandir}/man1/vfstest.1*
 %{_mandir}/man5/smbpasswd.5*
+%{_mandir}/man5/pam_winbind.conf.5*
 %{_mandir}/man7/samba.7*
 %{_mandir}/man8/nmbd.8*
 %{_mandir}/man8/pdbedit.8*
@@ -474,17 +513,26 @@ exit 0
 %{_mandir}/man8/tdbtool.8*
 %{_mandir}/man8/eventlogadm.8*
 %{_mandir}/man8/vfs_*.8*
-%{_mandir}/man8/idmap_*.8*
+%{_mandir}/man8/smbta-util.8*
 
 
 ##########
 
 %files doc
 %defattr(-,root,root)
-%doc README COPYING Manifest 
-%doc WHATSNEW.txt Roadmap
-%doc docs
-%doc examples/autofs examples/LDAP examples/libsmbclient examples/misc examples/printer-accounting
+%doc README
+%doc COPYING
+%doc Manifest 
+%doc WHATSNEW.txt
+%doc Roadmap
+%doc docs-xml/archives/THANKS
+%doc docs-xml/archives/history
+%doc docs-xml/registry
+%doc examples/autofs
+%doc examples/LDAP
+%doc examples/libsmbclient
+%doc examples/misc
+%doc examples/printer-accounting
 %doc examples/printing
 
 ##########
@@ -502,10 +550,6 @@ exit 0
 
 %files client
 %defattr(-,root,root)
-/sbin/mount.cifs
-/sbin/umount.cifs
-
-%{_sbindir}/cifs.upcall
 
 %{_bindir}/rpcclient
 %{_bindir}/smbcacls
@@ -518,10 +562,8 @@ exit 0
 %{_bindir}/smbtar
 %{_bindir}/smbtree
 %{_bindir}/sharesec
+%{_bindir}/smbta-util
 
-%{_mandir}/man8/mount.cifs.8.*
-%{_mandir}/man8/umount.cifs.8.*
-%{_mandir}/man8/cifs.upcall.8*
 %{_mandir}/man8/smbspool.8*
 %{_mandir}/man1/smbget.1*
 %{_mandir}/man5/smbgetrc.5*
@@ -545,30 +587,44 @@ exit 0
 %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_winbind.so*
+%attr(755,root,root) /%{_libarch}/libnss_winbind.so
+%attr(755,root,root) /%{_libarch}/libnss_winbind.so.2
 %attr(755,root,root) /%{_libarch}/security/pam_winbind.so
 %attr(755,root,root) /%{_libarch}/security/pam_smbpass.so
-/usr/share/locale/de/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/*/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/*/LC_MESSAGES/net.mo
+
+%{_libarchdir}/samba/charset/CP437.so
+%{_libarchdir}/samba/charset/CP850.so
+%{_libarchdir}/samba/idmap/ad.so
+%{_libarchdir}/samba/idmap/rid.so
+%{_libarchdir}/samba/idmap/tdb2.so
+%{_libarchdir}/samba/idmap/autorid.so
+%{_libarchdir}/samba/lowcase.dat
+%{_libarchdir}/samba/nss_info/rfc2307.so
+%{_libarchdir}/samba/nss_info/sfu.so
+%{_libarchdir}/samba/nss_info/sfu20.so
+%{_libarchdir}/samba/upcase.dat
+%{_libarchdir}/samba/valid.dat
 
 %{_includedir}/libsmbclient.h
 %{_libarchdir}/libsmbclient.*
-#%{_includedir}/libmsrpc.h
-#%{_libarchdir}/libmsrpc.*
 %{_includedir}/smb_share_modes.h
-%{_libarchdir}/libsmbsharemodes.*
-
-%{_libarchdir}/samba/*.dat
-%{_libarchdir}/samba/charset/*.so
+%{_libarchdir}/libsmbsharemodes.so
+%{_libarchdir}/libsmbsharemodes.so.0
 
 %{_includedir}/netapi.h
 %{_includedir}/wbclient.h
 %{_includedir}/talloc.h
 %{_includedir}/tdb.h
-%{_libarchdir}/libnetapi.so*
-%{_libarchdir}/libtalloc.so*
-%{_libarchdir}/libtdb.so*
-%{_libarchdir}/libwbclient.so*
+%{_libarchdir}/libnetapi.so
+%{_libarchdir}/libnetapi.so.0
+%{_libarchdir}/libtalloc.so
+%{_libarchdir}/libtalloc.so.2
+%{_libarchdir}/libtdb.so
+%{_libarchdir}/libtdb.so.1
+%{_libarchdir}/libwbclient.so
+%{_libarchdir}/libwbclient.so.0
 
 %{_libarchdir}/krb5/plugins/libkrb5/winbind_krb5_locator.so
 
@@ -579,16 +635,12 @@ exit 0
 %{_bindir}/smbpasswd
 %{_bindir}/profiles
 %{_bindir}/net
-%{_bindir}/ldbadd
-%{_bindir}/ldbdel
-%{_bindir}/ldbedit
-%{_bindir}/ldbmodify
-%{_bindir}/ldbsearch
-%{_bindir}/ldbrename
 %{_bindir}/wbinfo
 %{_bindir}/ntlm_auth
 %{_bindir}/pdbedit
 %{_bindir}/smbcquotas
+%{_bindir}/dbwrap_tool
+%{_bindir}/dbwrap_torture
 
 %{_mandir}/man1/ntlm_auth.1*
 %{_mandir}/man1/profiles.1*
@@ -609,14 +661,18 @@ exit 0
 %{_mandir}/man1/ldbsearch.1*
 %{_mandir}/man1/ldbrename.1*
 %{_mandir}/man7/winbind_krb5_locator.7*
+%{_mandir}/man8/idmap_*.8*
 
 %ifarch x86_64 ppc64
 %files winbind-32bit
-%attr(755,root,root) /lib/libnss_winbind.so*
-#%attr(755,root,root) /lib/libnss_wins.so*
-%attr(755,root,root) /usr/lib/libtalloc.so*
-%attr(755,root,root) /usr/lib/libtdb.so*
-%attr(755,root,root) /usr/lib/libwbclient.so*
+%attr(755,root,root) /lib/libnss_winbind.so
+%attr(755,root,root) /lib/libnss_winbind.so.2
+%attr(755,root,root) /usr/lib/libtalloc.so
+%attr(755,root,root) /usr/lib/libtalloc.so.2
+%attr(755,root,root) /usr/lib/libtdb.so
+%attr(755,root,root) /usr/lib/libtdb.so.1
+%attr(755,root,root) /usr/lib/libwbclient.so
+%attr(755,root,root) /usr/lib/libwbclient.so.0
 %attr(755,root,root) /lib/security/pam_winbind.so
 %endif