# TODO:
# - 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_cacheprime.8.gz
+# /usr/share/man/man8/vfs_catia.8.gz
+# /usr/share/man/man8/vfs_commit.8.gz
+# /usr/share/man/man8/vfs_extd_audit.8.gz
+# /usr/share/man/man8/vfs_full_audit.8.gz
+# /usr/share/man/man8/vfs_gpfs.8.gz
+# /usr/share/man/man8/vfs_notify_fam.8.gz
+# /usr/share/man/man8/vfs_prealloc.8.gz
+# - linking breakage:
+# libmsrpc.so.0:
+# undefined symbol: smbc_attr_server (./libmsrpc.so.0)
+# maybe more
#
# Conditional build:
%bcond_without ads # without ActiveDirectory support
%if !%{with kerberos5} || !%{with ldap}
%undefine with_ads
%endif
-%define vscan_version 0.3.6b
+%define vscan_version 0.3.6c-beta4
Summary: SMB server
Summary(cs.UTF-8): Server SMB
Summary(da.UTF-8): SMB server
Summary(uk.UTF-8): SMB клієнт та сервер
Summary(zh_CN.UTF-8): Samba 客户端和服务器
Name: samba
-Version: 3.0.24
-Release: 3
+Version: 3.0.25a
+Release: 0.1
Epoch: 1
License: GPL v2
Group: Networking/Daemons
Source0: http://us1.samba.org/samba/ftp/%{name}-%{version}.tar.gz
-# Source0-md5: 89273f67a6d8067cbbecefaa13747153
+# Source0-md5: cbd33bb5d904ccd8a294a4019743745d
Source1: smb.init
Source2: %{name}.pamd
Source3: swat.inetd
Source4: %{name}.sysconfig
Source5: %{name}.logrotate
Source6: smb.conf
-Source7: http://dl.sourceforge.net/openantivirus/%{name}-vscan-%{vscan_version}.tar.bz2
-# Source7-md5: 900502ba36b80620229b94e5129bc856
+Source7: http://www.openantivirus.org/download/%{name}-vscan-%{vscan_version}.tar.gz
+# Source7-md5: c40acad9691ef5284a164c024124ca78
Source8: winbind.init
Source9: winbind.sysconfig
Patch0: %{name}-lib64.patch
-Patch1: %{name}-FHS.patch
Patch2: %{name}-c++-nofail.patch
Patch3: %{name}-pthread.patch
Patch4: %{name}-libsmbclient-libnscd_link.patch
Patch5: %{name}-doc.patch
+Patch6: %{name}-libs-needed.patch
URL: http://www.samba.org/
BuildRequires: acl-devel
BuildRequires: autoconf
BuildRequires: dmapi-devel
%{?with_kerberos5:BuildRequires: krb5-devel}
BuildRequires: iconv
-BuildRequires: libnscd-devel
BuildRequires: libmagic-devel
+BuildRequires: libnscd-devel
BuildRequires: libtool >= 2:1.4d
BuildRequires: ncurses-devel >= 5.2
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
%description vfs-recycle -l pl.UTF-8
Moduł VFS dodający możliwość kosza do zasobu samby.
+%package vfs-readahead
+Summary: VFS module for pre-loading the kernel buffer cache
+Summary(pl.UTF-8): Moduł VFS do wczesnego odczytu danych do bufora cache jądra
+Group: Networking/Daemons
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description vfs-readahead
+This VFS module detects read requests at multiples of a given offset
+(hex 0x80000 by default) and then tells the kernel via either the
+readahead system call (on Linux) or the posix_fadvise system call to
+pre-fetch this data into the buffer cache.
+
+This module is useful for Windows Vista clients reading data using the
+Windows Explorer program, which asynchronously does multiple file read
+requests at offset boundaries of 0x80000 bytes.
+
+%description vfs-readahead -l pl.UTF-8
+Ten moduł VFS wykrywa żądania odczytu spod wielokrotności podanych
+pozycji (domyślnie 0x80000 szesnastkowo) i instruuje jądro poprzez
+wywołanie systemowe readahead (pod Linuksem) lub posix_fadvise do
+wczesnego odczytu tych danych do bufora cache.
+
+Ten moduł jest przydatny dla klientów Windows Vista odczytujących dane
+przy użyciu programu Windows Explorer, który asynchronicznie wykonuje
+wiele żądań odczytu plików spod pozycji o wielokrotnościach 0x80000
+bajtów.
+
%package vfs-readonly
Summary: VFS module for read-only limitation for specified share
Summary(pl.UTF-8): Moduł VFS do ograniczania określonego udziału tylko do odczytu
%if "%{_lib}" == "lib64"
%patch0 -p1
%endif
-%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
+%patch6 -p1
%{__sed} -i 's#%SAMBAVERSION%#%{version}#' docs/htmldocs/index.html
cd examples/VFS
-tar xjf %{SOURCE7}
+tar xzf %{SOURCE7}
mv README{,.vfs}
%build
cd source
%{__libtoolize}
-%{__autoconf}
-
-# Removed options (default or not supported by configure script)
-# --with-mmap \
-# --with-netatalk \
-# --without-smbwrapper \
-# --with-sslinc=%{_prefix} \
-# --with-vfs \
-# --with-tdbsam \
-# %{?with_ipv6:--with-ipv6} \
+%{__autoconf} -I lib/replace
%configure \
--with-rootsbindir=/sbin \
--with-quotas \
--with-readline \
--with-smbmount \
- --with-smbwrapper \
--with-swatdir=%{_datadir}/swat \
--with-syslog \
--with-utmp \
%{__make} proto
%{__make} everything pam_smbpass bin/smbget bin/mount.cifs bin/vfstest
-cd ../examples/VFS
+cd ../examples
+# TODO: -L, optflags
+%{__make} -C libsmbclient/smbwrapper
+
+cd VFS
%{__autoconf}
%configure \
CFLAGS="%{rpmcflags} -fPIC"
$RPM_BUILD_ROOT/var/log/samba/cores/{smbd,nmbd} \
$RPM_BUILD_ROOT{/sbin,/%{_lib}/security,%{_libdir},%{_vfsdir},%{_includedir},%{_sambahome},%{schemadir}}
-cd source
-%{__make} install \
+%{__make} -C source install \
DESTDIR=$RPM_BUILD_ROOT \
CONFIGDIR=$RPM_BUILD_ROOT%{_sysconfdir}/samba
-install script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_sbindir}
-cd ..
+install source/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_sbindir}
ln -sf %{_bindir}/smbmount $RPM_BUILD_ROOT/sbin/mount.smbfs
install source/bin/vfstest $RPM_BUILD_ROOT%{_bindir}
mv $RPM_BUILD_ROOT%{_libdir}/samba/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so.0
-install source/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.a
ln -s libsmbclient.so.0 $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so
+install source/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.a
mv $RPM_BUILD_ROOT%{_libdir}/samba/libmsrpc.so $RPM_BUILD_ROOT%{_libdir}/libmsrpc.so.0
-install source/bin/libmsrpc.a $RPM_BUILD_ROOT%{_libdir}/libmsrpc.a
ln -s libmsrpc.so.0 $RPM_BUILD_ROOT%{_libdir}/libmsrpc.so
+install source/bin/libmsrpc.a $RPM_BUILD_ROOT%{_libdir}/libmsrpc.a
install source/include/libsmbclient.h $RPM_BUILD_ROOT%{_includedir}
+# smbwrapper
+install examples/libsmbclient/smbwrapper/smbwrapper.so $RPM_BUILD_ROOT%{_libdir}/smbwrapper.so
+install examples/libsmbclient/smbwrapper/smbsh $RPM_BUILD_ROOT%{_bindir}
+install docs/manpages/smbsh.1 $RPM_BUILD_ROOT%{_mandir}/man1
+
# these are needed to build samba-pdbsql
-install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/{smbwrapper,tdb,nsswitch}
+install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/{tdb,nsswitch}
cp -a source/include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
-cp -a source/smbwrapper/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/smbwrapper
-cp -a source/tdb/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/tdb
+cp -a source/tdb/include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/tdb
cp -a source/nsswitch/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/nsswitch
# vscan modules
%attr(755,root,root) %{_bindir}/net
%attr(755,root,root) %{_bindir}/smbmnt
%attr(755,root,root) %{_bindir}/smbmount
+%attr(755,root,root) %{_bindir}/smbsh
%attr(755,root,root) %{_bindir}/smbtree
%attr(755,root,root) %{_bindir}/smbumount
+%attr(755,root,root) %{_libdir}/smbwrapper.so
%{_mandir}/man1/smbtree.1*
%{_mandir}/man8/net.8*
%{_mandir}/man8/smbmnt.8*
%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}/man5/lmhosts.5*
%{_mandir}/man5/smb.conf.5*
%{_mandir}/man8/pdbedit.8*
+%{_mandir}/man8/eventlogadm.8*
+%{_mandir}/man8/idmap_ad.8*
+%{_mandir}/man8/idmap_ldap.8*
+%{_mandir}/man8/idmap_nss.8*
+%{_mandir}/man8/idmap_rid.8*
+%{_mandir}/man8/idmap_tdb.8*
+%{_mandir}/man8/tdbtool.8*
%files swat
%defattr(644,root,root,755)
%lang(tr) %{_datadir}/swat/lang/tr
%lang(de) %{_libdir}/%{name}/de.msg
%{_libdir}/%{name}/en.msg
+%lang(fi) %{_libdir}/%{name}/fi.msg
%lang(fr) %{_libdir}/%{name}/fr.msg
%lang(it) %{_libdir}/%{name}/it.msg
%lang(ja) %{_libdir}/%{name}/ja.msg
%attr(755,root,root) %{_vfsdir}/audit.so
%attr(755,root,root) %{_vfsdir}/extd_audit.so
%attr(755,root,root) %{_vfsdir}/full_audit.so
+%{_mandir}/man8/vfs_audit.8*
%files vfs-cap
%defattr(644,root,root,755)
%attr(755,root,root) %{_vfsdir}/cap.so
+%{_mandir}/man8/vfs_cap.8*
%files vfs-default_quota
%defattr(644,root,root,755)
%attr(755,root,root) %{_vfsdir}/default_quota.so
+%{_mandir}/man8/vfs_default_quota.8*
%files vfs-expand_msdfs
%defattr(644,root,root,755)
%files vfs-fake_perms
%defattr(644,root,root,755)
%attr(755,root,root) %{_vfsdir}/fake_perms.so
+%{_mandir}/man8/vfs_fake_perms.8*
%files vfs-netatalk
%defattr(644,root,root,755)
%attr(755,root,root) %{_vfsdir}/netatalk.so
+%{_mandir}/man8/vfs_netatalk.8*
+
+%files vfs-readahead
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_vfsdir}/readahead.so
+%{_mandir}/man8/vfs_readahead.8*
%files vfs-readonly
%defattr(644,root,root,755)
%attr(755,root,root) %{_vfsdir}/readonly.so
+%{_mandir}/man8/vfs_readonly.8*
%files vfs-recycle
%defattr(644,root,root,755)
%attr(755,root,root) %{_vfsdir}/recycle.so
+%{_mandir}/man8/vfs_recycle.8*
%files vfs-shadow_copy
%defattr(644,root,root,755)
%attr(755,root,root) %{_vfsdir}/shadow_copy.so
+%{_mandir}/man8/vfs_shadow_copy.8*
%files vfs-vscan-antivir
%defattr(644,root,root,755)