+#
# TODO:
+# - review python-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_cacheprime.8*
-# /usr/share/man/man8/vfs_catia.8*
-# /usr/share/man/man8/vfs_commit.8*
-# /usr/share/man/man8/vfs_gpfs.8*
-# /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)
+# maybe we should build them?
+# /usr/share/man/man8/vfs_cacheprime.8*
+# /usr/share/man/man8/vfs_catia.8*
+# /usr/share/man/man8/vfs_commit.8*
+# /usr/share/man/man8/vfs_gpfs.8*
+# /usr/share/man/man8/vfs_notify_fam.8*
+# /usr/share/man/man8/vfs_prealloc.8*
# - package libs:
-# libnetapi
-# libsmbsharemodes
+# libnetapi
+# libsmbsharemodes
# - MERGE vfs modules into main package, what was the point of splitting these?
+#
+
#
# Conditional build:
%bcond_without ads # without ActiveDirectory support
%bcond_without cups # without CUPS support
%bcond_without kerberos5 # without Kerberos V support
%bcond_without ldap # without LDAP support
+%bcond_without avahi
+%bcond_with merged_build # without samba3+samba4 merge
+%bcond_without system_libtalloc
+%bcond_without system_libtdb
+ # http://wiki.samba.org/index.php/Franky
%bcond_with mks # with vfs-mks (mksd dependency not distributale)
-%bcond_with vscan
# ADS requires kerberos5 and LDAP
-%if !%{with kerberos5} || !%{with ldap}
+%if %{without kerberos5} || %{without ldap}
%undefine with_ads
%endif
-%define vscan_version 0.3.6c-beta5
+
+%if %{with system_libtalloc}
+%define libtalloc_ver 2.0.1
+%else
+%define libtalloc_ver %{epoch}:%{version}-%{release}
+%endif
+
+%if %{with system_libtdb}
+%define libtdb_ver 2:1.2.9
+%else
+%define libtdb_ver %{epoch}:%{version}-%{release}
+%endif
+
+%define virusfilter_version 0.1.3
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.3.0
-Release: 2
+Version: 3.6.6
+Release: 1
Epoch: 1
-License: GPL v2
+License: GPL v3
Group: Networking/Daemons
-Source0: http://www.samba.org/samba/ftp/%{name}-%{version}.tar.gz
-# Source0-md5: adb048dc3988055533e1ea5d91d81f99
+Source0: http://www.samba.org/samba/ftp/stable/%{name}-%{version}.tar.gz
+# Source0-md5: 0bea52842d172231c0c0e23ee570d7af
Source1: smb.init
Source2: %{name}.pamd
Source3: swat.inetd
Source4: %{name}.sysconfig
Source5: %{name}.logrotate
Source6: smb.conf
-Source7: http://www.openantivirus.org/download/%{name}-vscan-%{vscan_version}.tar.gz
-# Source7-md5: 8f1dd119172e04e6d7c2d05526a4cf8b
-Source8: winbind.init
-Source9: winbind.sysconfig
+Source7: winbind.init
+Source8: winbind.sysconfig
+Source9: %{name}-rfc3454.txt
+Source10: https://github.com/downloads/fumiyas/samba-virusfilter/samba-virusfilter-%{virusfilter_version}.tar.bz2
+# Source10-md5: a3a30d5fbf309d356e8c5833db680c17
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
+Patch5: %{name}-passdb-smbpasswd.patch
URL: http://www.samba.org/
BuildRequires: acl-devel
BuildRequires: autoconf
BuildRequires: automake
+%{?with_avahi:BuildRequires: avahi-devel}
+BuildRequires: ctdb-devel
%{?with_cups:BuildRequires: cups-devel >= 1:1.2.0}
BuildRequires: dmapi-devel
-BuildRequires: fam-devel
+BuildRequires: gamin-devel
+BuildRequires: gdbm-devel
+BuildRequires: gettext-devel
+%{?with_kerberos5:BuildRequires: heimdal-devel}
BuildRequires: iconv
-%{?with_kerberos5:BuildRequires: krb5-devel}
+BuildRequires: keyutils-devel
BuildRequires: libmagic-devel
BuildRequires: libnscd-devel
BuildRequires: libtool >= 2:1.4d
+BuildRequires: make >= 3.81
BuildRequires: ncurses-devel >= 5.2
%{?with_ldap:BuildRequires: openldap-devel >= 2.3.0}
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pam-devel >= 0.99.8.1
+BuildRequires: pkgconfig
BuildRequires: popt-devel
%{?with_pgsql:BuildRequires: postgresql-devel}
+BuildRequires: python-devel
+BuildRequires: python-modules
BuildRequires: readline-devel >= 4.2
BuildRequires: rpmbuild(macros) >= 1.304
BuildRequires: sed >= 4.0
+%{?with_system_libtalloc:BuildRequires: talloc-devel >= %{libtalloc_ver}}
+%{?with_system_libtdb:BuildRequires: tdb-devel >= %{libtdb_ver}}
BuildRequires: xfsprogs-devel
Requires(post,preun): /sbin/chkconfig
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: logrotate >= 3.7-4
Requires: pam >= 0.99.8.1
-Requires: rc-scripts
+Requires: rc-scripts >= 0.4.0.12
Requires: setup >= 2.4.6-7
# smbd links with libcups
%{?with_cups:Requires: cups-lib >= 1:1.2.0}
+Obsoletes: python-samba
Obsoletes: samba-pdb-xml
Obsoletes: samba-vfs-block
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
Summary(uk.UTF-8): Клієнтські програми Samba (SMB)
Group: Applications/Networking
Requires: %{name}-common = %{epoch}:%{version}-%{release}
+%{?with_kerberos5:Requires: heimdal-libs}
Requires: libsmbclient = %{epoch}:%{version}-%{release}
-%{?with_kerberos5:Requires: krb5-libs}
-Obsoletes: mount-cifs
Obsoletes: smbfs
+Suggests: cifs-utils
%description client
Samba-client provides some SMB clients, which complement the build-in
SMB filesystem in Linux. These allow accessing of SMB shares and
printing to SMB printers.
-%description client -l pt_BR.UTF-8
-O pacote samba-clientes prove alguns clientes SMB, que complementam o
-sistema de arquivos SMB do Linux. Eles permitem o acesso a shares SMB,
-e também, à impressoras SMB.
-
%description client -l es.UTF-8
Cliente SMB de Samba.
Summary(ru.UTF-8): Файлы, используемые как сервером, так и клиентом Samba
Summary(uk.UTF-8): Файли, що використовуються як сервером, так і клієнтом Samba
Group: Networking/Daemons
-Requires: tdb >= 1.1.0
+Requires: talloc >= %{libtalloc_ver}
+Requires: tdb >= %{libtdb_ver}
%description common
Samba-common provides files necessary for both the server and client
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.
+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 -n tdb
+Summary: TDB - Trivial Database
+Summary(pl.UTF-8): TDB - prosta baza danych
+Group: Libraries
+Obsoletes: tdb-extras
+
+%description -n tdb
+TDB is a Trivial Database. In concept, it is very much like GDBM, and
+BSD's DB except that it allows multiple simultaneous writers and uses
+locking internally to keep writers from trampling on each other. TDB
+is also extremely small.
+
+%description -n tdb -l pl.UTF-8
+TDB to Trivial Database, czyli prosta baza danych. W założeniach jest
+bardzo podobna do GDBM lub DB z BSD z wyjątkiem tego, że pozwala na
+zapis wielu procesom jednocześnie i używa wewnętrznie blokowania, aby
+nie pozwolić piszącym na zadeptanie się nawzajem. TDB jest ponadto
+ekstremalnie mała.
+
+%package -n tdb-devel
+Summary: Header files for TDB library
+Summary(pl.UTF-8): Pliki nagłówkowe biblioteki TDB
+Group: Development/Libraries
+Requires: tdb = %{epoch}:%{version}-%{release}
+
+%description -n tdb-devel
+Header files for TDB library.
+
+%description -n tdb-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki TDB.
%package devel
Summary: Header files for Samba
lub wylogowywaniu klienta.
%package vfs-notify_fam
-Summary: VFS module to implement file change notifications
+Summary: VFS module to implement file change notifications
Summary(pl.UTF-8): Moduł VFS implementujący informowanie o zmianach w plikach
Group: Networking/Daemons
Requires: %{name} = %{epoch}:%{version}-%{release}
%description vfs-shadow_copy -l pl.UTF-8
Moduł VFS do tworzenia automatycznych kopii danych w zasobach samby.
-%package vfs-vscan-antivir
-Summary: On-access virus scanning for samba using AntiVir
-Summary(pl.UTF-8): Skaner antywirusowy online wykorzystujący AntiVir
-Group: Networking/Daemons
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-
-%description vfs-vscan-antivir
-A vfs-module for samba to implement on-access scanning using the
-AntiVir antivirus software (which must be installed to use this).
-
-%description vfs-vscan-antivir -l pl.UTF-8
-Moduł vfs do samby implementujący skaning antywirusowy w czasie
-dostępu do plików korzystając z oprogramowania antywirusowego AntiVir
-(które musi być zainstalowane, aby wykorzystać ten moduł).
-
-%package vfs-vscan-clamav
-Summary: On-access virus scanning for samba using ClamAV
-Summary(pl.UTF-8): Skaner antywirusowy online wykorzystujący ClamAV
-Group: Networking/Daemons
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: clamav
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-
-%description vfs-vscan-clamav
-A vfs-module for samba to implement on-access scanning using the
-ClamAV antivirus software (which must be installed to use this).
-
-%description vfs-vscan-clamav -l pl.UTF-8
-Moduł vfs do samby implementujący skaning antywirusowy w czasie
-dostępu do plików korzystając z oprogramowania antywirusowego ClamAV
-(które musi być zainstalowane, aby wykorzystać ten moduł).
-
-%package vfs-vscan-fprot
-Summary: On-access virus scanning for samba using FPROT
-Summary(pl.UTF-8): Skaner antywirusowy online wykorzystujący FPROT
-Group: Networking/Daemons
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-Obsoletes: vscan-fprot
-
-%description vfs-vscan-fprot
-A vfs-module for samba to implement on-access scanning using the FPROT
-antivirus software (which must be installed to use this).
-
-%description vfs-vscan-fprot -l pl.UTF-8
-Moduł vfs do samby implementujący skaning antywirusowy w czasie
-dostępu do plików korzystając z oprogramowania antywirusowego FPROT
-(które musi być zainstalowane, aby wykorzystać ten moduł).
-
-%package vfs-vscan-fsav
-Summary: On-access virus scanning for samba using F-Secure AntiVirus
-Summary(pl.UTF-8): Skaner antywirusowy online wykorzystujący F-Secure AntiVirus
-Group: Networking/Daemons
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-Obsoletes: vscan-fsav
-
-%description vfs-vscan-fsav
-A vfs-module for samba to implement on-access scanning using the
-F-Secure AntiVirus antivirus software (which must be installed to use
-this).
-
-%description vfs-vscan-fsav -l pl.UTF-8
-Moduł vfs do samby implementujący skaning antywirusowy w czasie
-dostępu do plików korzystając z oprogramowania antywirusowego F-Secure
-AntiVirus (które musi być zainstalowane, aby wykorzystać ten moduł).
-
-%package vfs-vscan-kavp
-Summary: On-access virus scanning for samba using Kaspersky AVP
-Summary(pl.UTF-8): Skaner antywirusowy online wykorzystujący Kaspersky AVP
-Group: Networking/Daemons
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-Obsoletes: vscan-kavp
-
-%description vfs-vscan-kavp
-A vfs-module for samba to implement on-access scanning using the
-Kaspersky AVP antivirus software (which must be installed to use
-this).
-
-%description vfs-vscan-kavp -l pl.UTF-8
-Moduł vfs do samby implementujący skaning antywirusowy w czasie
-dostępu do plików korzystając z oprogramowania antywirusowego
-Kaspersky AVP (które musi być zainstalowane, aby wykorzystać ten
-moduł).
-
-%package vfs-vscan-mcafee
-Summary: On-access virus scanning for samba using mcafee
-Summary(pl.UTF-8): Skaner antywirusowy online wykorzystujący mcafee
+%package vfs-catia
+Summary: VFS module to fix Catia CAD filenames
Group: Networking/Daemons
Requires: %{name} = %{epoch}:%{version}-%{release}
-#Requires: mcafee
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-Obsoletes: vscan-mcafee
-
-%description vfs-vscan-mcafee
-A vfs-module for samba to implement on-access scanning using the
-mcafee antivirus software (which must be installed to use this).
-
-%description vfs-vscan-mcafee -l pl.UTF-8
-Moduł vfs do samby implementujący skaning antywirusowy w czasie
-dostępu do plików korzystając z oprogramowania antywirusowego mcafee
-(które musi być zainstalowane, aby wykorzystać ten moduł).
-
-%package vfs-vscan-mks
-Summary: On-access virus scanning for samba using mks
-Summary(pl.UTF-8): Skaner antywirusowy online wykorzystujący mks
-Group: Networking/Daemons
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: mksd
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-Obsoletes: vscan-mks
-
-%description vfs-vscan-mks
-A vfs-module for samba to implement on-access scanning using the mks
-antivirus software (which must be installed to use this).
-
-%description vfs-vscan-mks -l pl.UTF-8
-Moduł vfs do samby implementujący skaning antywirusowy w czasie
-dostępu do plików korzystając z oprogramowania antywirusowego mks
-(które musi być zainstalowane, aby wykorzystać ten moduł).
-
-%package vfs-vscan-openantivirus
-Summary: On-access virus scanning for samba using OpenAntivirus
-Summary(pl.UTF-8): Skaner antywirusowy online wykorzystujący OpenAntiVirus
-Group: Networking/Daemons
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-Obsoletes: vscan-openantivirus
-
-%description vfs-vscan-openantivirus
-A vfs-module for samba to implement on-access scanning using the
-OpenAntivirus antivirus software (which must be installed to use
-this).
-
-%description vfs-vscan-openantivirus -l pl.UTF-8
-Moduł vfs do samby implementujący skaning antywirusowy w czasie
-dostępu do plików korzystając z oprogramowania antywirusowego
-OpenAntiVirus.org (które musi być zainstalowane, aby wykorzystać ten
-moduł).
-
-%package vfs-vscan-sophos
-Summary: On-access virus scanning for samba using Sophos
-Summary(pl.UTF-8): Skaner antywirusowy online wykorzystujący Sophos
-Group: Networking/Daemons
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-Obsoletes: vscan-sophos
-
-%description vfs-vscan-sophos
-A vfs-module for samba to implement on-access scanning using the
-Sophos antivirus software (which must be installed to use this).
-%description vfs-vscan-sophos -l pl.UTF-8
-Moduł vfs do samby implementujący skaning antywirusowy w czasie
-dostępu do plików korzystając z oprogramowania antywirusowego Sophos
-(które musi być zainstalowane, aby wykorzystać ten moduł).
+%description vfs-catia
+The Catia CAD package commonly creates filenames that use characters
+that are illegal in CIFS filenames. The vfs_catia VFS module
+implements a fixed character mapping so that these files can be shared
+with CIFS clients.
-%package vfs-vscan-symantec
-Summary: On-access virus scanning for samba using Symantec
-Summary(pl.UTF-8): Skaner antywirusowy online wykorzystujący Symantec
+%package vfs-scannedonly
+Summary: Anti-virus solution as VFS module
Group: Networking/Daemons
Requires: %{name} = %{epoch}:%{version}-%{release}
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-Obsoletes: vscan-symantec
-%description vfs-vscan-symantec
-A vfs-module for samba to implement on-access scanning using the
-Symantec antivirus software (which must be installed to use this).
-
-%description vfs-vscan-symantec -l pl.UTF-8
-Moduł vfs do samby implementujący skaning antywirusowy w czasie
-dostępu do plików korzystając z oprogramowania antywirusowego firmy
-Symantec (które musi być zainstalowane, aby wykorzystać ten moduł).
-
-%package vfs-vscan-trend
-Summary: On-access virus scanning for samba using Trend
-Summary(pl.UTF-8): Skaner antywirusowy online wykorzystujący Trend
-Group: Networking/Daemons
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-Obsoletes: vscan-trend
-
-%description vfs-vscan-trend
-A vfs-module for samba to implement on-access scanning using the Trend
-antivirus software (which must be installed to use this).
-
-%description vfs-vscan-trend -l pl.UTF-8
-Moduł vfs do samby implementujący skaning antywirusowy w czasie
-dostępu do plików korzystając z oprogramowania antywirusowego Trend
-(które musi być zainstalowane, aby wykorzystać ten moduł).
+%description vfs-scannedonly
+The vfs_scannedonly VFS module ensures that only files that have been
+scanned for viruses are visible and accessible to the end user. If
+non-scanned files are found an anti-virus scanning daemon is notified.
%package -n openldap-schema-samba
Summary: Samba LDAP schema
%description doc-pdf -l pl.UTF-8
Documentacja samby w formacie PDF.
+%package -n python-samba
+Summary: Samba Module for Python
+Group: Development/Languages/Python
+%pyrequires_eq python
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
+
+%description -n python-samba
+Samba Module for Python.
+
%prep
%setup -q
%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
+%if "%{pld_release}" == "ti"
%patch5 -p1
+%endif
+
%{__sed} -i 's#%SAMBAVERSION%#%{version}#' docs/htmldocs/index.html
-cd examples/VFS
-tar xzf %{SOURCE7}
-mv README{,.vfs}
-cd ../..
+# deprecated in gnutls 3.0
+%{__sed} -i -e "s/gnutls_transport_set_lowat(tls->session, 0);//" source4/lib/tls/tls.c
+%{__sed} -i -e "s/gnutls_transport_set_lowat(tlss->tls_session, 0);//" source4/lib/tls/tls_tstream.c
+
+#cd examples/VFS
+#mv README{,.vfs}
+#cd ../..
+
+install %{SOURCE9} source4/heimdal/lib/wind/rfc3454.txt
%build
-cd source
+# use ld.bfd because gold doesn't understand linker script
+install -d our-ld
+ln -s %{_bindir}/ld.bfd our-ld/ld
+export PATH=$(pwd)/our-ld:$PATH
+
+
+cd source3
%{__libtoolize}
-%{__autoconf} -Im4 -Ilib/replace
+%{__autoconf} -Im4 -I../m4 -I../lib/replace -Ilib/replace -I../source4
%configure \
--with-modulesdir=%{_sambalibdir} \
--with-rootsbindir=/sbin \
--with-pammodulesdir=/%{_lib}/security \
--with-acl-support \
+ --with-aio-support \
--with-automount \
--with-libsmbclient \
--with-lockdir=/var/lib/samba \
--with-syslog \
--with-utmp \
--with-fhs \
+%if %{with system_libtalloc}
+ --with-libtalloc=no \
+ --enable-external-libtalloc=yes \
+%endif
+%if %{with system_libtdb}
+ --with-libtdb=no \
+ --enable-external-libtdb=yes \
+%endif
+ --without-included-popt \
+ --enable-dso \
+ --%{?with_avahi:en}%{!?with_avahi:dis}able-avahi \
+ --disable-dnssd \
--with%{!?with_ldap:out}-ldap \
--with%{!?with_kerberos5:out}-krb5
-%{__make} proto
-%{__make} everything pam_smbpass bin/smbget bin/mount.cifs bin/vfstest
+%{__make} -j1 everything pam_smbpass bin/smbget bin/vfstest \
+ LD=ld
cd ../examples
%{__make} -C libsmbclient/smbwrapper \
CFLAGS="%{rpmcflags} -fPIC"
%{__make}
-%if %{with vscan}
-cd samba-vscan-%{vscan_version}
-cp -f /usr/share/automake/config.sub .
-%configure
-ln -s ../../../source/lib .
-%{__make} all
-%endif
-
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,pam.d,security,sysconfig/rc-inetd} \
$RPM_BUILD_ROOT/var/log/samba/cores/{smbd,nmbd} \
$RPM_BUILD_ROOT{/sbin,/%{_lib}/security,%{_libdir},%{_vfsdir},%{_includedir},%{_sambahome},%{schemadir}}
-%{__make} -C source install \
+%{__make} -C source3 install \
DESTDIR=$RPM_BUILD_ROOT \
CONFIGDIR=$RPM_BUILD_ROOT%{_sysconfdir}/samba
-install source/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_sbindir}
+install -p source3/script/mksmbpasswd.sh $RPM_BUILD_ROOT%{_sbindir}
-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 %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/samba
-install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/samba
-install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.conf
-install %{SOURCE8} $RPM_BUILD_ROOT/etc/rc.d/init.d/winbind
-install %{SOURCE9} $RPM_BUILD_ROOT/etc/sysconfig/winbind
+install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/smb
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/samba
+install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/swat
+cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/samba
+cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/samba
+cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/samba/smb.conf
+install -p %{SOURCE7} $RPM_BUILD_ROOT/etc/rc.d/init.d/winbind
+cp -p %{SOURCE8} $RPM_BUILD_ROOT/etc/sysconfig/winbind
-install source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_lib}/libnss_winbind.so.2
+install -p nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/%{_lib}/libnss_winbind.so.2
ln -s libnss_winbind.so.2 $RPM_BUILD_ROOT/%{_lib}/libnss_winbind.so
-install source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_lib}/libnss_wins.so.2
+install -p nsswitch/libnss_wins.so $RPM_BUILD_ROOT/%{_lib}/libnss_wins.so.2
ln -s libnss_wins.so.2 $RPM_BUILD_ROOT/%{_lib}/libnss_wins.so
-install source/bin/wbinfo $RPM_BUILD_ROOT%{_bindir}
-install source/bin/smbget $RPM_BUILD_ROOT%{_bindir}
-install source/bin/vfstest $RPM_BUILD_ROOT%{_bindir}
+install -p source3/bin/wbinfo $RPM_BUILD_ROOT%{_bindir}
+install -p source3/bin/smbget $RPM_BUILD_ROOT%{_bindir}
+install -p source3/bin/vfstest $RPM_BUILD_ROOT%{_bindir}
-install source/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.a
+cp -a source3/bin/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.a
# smbwrapper
-install examples/libsmbclient/smbwrapper/smbwrapper.so $RPM_BUILD_ROOT%{_libdir}/smbwrapper.so
-install examples/libsmbclient/smbwrapper/smbsh $RPM_BUILD_ROOT%{_bindir}
-install examples/libsmbclient/smbwrapper/smbsh.1 $RPM_BUILD_ROOT%{_mandir}/man1
+install -p examples/libsmbclient/smbwrapper/smbwrapper.so $RPM_BUILD_ROOT%{_libdir}/smbwrapper.so
+install -p examples/libsmbclient/smbwrapper/smbsh $RPM_BUILD_ROOT%{_bindir}
+cp -p examples/libsmbclient/smbwrapper/smbsh.1 $RPM_BUILD_ROOT%{_mandir}/man1
# these are needed to build samba-pdbsql
-install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/{tdb,nsswitch}
-cp -a source/include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
-cp -a source/lib/tdb/include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/tdb
-cp -a source/nsswitch/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/nsswitch
-
-%if %{with vscan}
-# vscan modules
-install examples/VFS/samba-vscan-%{vscan_version}/*.so $RPM_BUILD_ROOT%{_vfsdir}
-install examples/VFS/samba-vscan-%{vscan_version}/{antivir,clamav,fprot,icap,kaspersky,mks,openantivirus,sophos,trend,f-secure,nai}/*.conf $RPM_BUILD_ROOT%{_sysconfdir}/samba
+install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/nsswitch
+cp -a source3/include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}
+cp -a nsswitch/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/nsswitch
+%if %{without system_libtdb}
+install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/tdb
+cp -a lib/tdb/include/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/tdb
%endif
touch $RPM_BUILD_ROOT/var/lib/samba/{wins.dat,browse.dat}
> $RPM_BUILD_ROOT%{_sysconfdir}/samba/smbusers
> $RPM_BUILD_ROOT/etc/security/blacklist.samba
-# we have this utility in tdb package
-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
+#rm -r $RPM_BUILD_ROOT%{_datadir}/swat/using_samba
-mv $RPM_BUILD_ROOT%{_bindir}/tdbtool $RPM_BUILD_ROOT%{_bindir}/tdbtool_samba
+# tests
+%if %{with merged_build}
+rm -r $RPM_BUILD_ROOT%{_bindir}/{gentest4,locktest4,masktest4,nsstest4}
+%endif
%if %{with ldap}
install examples/LDAP/samba.schema $RPM_BUILD_ROOT%{schemadir}
%endif
+%if %{with system_libtdb}
+# remove manuals of tdb if system lib used
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/tdbbackup.8*
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/tdbdump.8*
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man8/tdbtool.8*
+%endif
+
%find_lang pam_winbind
+%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
+%py_comp $RPM_BUILD_ROOT%{py_sitedir}
+find $RPM_BUILD_ROOT%{py_sitedir} -name "*.py" -o -name "*.a" -o -name "*.la" | xargs rm -f
+
%clean
rm -rf $RPM_BUILD_ROOT
/sbin/chkconfig --add smb
fi
+%if "%{pld_release}" != "ti"
+%triggerpostun -- samba < 3.4.0
+%banner %{name} << EOF
+!!! WARNING !!! The default passdb backend has been changed to 'tdbsam'!
+That breaks existing setups using the 'smbpasswd' backend without explicit declaration!
+Please use 'passdb backend = smbpasswd' if you would like to stick to the 'smbpasswd'
+backend or convert your smbpasswd entries using e.g. 'pdbedit -i smbpasswd -e tdbsam'.
+EOF
+%endif
+
%files
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/nmbd
%attr(755,root,root) %{_sbindir}/smbd
%attr(755,root,root) %{_sbindir}/mksmbpasswd.sh
-%attr(755,root,root) %{_bindir}/ldb*
+%if %{with merged_build}
+#%attr(755,root,root) %{_bindir}/ad2oLschema4
+%attr(755,root,root) %{_bindir}/oLschema2ldif4
+%attr(755,root,root) %{_bindir}/reg*
+# "This utility disabled until rewritten"
+#%attr(755,root,root) %{_bindir}/setnttoken4
+%endif
%attr(755,root,root) %{_bindir}/smbstatus
%attr(755,root,root) %{_bindir}/smbpasswd
+%attr(755,root,root) %{_bindir}/smbta-util
%attr(755,root,root) %{_bindir}/smbcontrol
-%attr(755,root,root) %{_bindir}/tdbtool_samba
+%dir %{_libdir}/%{name}/idmap
+%attr(755,root,root) %{_libdir}/%{name}/idmap/autorid.so
+%{_mandir}/man8/idmap_autorid.8*
%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}/aio_fork.so
+%attr(755,root,root) %{_vfsdir}/crossrename.so
+%attr(755,root,root) %{_vfsdir}/dirsort.so
%attr(755,root,root) %{_vfsdir}/fileid.so
+%attr(755,root,root) %{_vfsdir}/linux_xfs_sgid.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}/time_audit.so
%attr(755,root,root) %{_vfsdir}/xattr_tdb.so
+%{_mandir}/man8/vfs_acl_tdb.8*
+%{_mandir}/man8/vfs_acl_xattr.8*
+%{_mandir}/man8/vfs_crossrename.8*
+%{_mandir}/man8/vfs_dirsort.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_time_audit.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
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/samba
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/samba
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.samba
-%{_mandir}/man1/ldb*.1*
%{_mandir}/man1/log2pcap.1*
%{_mandir}/man1/smbstatus.1*
%{_mandir}/man1/smbcontrol.1*
%{_mandir}/man8/nmbd.8*
%{_mandir}/man8/smbd.8*
%{_mandir}/man8/smbpasswd.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*
%dir %{_sambahome}
%dir /var/lib/samba
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/winbindd
%attr(755,root,root) %{_bindir}/wbinfo
+#%if %{with merged_build}
+#%attr(755,root,root) %{_bindir}/wbinfo4
+#%endif
%attr(755,root,root) /%{_lib}/security/pam_winbind*
%attr(755,root,root) /%{_lib}/libnss_winbind*
%attr(754,root,root) /etc/rc.d/init.d/winbind
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/winbind
%{_mandir}/man1/wbinfo*.1*
-%{_mandir}/man7/pam_winbind.7*
+%{_mandir}/man5/pam_winbind.conf.5*
+%{_mandir}/man8/pam_winbind.8*
%{_mandir}/man8/winbindd*.8*
%files -n nss_wins
%files client
%defattr(644,root,root,755)
-%attr(755,root,root) /sbin/mount.cifs
-%attr(755,root,root) /sbin/umount.cifs
+%if %{with merged_build}
+%attr(755,root,root) %{_bindir}/cifsdd4
+%attr(755,root,root) %{_bindir}/net4
+%attr(755,root,root) %{_bindir}/nmblookup4
+%attr(755,root,root) %{_bindir}/smbclient4
+%attr(755,root,root) %{_bindir}/setnttoken4
+%attr(755,root,root) %{_bindir}/smbtorture4
+%endif
%attr(755,root,root) %{_bindir}/findsmb
%attr(755,root,root) %{_bindir}/net
%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/smbsh.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)
+%if %{with merged_build}
+%attr(755,root,root) %{_bindir}/getntacl4
+%attr(755,root,root) %{_bindir}/ndrdump4
+%attr(755,root,root) %{_bindir}/ntlm_auth4
+%attr(755,root,root) %{_bindir}/testparm4
+%endif
%doc README Manifest WHATSNEW.txt
%doc Roadmap docs/registry/*
%doc docs/{history,THANKS}
%{_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/tdbtool.8*
+%{_mandir}/man8/idmap_tdb2.8*
%files swat
%defattr(644,root,root,755)
%lang(ja) %{_libdir}/%{name}/ja.msg
%lang(nl) %{_libdir}/%{name}/nl.msg
%lang(pl) %{_libdir}/%{name}/pl.msg
+%lang(ru) %{_libdir}/%{name}/ru.msg
%lang(tr) %{_libdir}/%{name}/tr.msg
%{_mandir}/man8/swat.8*
%files -n pam-pam_smbpass
%defattr(644,root,root,755)
-%doc source/pam_smbpass/{CHAN*,README,TODO} source/pam_smbpass/samples
+%doc source3/pam_smbpass/{CHAN*,README,TODO} source3/pam_smbpass/samples
%attr(755,root,root) /%{_lib}/security/pam_smbpass.so
%files -n libsmbclient
%{_includedir}/libsmbclient.h
%{_includedir}/wbclient.h
+%if %{without system_libtalloc}
%files -n libtalloc
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libtalloc.so.*
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libtalloc.so
%{_includedir}/talloc.h
+%endif
+
+%if %{without system_libtdb}
+%files -n tdb
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/tdbbackup
+%attr(755,root,root) %{_bindir}/tdbdump
+%attr(755,root,root) %{_bindir}/tdbtool
+%if %{with merged_build}
+%attr(755,root,root) %{_bindir}/tdbbackup4
+%attr(755,root,root) %{_bindir}/tdbdump4
+%attr(755,root,root) %{_bindir}/tdbtool4
+%attr(755,root,root) %{_bindir}/tdbtorture4
+%endif
+%attr(755,root,root) %{_libdir}/libtdb.so.*
+%{_mandir}/man8/tdbbackup.8*
+%{_mandir}/man8/tdbdump.8*
+%{_mandir}/man8/tdbtool.8*
+
+%files -n tdb-devel
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/libtdb.so
+%{_includedir}/tdb.h
+%endif
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_vfsdir}/shadow_copy.so
%{_mandir}/man8/vfs_shadow_copy.8*
-%if %{with vscan}
-%files vfs-vscan-antivir
-%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/vscan-antivir.conf
-%attr(755,root,root) %{_vfsdir}/vscan-antivir.so
-
-%files vfs-vscan-clamav
-%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/vscan-clamav.conf
-%attr(755,root,root) %{_vfsdir}/vscan-clamav.so
-
-%files vfs-vscan-fprot
-%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/vscan-fprotd.conf
-%attr(755,root,root) %{_vfsdir}/vscan-fprotd.so
-
-%files vfs-vscan-fsav
-%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/vscan-fsav.conf
-%attr(755,root,root) %{_vfsdir}/vscan-fsav.so
-
-%files vfs-vscan-kavp
-%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/vscan-kavp.conf
-%attr(755,root,root) %{_vfsdir}/vscan-kavp.so
-
-%files vfs-vscan-mcafee
+%files vfs-catia
%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/vscan-mcdaemon.conf
-%attr(755,root,root) %{_vfsdir}/vscan-mcdaemon.so
+%attr(755,root,root) %{_vfsdir}/catia.so
+%{_mandir}/man8/vfs_catia.8*
-%if %{with mks}
-%ifarch %{ix86} %{x8664}
-%files vfs-vscan-mks
+%files vfs-scannedonly
%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/vscan-mks32.conf
-%attr(755,root,root) %{_vfsdir}/vscan-mksd.so
-%endif
-%endif
-
-%files vfs-vscan-openantivirus
-%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/vscan-oav.conf
-%attr(755,root,root) %{_vfsdir}/vscan-oav.so
-
-%files vfs-vscan-sophos
-%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/vscan-sophos.conf
-%attr(755,root,root) %{_vfsdir}/vscan-sophos.so
-
-%files vfs-vscan-symantec
-%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/vscan-icap.conf
-%attr(755,root,root) %{_vfsdir}/vscan-icap.so
-
-%files vfs-vscan-trend
-%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/samba/vscan-trend.conf
-%attr(755,root,root) %{_vfsdir}/vscan-trend.so
-%endif
+%attr(755,root,root) %{_vfsdir}/scannedonly.so
+%{_mandir}/man8/vfs_scannedonly.8*
%if %{with ldap}
%files -n openldap-schema-samba
%files doc-pdf
%defattr(644,root,root,755)
%doc docs/*.pdf
+
+%if 0
+%files -n python-samba
+%defattr(644,root,root,755)
+%attr(755,root,root) %{py_sitedir}/*.so
+%dir %{py_sitedir}/samba
+%attr(755,root,root) %{py_sitedir}/samba/*.so
+%{py_sitedir}/samba/*.py[co]
+%dir %{py_sitedir}/samba/dcerpc
+%{py_sitedir}/samba/dcerpc/*.py[co]
+%attr(755,root,root) %{py_sitedir}/samba/dcerpc/*.so
+%dir %{py_sitedir}/samba/tests
+%{py_sitedir}/samba/tests/*.py[co]
+%dir %{py_sitedir}/samba/tests/dcerpc
+%{py_sitedir}/samba/tests/dcerpc/*.py[co]
+%dir %{py_sitedir}/samba/torture
+%{py_sitedir}/samba/torture/*.py[co]
+%endif