Name: samba
Version: PVERSION
Release: PRELEASEPRPMREV
-License: GNU GPL version 2
+Epoch: 0
+License: GNU GPL version 3
Group: System Environment/Daemons
URL: http://www.samba.org/
# 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
# 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
+ ccache -h 2>&1 > /dev/null
+if [ $? -eq 0 ]; then
+ CC="ccache gcc"
+else
CC="gcc"
-#fi
+fi
## always run autogen.sh
./autogen.sh
-CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \
+CC="$CC" CFLAGS="$RPM_OPT_FLAGS $EXTRA -D_GNU_SOURCE" ./configure \
--prefix=%{_prefix} \
--localstatedir=/var \
--with-configdir=%{_sysconfdir}/samba \
- --with-libdir=%{_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-pam \
--with-quotas \
--with-shared-modules=idmap_rid,idmap_ad \
- --with-smbmount \
--with-syslog \
- --with-utmp
+ --with-utmp \
+ --with-dnsupdate
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`
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
install
cd ..
-# pam_smbpass
-cp source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security/pam_smbpass.so
-
-# 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 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 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
-
-# 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 source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_libarch}/libnss_winbind.so.2
+install -m 755 source/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
-# we need a symlink for mount to recognise the smb and smbfs filesystem types
-ln -sf %{_prefix}/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smbfs
-ln -sf %{_prefix}/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smb
-/bin/rm -f $RPM_BUILD_ROOT/mount.smbfs
-
# Install the miscellany
echo 127.0.0.1 localhost > $RPM_BUILD_ROOT%{_sysconfdir}/samba/lmhosts
%{_sbindir}/nmbd
%{_sbindir}/winbindd
-%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
-
%{_bindir}/mksmbpasswd.sh
%{_bindir}/smbcontrol
%{_bindir}/smbstatus
%{_bindir}/pdbedit
%{_bindir}/eventlogadm
-%{_libdir}/samba/idmap/*.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}/man8/nmbd.8*
%{_mandir}/man8/pdbedit.8*
%{_mandir}/man8/smbd.8*
-%{_mandir}/man7/pam_winbind.7*
%{_mandir}/man8/tdbbackup.8*
%{_mandir}/man8/tdbdump.8*
+%{_mandir}/man8/tdbtool.8*
+%{_mandir}/man8/eventlogadm.8*
%{_mandir}/man8/winbindd.8*
%{_mandir}/man1/ntlm_auth.1*
%{_mandir}/man1/wbinfo.1*
+%{_mandir}/man8/vfs_*.8*
+%{_mandir}/man8/idmap_*.8*
##########
%files client
%defattr(-,root,root)
-/sbin/mount.smb
-/sbin/mount.smbfs
/sbin/mount.cifs
/sbin/umount.cifs
+%{_sbindir}/cifs.upcall
%{_bindir}/rpcclient
%{_bindir}/smbcacls
-%{_bindir}/smbmount
-%{_bindir}/smbmnt
-%{_bindir}/smbumount
%{_bindir}/findsmb
%{_bindir}/smbcquotas
%{_bindir}/nmblookup
%{_bindir}/net
%{_bindir}/smbtree
-%{_mandir}/man8/smbmnt.8*
-%{_mandir}/man8/smbmount.8*
-%{_mandir}/man8/smbumount.8*
%{_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*
%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
-%{_includedir}/libsmbclient.h
-%{_libdir}/libsmbclient.a
-%{_libdir}/libsmbclient.so*
-%{_includedir}/libmsrpc.h
-%{_libdir}/libmsrpc.a
-%{_libdir}/libmsrpc.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
-%{_libdir}/samba/*.dat
-%{_libdir}/samba/*.msg
-%{_libdir}/samba/charset/*.so
+%{_includedir}/libsmbclient.h
+%{_libarchdir}/libsmbclient.*
+%{_includedir}/smb_share_modes.h
+%{_libarchdir}/libsmbsharemodes.*
+
+%{_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
%{_bindir}/profiles
+%{_bindir}/ldbadd
+%{_bindir}/ldbdel
+%{_bindir}/ldbedit
+%{_bindir}/ldbmodify
+%{_bindir}/ldbsearch
+
%{_mandir}/man1/profiles.1*
%{_mandir}/man1/testparm.1*
%{_mandir}/man5/smb.conf.5*
%{_mandir}/man5/lmhosts.5*
%{_mandir}/man8/smbpasswd.8*
%{_mandir}/man7/libsmbclient.7*
+%{_mandir}/man7/pam_winbind.7*
+
+%{_mandir}/man1/ldbadd.1*
+%{_mandir}/man1/ldbdel.1*
+%{_mandir}/man1/ldbedit.1*
+%{_mandir}/man1/ldbmodify.1*
+%{_mandir}/man1/ldbsearch.1*
%changelog
* Fri Jan 16 2004 Gerald (Jerry) Carter <jerry@samba,org>