packaging: Remove RHEL-CTDB directory and contents
[gd/samba-autobuild/.git] / packaging / RHEL / samba.spec.tmpl
index 7a2f5c5c17a52f3ea1f9225ef5a4cc5a1d7612ec..c621fb63b670d6c54787d8bfd0b13f7a183c3d12 100644 (file)
@@ -1,9 +1,15 @@
 %define initdir %{_sysconfdir}/rc.d/init.d
 %define auth %(test -f /etc/pam.d/system-auth && echo /etc/pam.d/system-auth || echo)
+%define this_is_redhat  %(test -e /etc/redhat-release && echo 1 || echo 0)
+%if %{this_is_redhat} > 0
+%define rhel_ver %(grep "release" /etc/redhat-release | sed "s/^[^0-9]*\\([0-9]*\\).*/\\1/g")
+%else
+%define rhel_ver 0
+%endif
 
 Summary: Samba SMB client and server
 Vendor: Samba Team
-Packager: Samba Team <samba@samba.org>
+Packager: Samba Team <samba@lists.samba.org>
 Name:         samba
 Version:      PVERSION
 Release:      PRELEASEPRPMREV
@@ -30,9 +36,24 @@ Prefix: /usr
 BuildRoot: %{_tmppath}/%{name}-%{version}-root
 BuildRequires: pam-devel, readline-devel, fileutils, libacl-devel, openldap-devel, krb5-devel, cups-devel
 
+%if %{rhel_ver} > 4
+BuildRequires:  keyutils-libs-devel
+%else
+BuildRequires:  keyutils-devel
+%endif
+
 # Working around perl dependency problem from docs
 %define __perl_requires %{SOURCE998}
 
+# 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
 Samba is the protocol by which a lot of PC-related machines share
@@ -71,19 +92,6 @@ Samba-common provides files necessary for both the server and client
 packages of Samba.
 
 
-#######################################################################
-%package swat
-Summary: The Samba SMB server configuration program.
-Group: Applications/System
-Requires: samba = %{version} xinetd
-Provides: samba-swat = %{version}-%{release}
-
-%description swat
-The samba-swat package includes the new SWAT (Samba Web Administration
-Tool), for remotely managing Samba's smb.conf file using your favorite
-Web browser.
-
-
 #######################################################################
 %package doc
 Summary:      Samba Documentation
@@ -92,9 +100,9 @@ Provides:     samba-doc = %{version}-%{release}
 Prereq:       /usr/bin/find /bin/rm /usr/bin/xargs
 
 %description doc
-The samba-doc package includes the HTML versions of the Samba manpages
-utilized by SWAT as well as the HTML and PDF version of "Using Samba",
-"Samba By Example", and "The Official Samba HOWTO and Reference Guide".
+The samba-doc package includes the HTML versions of the Samba manpages as well
+as the HTML and PDF version of "Using Samba", "Samba By Example", and "The
+Official Samba HOWTO and Reference Guide".
 
 
 #######################################################################
@@ -109,45 +117,44 @@ utilized by SWAT as well as the HTML and PDF version of "Using Samba",
 
 /bin/cp setup/filter-requires-samba.sh %{SOURCE998}
 
-cd source
+cd source3
 # RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D_FILE_OFFSET_BITS=64"
 
 ## check for ccache
-# ccache -h 2>&1 > /dev/null
-#if [ $? -eq 0 ]; then
-#      CC="ccache gcc"
-#else
+if [ "$(which ccache 2> /dev/null)" != "" ]; then
+       CC="ccache gcc"
+else
        CC="gcc"
-#fi 
+fi 
 
 ## always run autogen.sh
 ./autogen.sh
 
-CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \
+## ignore insufficiently linked libreadline (RH bugzilla #499837):
+export LDFLAGS="$LDFLAGS -Wl,--allow-shlib-undefined,--no-as-needed"
+
+CC="$CC" CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \
        --prefix=%{_prefix} \
        --localstatedir=/var \
         --with-configdir=%{_sysconfdir}/samba \
-        --libdir=%{_libdir} \
-       --with-modulesdir=%{_libdir}/samba \
+        --libdir=%{_libarchdir} \
+       --with-modulesdir=%{_libarchdir}/samba \
+       --with-pammodulesdir=%{_libarch}/security \
         --with-lockdir=/var/lib/samba \
         --with-logfilebase=/var/log/samba \
         --with-mandir=%{_mandir} \
         --with-piddir=/var/run \
        --with-privatedir=%{_sysconfdir}/samba \
-        --with-sambabook=%{_datadir}/swat/using_samba \
-        --with-swatdir=%{_datadir}/swat \
        --enable-cups \
         --with-acl-support \
        --with-ads \
         --with-automount \
         --with-fhs \
-       --with-pam_smbpass \
        --with-libsmbclient \
-       --with-libsmbsharemodes \
         --without-smbwrapper \
        --with-pam \
        --with-quotas \
-       --with-shared-modules=idmap_rid,idmap_ad \
+       --with-shared-modules=idmap_rid,idmap_ad,idmap_hash,idmap_adex \
        --with-syslog \
        --with-utmp \
        --with-dnsupdate
@@ -165,14 +172,7 @@ if [ ${CC_MAJOR} -ge 3 ]; then
 fi
 
 
-make CFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE" %{?_smp_mflags} \
-       all modules pam_smbpass
-
-## build the cifs fs mount helper
-cd client
-gcc  -o mount.cifs $RPM_OPT_FLAGS  -D_GNU_SOURCE -Wall -D_GNU_SOURCE -D_LARGEFILE64_SOURCE mount.cifs.c
-gcc  -o umount.cifs $RPM_OPT_FLAGS  -D_GNU_SOURCE -Wall -D_GNU_SOURCE -D_LARGEFILE64_SOURCE umount.cifs.c
-cd ..
+make all modules
 
 # Remove some permission bits to avoid to many dependencies
 cd ..
@@ -183,12 +183,11 @@ find examples docs -type f | xargs -r chmod -x
 rm -rf $RPM_BUILD_ROOT
 
 # Create the target build directory hierarchy
-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/%{_lib}/security
+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}
 mkdir -p $RPM_BUILD_ROOT%{_prefix}/lib
@@ -201,36 +200,17 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d
 mkdir -p $RPM_BUILD_ROOT/var/lib/samba/winbindd_privileged
 mkdir -p $RPM_BUILD_ROOT/var/{log,run/winbindd,spool}/samba
 
-cd source
+cd source3
 make DESTDIR=$RPM_BUILD_ROOT \
         install
 cd ..
 
-# NSS & PAM winbind support
-install -m 755 source/bin/pam_winbind.so $RPM_BUILD_ROOT/%{_lib}/security/pam_winbind.so
-install -m 755 source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_lib}/libnss_winbind.so
-install -m 755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_lib}/libnss_wins.so
-( cd $RPM_BUILD_ROOT/%{_lib};
-  ln -sf libnss_winbind.so  libnss_winbind.so.2;
-  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 644 source/include/libsmbclient.h $RPM_BUILD_ROOT%{_includedir}
-ln -s %{_libdir}/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/libsmbclient.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 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
-
-# Install pam_smbpass.so
-install -m755 source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smbpass.so
+# NSS winbind support
+install -m 755 nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_libarch}/libnss_winbind.so.2
+install -m 755 nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_libarch}/libnss_wins.so.2
+( cd $RPM_BUILD_ROOT/%{_libarch};
+  ln -sf libnss_winbind.so.2  libnss_winbind.so;
+  ln -sf libnss_wins.so.2  libnss_wins.so )
 
 ## cleanup
 /bin/rm -rf $RPM_BUILD_ROOT/usr/lib*/samba/security
@@ -239,19 +219,14 @@ install -m755 source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smb
 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
 install -m755 setup/winbind.init $RPM_BUILD_ROOT%{initdir}/winbind
 install -m644 setup/samba.pamd $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/samba
-install -m755 setup/smbprint $RPM_BUILD_ROOT%{_bindir}
+install -m755 packaging/printing/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 source/client/mount.cifs $RPM_BUILD_ROOT/sbin/mount.cifs
-install -m755 source/client/umount.cifs $RPM_BUILD_ROOT/sbin/umount.cifs
-install -m755 source/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir}
-
-/bin/rm $RPM_BUILD_ROOT%{_sbindir}/*mount.cifs
+install -m755 source3/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_bindir}
 
 ln -s ../..%{initdir}/smb  $RPM_BUILD_ROOT%{_sbindir}/samba
 ln -s ../..%{initdir}/winbind  $RPM_BUILD_ROOT%{_sbindir}/winbind
@@ -259,10 +234,8 @@ 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
@@ -305,12 +278,6 @@ if [ "$1" -ge "1" ]; then
 fi     
 
 
-%post swat
-# Add swat entry to /etc/services if not already there.
-if [ ! "`grep ^\s**swat /etc/services`" ]; then
-        echo 'swat        901/tcp     # Add swat service used via inetd' >> /etc/services
-fi
-
 %post common
 /sbin/ldconfig
 
@@ -348,21 +315,23 @@ fi
 %{_bindir}/tdbbackup
 %{_bindir}/tdbtool
 %{_bindir}/tdbdump
+%{_bindir}/tdbrestore
 %{_bindir}/wbinfo
 %{_bindir}/ntlm_auth
 %{_bindir}/pdbedit
 %{_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*
 %{_mandir}/man1/vfstest.1*
 %{_mandir}/man5/smbpasswd.5*
 %{_mandir}/man7/samba.7*
+%{_mandir}/man7/winbind_krb5_locator.7*
 %{_mandir}/man8/nmbd.8*
 %{_mandir}/man8/pdbedit.8*
 %{_mandir}/man8/smbd.8*
@@ -373,6 +342,7 @@ fi
 %{_mandir}/man8/winbindd.8*
 %{_mandir}/man1/ntlm_auth.1*
 %{_mandir}/man1/wbinfo.1*
+%{_mandir}/man1/dbwrap_*.1*
 %{_mandir}/man8/vfs_*.8*
 %{_mandir}/man8/idmap_*.8*
 
@@ -386,34 +356,15 @@ fi
 %doc docs
 %doc examples/autofs examples/LDAP examples/libsmbclient examples/misc examples/printer-accounting
 %doc examples/printing
-%doc %{_datadir}/swat/help
-%doc %{_datadir}/swat/using_samba
-
-##########
-
-%files swat
-%defattr(-,root,root)
-%config(noreplace) %{_sysconfdir}/xinetd.d/swat
-%dir %{_datadir}/swat
-%{_datadir}/swat/include
-%{_datadir}/swat/images
-%{_datadir}/swat/lang
-%{_sbindir}/swat
-%{_mandir}/man8/swat.8*
 
 ##########
 
 %files client
 %defattr(-,root,root)
-/sbin/mount.smb
-/sbin/mount.smbfs
-/sbin/mount.cifs
-/sbin/umount.cifs
 
 %{_bindir}/rpcclient
 %{_bindir}/smbcacls
-%{_bindir}/smbmnt
-%{_bindir}/smbumount
+%{_bindir}/sharesec
 %{_bindir}/findsmb
 %{_bindir}/smbcquotas
 %{_bindir}/nmblookup
@@ -425,8 +376,6 @@ fi
 %{_bindir}/net
 %{_bindir}/smbtree
 
-%{_mandir}/man8/mount.cifs.8.*
-%{_mandir}/man8/umount.cifs.8.*
 %{_mandir}/man8/smbspool.8*
 %{_mandir}/man1/smbget.1*
 %{_mandir}/man5/smbgetrc.5*
@@ -434,6 +383,7 @@ fi
 %{_mandir}/man1/nmblookup.1*
 %{_mandir}/man1/rpcclient.1*
 %{_mandir}/man1/smbcacls.1*
+%{_mandir}/man1/sharesec.1*
 %{_mandir}/man1/smbclient.1*
 %{_mandir}/man1/smbtar.1*
 %{_mandir}/man1/smbtree.1*
@@ -445,22 +395,51 @@ fi
 %files common
 %defattr(-,root,root)
 %dir %{_sysconfdir}/samba
+%dir %{_libarchdir}/samba
+%dir %{_libarchdir}/samba/charset
 %config(noreplace) %{_sysconfdir}/samba/smb.conf
 %config(noreplace) %{_sysconfdir}/samba/lmhosts
 
-%attr(755,root,root) /%{_lib}/libnss_wins.so*
-%attr(755,root,root) /%{_lib}/libnss_winbind.so*
-%attr(755,root,root) /%{_lib}/security/pam_winbind.so
-%attr(755,root,root) /%{_lib}/security/pam_smbpass.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
+/usr/share/locale/de/LC_MESSAGES/net.mo
+/usr/share/locale/de/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/ar/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/cs/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/da/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/es/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/fi/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/fr/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/hu/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/it/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/ja/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/ko/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/nb/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/nl/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/pl/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/pt_BR/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/ru/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/sv/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/zh_CN/LC_MESSAGES/pam_winbind.mo
+/usr/share/locale/zh_TW/LC_MESSAGES/pam_winbind.mo
 
 %{_includedir}/libsmbclient.h
-%{_libdir}/libsmbclient.*
+%{_libarchdir}/libsmbclient.*
 %{_includedir}/smb_share_modes.h
-%{_libdir}/libsmbsharemodes.*
 
-%{_libdir}/samba/*.dat
-%{_libdir}/samba/*.msg
-%{_libdir}/samba/charset/*.so
+%{_libarchdir}/samba/*.dat
+%{_libarchdir}/samba/*.msg
+%{_libarchdir}/samba/charset/*.so
+
+%{_includedir}/netapi.h
+%{_includedir}/wbclient.h
+%{_includedir}/talloc.h
+%{_includedir}/tdb.h
+%{_libarchdir}/libnetapi.so*
+%{_libarchdir}/libtalloc.so*
+%{_libarchdir}/libtdb.so*
+%{_libarchdir}/libwbclient.so*
 
 %{_bindir}/testparm
 %{_bindir}/smbpasswd
@@ -471,8 +450,9 @@ fi
 %{_mandir}/man5/smb.conf.5*
 %{_mandir}/man5/lmhosts.5*
 %{_mandir}/man8/smbpasswd.8*
+%{_mandir}/man5/pam_winbind.conf.5.*
 %{_mandir}/man7/libsmbclient.7*
-%{_mandir}/man7/pam_winbind.7*
+%{_mandir}/man8/pam_winbind.8*
 
 %changelog
 * Fri Jan 16 2004 Gerald (Jerry) Carter <jerry@samba,org>