# TODO:
+# - drop tdb.spec and build tdb,tdb-devel,tdb-static package from samba
# - look into other distro specs for valid %descriptions for samba 3
# - unpackaged man pages for modules that are not built by default,
# maybe we should build them?
# /usr/share/man/man8/vfs_notify_fam.8*
# /usr/share/man/man8/vfs_prealloc.8*
# - libmsrpc.so is broken (references smbc_attr_server() which is no longer exported from libsmbclient)
+# - package libs:
+# libnetapi
+# libsmbsharemodes
+# - MERGE vfs modules into main package, what was the point of splitting these?
#
# Conditional build:
%bcond_without ads # without ActiveDirectory support
Summary(uk.UTF-8): SMB клієнт та сервер
Summary(zh_CN.UTF-8): Samba 客户端和服务器
Name: samba
-Version: 3.2.4
-Release: 0.1
+Version: 3.3.2
+Release: 1
Epoch: 1
License: GPL v2
Group: Networking/Daemons
Source0: http://www.samba.org/samba/ftp/%{name}-%{version}.tar.gz
-# Source0-md5: 7870a6bb3a025c6081cd56688acd494a
+# Source0-md5: 5c5178ea2c5d9bd5f6569285f2e0e6d7
Source1: smb.init
Source2: %{name}.pamd
Source3: swat.inetd
# Source7-md5: 8f1dd119172e04e6d7c2d05526a4cf8b
Source8: winbind.init
Source9: winbind.sysconfig
-Patch0: %{name}-lib64.patch
-Patch1: %{name}-smbwrapper.patch
-Patch2: %{name}-c++-nofail.patch
-Patch3: %{name}-pthread.patch
-Patch4: %{name}-nscd.patch
-Patch5: %{name}-doc.patch
-Patch6: %{name}-libs-needed.patch
-Patch7: %{name}-lprng-no-dot-printers.patch
-Patch8: %{name}-cap.patch
-Patch9: %{name}-printerlocation.patch
-Patch10: %{name}-ac.patch
+Patch0: %{name}-smbwrapper.patch
+Patch1: %{name}-c++-nofail.patch
+Patch2: %{name}-pthread.patch
+Patch3: %{name}-nscd.patch
+Patch4: %{name}-lprng-no-dot-printers.patch
+Patch5: %{name}-link.patch
URL: http://www.samba.org/
BuildRequires: acl-devel
BuildRequires: autoconf
Summary(uk.UTF-8): Клієнтські програми Samba (SMB)
Group: Applications/Networking
Requires: %{name}-common = %{epoch}:%{version}-%{release}
+Requires: libsmbclient = %{epoch}:%{version}-%{release}
%{?with_kerberos5:Requires: krb5-libs}
Obsoletes: mount-cifs
Obsoletes: smbfs
Summary(ru.UTF-8): Файлы, используемые как сервером, так и клиентом Samba
Summary(uk.UTF-8): Файли, що використовуються як сервером, так і клієнтом Samba
Group: Networking/Daemons
+Requires: tdb >= 1.1.3
%description common
Samba-common provides files necessary for both the server and client
%description -n libsmbclient-static -l pl.UTF-8
Statyczna biblioteka libsmbclient.
+%package -n libtalloc
+Summary: The talloc library
+Group: Libraries
+
+%description -n libtalloc
+The talloc library from the Samba suite.
+
+%package -n libtalloc-devel
+Summary: Developer tools for the talloc library
+Group: Development/Libraries
+Requires: libtalloc = %{epoch}:%{version}-%{release}
+
+%description -n libtalloc-devel
+The libtalloc-devel package contains the header files and libraries needed to
+develop programs that link against the talloc library in the Samba suite.
+
%package devel
Summary: Header files for Samba
Summary(pl.UTF-8): Pliki nagłówkowe Samby
%prep
%setup -q
-%if "%{_lib}" == "lib64"
-#%patch0 -p1
-%endif
+%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
-#%patch5 -p1
-#%patch6 -p1
-%patch7 -p1
-# OBSOLETE
-#%patch8 -p1
-#?
-#%patch9 -p1
-#?
-#%patch10 -p1
+%patch5 -p1
+
%{__sed} -i 's#%SAMBAVERSION%#%{version}#' docs/htmldocs/index.html
cd examples/VFS
%{__libtoolize}
%{__autoconf} -Im4 -Ilib/replace
%configure \
- --libdir=%{_sambalibdir} \
+ --with-modulesdir=%{_sambalibdir} \
--with-rootsbindir=/sbin \
--with-pammodulesdir=/%{_lib}/security \
--with-acl-support \
install source/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_sbindir}
-ln -sf %{_bindir}/smbmount $RPM_BUILD_ROOT/sbin/mount.smbfs
-
install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/smb
install %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/samba
install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/swat
install source/bin/smbget $RPM_BUILD_ROOT%{_bindir}
install source/bin/vfstest $RPM_BUILD_ROOT%{_bindir}
-mv $RPM_BUILD_ROOT%{_libdir}/samba/lib*.so* $RPM_BUILD_ROOT%{_libdir}
install source/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.a
# smbwrapper
> $RPM_BUILD_ROOT/etc/security/blacklist.samba
# we have this utility in tdb package
-rm -f $RPM_BUILD_ROOT{%{_bindir}/tdbdump,%{_mandir}/man8/tdbdump.8*}
+rm -f $RPM_BUILD_ROOT{%{_bindir}/tdb{backup,dump},%{_mandir}/man8/tdb{backup,dump}.8*}
+
+# unneeded
+rm -r $RPM_BUILD_ROOT%{_datadir}/swat/using_samba
mv $RPM_BUILD_ROOT%{_bindir}/tdbtool $RPM_BUILD_ROOT%{_bindir}/tdbtool_samba
install examples/LDAP/samba.schema $RPM_BUILD_ROOT%{schemadir}
%endif
+%find_lang pam_winbind
+
%clean
rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_bindir}/smbstatus
%attr(755,root,root) %{_bindir}/smbpasswd
%attr(755,root,root) %{_bindir}/smbcontrol
-%attr(755,root,root) %{_bindir}/tdbbackup
%attr(755,root,root) %{_bindir}/tdbtool_samba
%dir %{_libdir}/%{name}/pdb
%dir %{_vfsdir}
+%attr(755,root,root) %{_vfsdir}/acl_tdb.so
+%attr(755,root,root) %{_vfsdir}/acl_xattr.so
+%attr(755,root,root) %{_vfsdir}/fileid.so
+%attr(755,root,root) %{_vfsdir}/preopen.so
+%attr(755,root,root) %{_vfsdir}/shadow_copy2.so
+%attr(755,root,root) %{_vfsdir}/smb_traffic_analyzer.so
+%attr(755,root,root) %{_vfsdir}/streams_depot.so
+%attr(755,root,root) %{_vfsdir}/streams_xattr.so
+%attr(755,root,root) %{_vfsdir}/syncops.so
+%attr(755,root,root) %{_vfsdir}/xattr_tdb.so
+%{_mandir}/man8/vfs_acl_tdb.8*
+%{_mandir}/man8/vfs_acl_xattr.8*
+%{_mandir}/man8/vfs_fileid.8*
+%{_mandir}/man8/vfs_preopen.8*
+%{_mandir}/man8/vfs_shadow_copy2.8*
+%{_mandir}/man8/vfs_smb_traffic_analyzer.8*
+%{_mandir}/man8/vfs_streams_xattr.8*
+%{_mandir}/man8/vfs_streams_depot.8*
+%{_mandir}/man8/vfs_xattr_tdb.8*
+
%attr(600,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/smbusers
%attr(754,root,root) /etc/rc.d/init.d/smb
%{_mandir}/man8/nmbd.8*
%{_mandir}/man8/smbd.8*
%{_mandir}/man8/smbpasswd.8*
-%{_mandir}/man8/tdbbackup.8*
%dir %{_sambahome}
%dir /var/lib/samba
%doc examples/LDAP
%endif
-%files winbind
+%files winbind -f pam_winbind.lang
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/winbindd
%attr(755,root,root) %{_bindir}/wbinfo
%files client
%defattr(644,root,root,755)
-%attr(755,root,root) /sbin/mount.smbfs
%attr(755,root,root) /sbin/mount.cifs
%attr(755,root,root) /sbin/umount.cifs
+%attr(755,root,root) %{_bindir}/findsmb
%attr(755,root,root) %{_bindir}/net
-%attr(755,root,root) %{_bindir}/smbsh
-%attr(755,root,root) %{_bindir}/smbtree
-%attr(755,root,root) %{_libdir}/smbwrapper.so
-%{_mandir}/man1/smbtree.1*
-%{_mandir}/man8/net.8*
-%{_mandir}/man8/*mount.cifs.8*
%attr(755,root,root) %{_bindir}/nmblookup
+%attr(755,root,root) %{_bindir}/rpcclient
+%attr(755,root,root) %{_bindir}/sharesec
%attr(755,root,root) %{_bindir}/smbcacls
%attr(755,root,root) %{_bindir}/smbclient
+%attr(755,root,root) %{_bindir}/smbsh
%attr(755,root,root) %{_bindir}/smbtar
+%attr(755,root,root) %{_bindir}/smbtree
+%attr(755,root,root) %{_sbindir}/cifs.upcall
+%attr(755,root,root) %{_libdir}/smbwrapper.so
+%{_mandir}/man1/findsmb.1*
%{_mandir}/man1/nmblookup.1*
+%{_mandir}/man1/rpcclient.1*
+%{_mandir}/man1/sharesec.1*
%{_mandir}/man1/smbcacls.1*
%{_mandir}/man1/smbclient.1*
-%{_mandir}/man1/smbtar.1*
%{_mandir}/man1/smbsh.1*
-%attr(755,root,root) %{_bindir}/rpcclient
-%{_mandir}/man1/rpcclient.1*
-%attr(755,root,root) %{_bindir}/findsmb
-%{_mandir}/man1/findsmb.1*
+%{_mandir}/man1/smbtar.1*
+%{_mandir}/man1/smbtree.1*
+%{_mandir}/man8/cifs.upcall.8*
+%{_mandir}/man8/net.8*
+%{_mandir}/man8/*mount.cifs.8*
%files common
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/testparm
%attr(755,root,root) %{_bindir}/vfstest
%dir %{_libdir}/%{name}
-# how this one is used? SONAME is libsmbsharemodes.so.0
-%attr(755,root,root) %{_libdir}/%{name}/libsmbsharemodes.so
%{_libdir}/%{name}/*.dat
%dir %{_libdir}/%{name}/auth
%attr(755,root,root) %{_libdir}/%{name}/auth/script.so
%{_mandir}/man8/pdbedit.8*
%{_mandir}/man8/eventlogadm.8*
%{_mandir}/man8/idmap_ad.8*
+%{_mandir}/man8/idmap_adex.8*
+%{_mandir}/man8/idmap_hash.8*
%{_mandir}/man8/idmap_ldap.8*
%{_mandir}/man8/idmap_nss.8*
%{_mandir}/man8/idmap_rid.8*
%{_mandir}/man8/idmap_tdb.8*
+%{_mandir}/man8/idmap_tdb2.8*
%{_mandir}/man8/tdbtool.8*
%files swat
%{_includedir}/libsmbclient.h
%{_includedir}/wbclient.h
+%files -n libtalloc
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libtalloc.so.*
+
+%files -n libtalloc-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libtalloc.so
+%{_includedir}/talloc.h
+
%files devel
%defattr(644,root,root,755)
%{_includedir}/%{name}