#
# TODO:
-# - package python tools
# - look into other distro specs for valid %descriptions for samba 3
-# - review configure options
-# - fix broken --without ldap, test functionality with other bconds
-# - new package with McAfee vscan - I dunno what to do with daemon
#
# Conditional build:
+%bcond_without ads # without ActiveDirectory support
%bcond_without cups # without CUPS support
+%bcond_without krb5 # without Kerberos5/Heimdal support
+%bcond_without ldap # without LDAP support
%bcond_without mysql # without MySQL support
+%bcond_without pgsql # without PostgreSQL support
+%bcond_without python # without python libs/utils
%bcond_with ldapsam # with LDAP SAM 2.2 based auth (instead of smbpasswd)
-#%bcond_with ipv6 # with IPv6 support
-%bcond_without ldap # without LDAP support
-%bcond_without krb5 # without Kerberos5/Heimdal support
-%bcond_with python # with python utils, not builds, not packaged now
-#
-%define vscan_version 0.3.5
+
+# ADS requires krb5 and LDAP
+%if %{without krb5} || %{without ldap}
+%undefine with_ads
+%endif
+%define vscan_version 0.3.6
Summary: SMB server
Summary(cs): Server SMB
Summary(da): SMB server
Summary(uk): SMB Ë̦¤ÎÔ ÔÁ ÓÅÒ×ÅÒ
Summary(zh_CN): Samba ¿Í»§¶ËºÍ·þÎñÆ÷
Name: samba
-Version: 3.0.4
-Release: 1
+Version: 3.0.14a
+Release: 0.1
Epoch: 1
License: GPL v2
Group: Networking/Daemons
-Source0: http://www.samba.org/samba/ftp/%{name}-%{version}.tar.gz
-# Source0-md5: 0156265c1e95ac662deef386f615504f
+Source0: http://us1.samba.org/samba/ftp/%{name}-%{version}.tar.gz
+# Source0-md5: ebee37e66a8b5f6fd328967dc09088e8
Source1: smb.init
Source2: %{name}.pamd
Source3: swat.inetd
Source5: %{name}.logrotate
Source6: smb.conf
Source7: http://dl.sourceforge.net/openantivirus/%{name}-vscan-%{vscan_version}.tar.bz2
-# Source7-md5: 5f173d549014985d681478897135915b
+# Source7-md5: 68c9d099d942d85e68d96804b26ac788
Source8: winbind.init
Source9: winbind.sysconfig
Patch0: %{name}-statfs-workaround.patch
Patch1: %{name}-lib64.patch
-#Patch2: http://v6web.litech.org/samba/%{name}-2.2.4+IPv6-20020609.diff
+Patch2: %{name}-setup-python.patch
+Patch3: %{name}-FHS.patch
+Patch4: %{name}-case_insensitive_sql_operator.patch
URL: http://www.samba.org/
BuildRequires: acl-devel
BuildRequires: autoconf
BuildRequires: automake
%{?with_cups:BuildRequires: cups-devel}
%{?with_krb5:BuildRequires: heimdal-devel}
+BuildRequires: libmagic-devel
BuildRequires: libtool >= 2:1.4d
BuildRequires: libxml2-devel
%if %{with mysql}
BuildRequires: mysql-devel
BuildRequires: mysql-extras
%endif
+%if %{with pgsql}
+BuildRequires: postgresql-devel
+%endif
BuildRequires: ncurses-devel >= 5.2
%{?with_ldap:BuildRequires: openldap-devel}
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: xfsprogs-devel
%{?with_python:BuildRequires: python-devel}
PreReq: rc-scripts
+PreReq: setup >= 2.4.6-7
Requires(post,preun): /sbin/chkconfig
Requires: %{name}-common = %{epoch}:%{version}-%{release}
Requires: logrotate
Requires: pam >= 0.66
+Obsoletes: samba-vfs-block
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _vfsdir %{_libdir}/%{name}/vfs
%define _sambahome /home/services/samba
%if %{with cups}
-%define cups_serverbin %(cups-config --serverbin)
+%define cups_serverbin %{_libdir}/cups
%endif
+%define schemadir /usr/share/openldap/schema
%description
Samba provides an SMB server which can be used to provide network
Please refer to the WHATSNEW.txt document for fixup information. This
binary release includes encrypted password support. Please read the
-smb.conf file and ENCRYPTION.txt in the docs directory for
-implementation details.
+smb.conf file for implementation details.
%description -l cs
Samba poskytuje server SMB, který lze pou¾ít pro poskytování sí»ových
TCP 901 Æ÷Æ®¸¦ »ç¿ëÇÏ°Ô µÈ´Ù.
ÃÖ±Ù Á¤º¸·Î WHATSNEW.txt ÆÄÀÏÀÇ ¹®¼¸¦ Âü°íÇϵµ·Ï ÇÑ´Ù. ¹ÙÀ̳ʸ®ÀÇ
-¸±¸®Áî´Â ¾ÏÈ£ÈµÈ Æнº¿öµå¸¦ Á¦°øÇÑ´Ù. ±¸Çö¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ ¾ò±â
-À§ÇØ docs µð·ºÅ丮³»¿¡ ÀÖ´Â smb.conf ÆÄÀÏ°ú ENCRYPTION.txt ÆÄÀÏÀ»
-Àо´Ù.
+¸±¸®Áî´Â ¾ÏÈ£ÈµÈ Æнº¿öµå¸¦ Á¦°øÇÑ´Ù.
%description -l pl
Samba udostêpnia serwer SMB, który mo¿e byæ u¿yty w celu dostarczenia
%description pdb-mysql -l pl
Wtyczka Samby do przechowywania hase³ w bazie MySQL.
+%package pdb-pgsql
+Summary: Samba PostgreSQL password database plugin
+Summary(pl): Wtyczka Samby do przechowywania hase³ w bazie PostgreSQL
+Group: Networking/Daemons
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description pdb-pgsql
+Samba MySQL password database plugin.
+
+%description pdb-pgsql -l pl
+Wtyczka Samby do przechowywania hase³ w bazie MySQL.
+
%package pdb-xml
Summary: Samba XML password database plugin
Summary(pl): Wtyczka Samby do przechowywania hase³ w bazie XML
Summary(ru): ëÌÉÅÎÔÓËÉÅ ÐÒÏÇÒÁÍÍÙ Samba (SMB)
Summary(uk): ë̦¤ÎÔÓØ˦ ÐÒÏÇÒÁÍÉ Samba (SMB)
Group: Applications/Networking
-Requires: samba-common = %{epoch}:%{version}-%{release}
-Obsoletes: smbfs
+Requires: %{name}-common = %{epoch}:%{version}-%{release}
Obsoletes: mount-cifs
+Obsoletes: smbfs
%description client
Samba-client provides some SMB clients, which complement the build-in
%description -n pam-pam_smbpass -l pl
Modu³ PAM, który mo¿e byæ u¿ywany do trzymania pliku smbpasswd (has³a
-Samby) zsynchronizowanego z has³ami unixowymi.
+Samby) zsynchronizowanego z has³ami uniksowymi.
%package -n libsmbclient
Summary: libsmbclient - samba client library
Statyczna biblioteka libsmbclient.
%package -n smbget
-Summary: A utility for retrieving files using the SMB protocol
-Summary(pl): Narzêdzie do pobierania plików protoko³em SMB
-Group: Applications/Networking
+Summary: A utility for retrieving files using the SMB protocol
+Summary(pl): Narzêdzie do pobierania plików protoko³em SMB
+Group: Applications/Networking
%description -n smbget
wget-like utility for download files over SMB.
%description -n cups-backend-smb -l pl
Backend CUPS-a drukuj±cy na drukarkach SMB.
+%package -n python-samba
+Summary: Samba python tools and libraries
+Summary(pl): Narzêdzia i biblioteki pythona do samby
+Group: Applications/Networking
+%pyrequires_eq python-libs
+
+%description -n python-samba
+Samba python tools and libraries.
+
+%description -n python-samba -l pl
+Narzêdzia i biblioteki pythona do samby.
+
%package vfs-audit
Summary: VFS module to audit file access
Summary(pl): Modu³ VFS do monitorowania operacji na plikach
otwarcie/utworzenie/zmiana nazwy katalogu, otwarcie/zamknêcie/zmiana
nazwy/skasowania/zmiana praw plików.
-%package vfs-block
-Summary: VFS module to block access to files
-Summary(pl): Modu³y VFS do blokowania dostêpu do plików
+%package vfs-cap
+Summary: VFS module for CAP and samba compatibility
+Summary(pl): Modu³ VFS zgodno¶ci z CAP (Columbia AppleTalk Program)
+Group: Networking/Daemons
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description vfs-cap
+Convert an incoming Shift-JIS character to the 3 byte hex
+representation used by the Columbia AppleTalk Program (CAP), i.e. :AB.
+This is used for compatibility between Samba and CAP.
+
+%description vfs-cap -l pl
+Zamienia znaki kodowane Shift-JIS do trzybajowej szestnastkowej
+reprezentacji u¿ywanej przez program Columbia AppleTalk Program (CAP).
+
+%package vfs-default_quota
+Summary: VFS module to store default quotas in a specified quota record
+Summary(pl): Modu³ VFS do zapisywania domy¶lnych limitów w okre¶lonym rekordzie
+Group: Networking/Daemons
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description vfs-default_quota
+This VFS modules stores default quotas in a specified quota record.
+
+%description vfs-default_quota -l pl
+Ten modu³ VFS zapisuje domy¶lne limity (quoty) w okre¶lonym rekordzie
+limitów.
+
+%package vfs-expand_msdfs
+Summary: VFS module for hosting a Microsoft Distributed File System Tree
+Summary(pl): Modu³ VFS obs³ugi Microsoft Distributed File System
Group: Networking/Daemons
Requires: %{name} = %{epoch}:%{version}-%{release}
-%description vfs-block
-Sample module by Ronald Kuetemeier <ronald@kuetemeier.com> to block
-named symbolic link following. Note: Config file is in
-/etc/samba/samba-block.conf .
+%description vfs-expand_msdfs
+A VFS module for hosting a Microsoft Distributed File System Tree.
+
+The Distributed File System (DFS) provides a means of separating the
+logical view of files and directories that users see from the actual
+physical locations of these resources on the network. It allows for
+higher availability, smoother storage expansion, load balancing, and
+so on.
-%description vfs-block -l pl
-Przyk³adowy modu³ stworzony przez Ronald Kuetemeier
-<ronald@kuetemeier.com> do blokowania dostêpu do plików wskazywanych
-przez linki symboliczne. Plik konfiguracyjny w
-/etc/samba/samba-block.conf .
+%description vfs-expand_msdfs -l pl
+Modu³ VFS do udostêpniania drzewa systemu plików Microsoft Distributed
+File System.
+
+Distributed File System (DFS) umo¿liwia rozdzielanie logicznego widoku
+plików i katalogów widocznych przez u¿ytkowników z fizycznego
+umiejscowienia tych zasobów w sieci. Pozwala to na wy¿sz± dostêpno¶æ,
+p³ynniejsze powiêkszanie przestrzeni, rozdzielanie obci±¿enia itp.
+
+%package vfs-fake_perms
+Summary: VFS module to report read-only fires as writable
+Summary(pl): Modu³ VFS udaj±cy, ¿e pliki tylko do odczytu s± zapisywalne
+Group: Networking/Daemons
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description vfs-fake_perms
+This module allow Roaming Profile files and directories to be set (on
+the Samba server under UNIX) as read only. This module will, if
+installed on the Profiles share, report to the client that the Profile
+files and directories are writeable. This satisfies the client even
+though the files will never be overwritten as the client logs out or
+shuts down.
+
+%description vfs-fake_perms -l pl
+Ten modu³ pozwala na ustawienie plików i katalogów z wêdruj±cych
+profili (Roaming Profiles) jako tylko do odczytu. Modu³ ten w
+przypadku zainstalowania na udziale z profilami bêdzie zg³asza³
+klientom, ¿e pliki i katalogi z profilu s± zapisywane. To wystarczy
+klientom pomimo, ¿e pliki nie zostan± nigdy nadpisane przy logowaniu
+lub wylogowywaniu klienta.
+
+%package vfs-netatalk
+Summary: VFS module for ease co-existence of samba and netatalk
+Summary(pl): Modu³ VFS u³atwiaj±cy wspó³pracê serwisów samba i netatalk
+Group: Networking/Daemons
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description vfs-netatalk
+Package contains a netatalk VFS module for ease co-existence of Samba
+and netatalk file sharing services.
+
+%description vfs-netatalk -l pl
+Pakiet zawiera modu³ VFS netatalk umo¿liwiaj±cy wspó³pracê us³ug samba
+i netatalk przy udostêpnianiu zasobów.
%package vfs-recycle
Summary: VFS module to add recycle bin facility to a samba share
%description vfs-recycle -l pl
Modu³ VFS dodaj±cy mo¿liwo¶æ kosza do zasobu samby.
-%package vfs-shadow-copy
+%package vfs-readonly
+Summary: VFS module for read-only limitation for specified share
+Summary(pl): Modu³ VFS do ograniczania okre¶lonego udzia³u tylko do odczytu
+Group: Networking/Daemons
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description vfs-readonly
+This module performs a read-only limitation for specified share (or
+all of them if it is loaded in a [global] section) based on period
+definition in smb.conf.
+
+%description vfs-readonly -l pl
+Ten modu³ wprowadza ograniczenie tylko do odczytu dla okre¶lonego
+udzia³u (lub wszystkich, je¶li jest wczytywany w sekcji [global]) w
+oparciu o definicje okresów w smb.conf.
+
+%package vfs-shadow_copy
Summary: VFS module to make automatic copy of data in samba share
-Summary(pl): Modu³ VFS do tworzenia automatycznych kopii danych w udziale samby
+Summary(pl): Modu³ VFS do tworzenia automatycznych kopii danych w zasobach samby
Group: Networking/Daemons
Requires: %{name} = %{epoch}:%{version}-%{release}
-%description vfs-shadow-copy
+%description vfs-shadow_copy
VFS module to make automatic copy of data in samba share.
-%description vfs-shadow-copy -l pl
-Modu³ VFS do tworzenia automatycznych kopii danych w udziale samby.
+%description vfs-shadow_copy -l pl
+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): 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
+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
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): 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
+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): 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
+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): Skaner antywirusowy online wykorzystuj±cy mcafee
+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
+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): 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
+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): Modu³ VFS dodaj±cy obs³ugê antywirusa OpenAntiVirus
+Summary(pl): Skaner antywirusowy online wykorzystuj±cy OpenAntiVirus
Group: Networking/Daemons
Requires: %{name} = %{epoch}:%{version}-%{release}
Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
%package vfs-vscan-sophos
Summary: On-access virus scanning for samba using Sophos
-Summary(pl): Modu³ VFS dodaj±cy obs³ugê antywirusa Sophos
+Summary(pl): Skaner antywirusowy online wykorzystuj±cy Sophos
Group: Networking/Daemons
Requires: %{name} = %{epoch}:%{version}-%{release}
Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
%package vfs-vscan-trend
Summary: On-access virus scanning for samba using Trend
-Summary(pl): Modu³ VFS dodaj±cy obs³ugê antywirusa Trend
+Summary(pl): Skaner antywirusowy online wykorzystuj±cy Trend
Group: Networking/Daemons
Requires: %{name} = %{epoch}:%{version}-%{release}
Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
dostêpu do plików korzystaj±c z oprogramowania antywirusowego Trend
(które musi byæ zainstalowane, aby wykorzystaæ ten modu³).
-%package vfs-vscan-mks
-Summary: On-access virus scanning for samba using mks
-Summary(pl): Modu³ VFS dodaj±cy obs³ugê antywirusa 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
-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-kavp
-Summary: On-access virus scanning for samba using Kaspersky AVP
-Summary(pl): Modu³ VFS dodaj±cy obs³ugê antywirusa 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
-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-fsav
-Summary: On-access virus scanning for samba using F-Secure AntiVirus
-Summary(pl): Modu³ VFS dodaj±cy obs³ugê antywirusa F-Secure AntiVirus
+%package -n openldap-schema-samba
+Summary: Samba LDAP schema
+Summary(pl): Schemat LDAP dla samby
Group: Networking/Daemons
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Provides: %{name}-vscan = %{epoch}:%{version}-%{release}
-Obsoletes: vscan-kavp
+Requires(post,postun): sed >= 4.0
+Requires: openldap-servers
-%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 -n openldap-schema-samba
+This package contains samba.schema for openldap.
-%description vfs-vscan-fsav -l pl
-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³).
+%description -n openldap-schema-samba -l pl
+Ten pakiet zawiera schemat samby dla openldap-a.
%prep
%setup -q
%patch0 -p1
-%ifarch amd64
+%if "%{_lib}" == "lib64"
%patch1 -p1
%endif
-#%{?with_ipv6:%patch2 -p1}
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
cd examples/VFS
tar xjf %{SOURCE7}
--with-libsmbclient \
--with-pam \
--with-pam_smbpass \
- --with-ads \
+ --with%{!?with_ads:out}-ads \
--with-privatedir=%{_sysconfdir}/samba \
--with-quotas \
--with-readline \
--with-syslog \
--with-utmp \
--with-fhs \
- %{?with_python:--with-python} \
- --with-expsam=xml,%{?with_mysql:mysql} \
+ %{?with_python:--with-python} \
+ --with-expsam=xml,%{?with_mysql:mysql}%{?with_pgsql:,pgsql} \
%{?with_ldapsam:--with-ldapsam} \
- %{!?with_ldap:--without-ldap} \
- %{?with_krb5:--with-krb5} \
- %{!?with_krb5:--without-krb5}
+ --with%{!?with_ldap:out}-ldap \
+ --with%{!?with_krb5:out}-krb5
%{__make} proto
-%{__make} everything pam_smbpass bin/smbget client/mount.cifs
+%{__make} everything pam_smbpass bin/smbget client/mount.cifs bin/vfstest
cd ../examples/VFS
%{__autoconf}
mv README{,.vfs}
cd samba-vscan-%{vscan_version}
-cp /usr/share/automake/config.sub .
+cp -f /usr/share/automake/config.sub .
%configure
%{__make} -j1 all
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/{lock,log,log/archiv,spool}/samba \
- $RPM_BUILD_ROOT{/sbin,/%{_lib}/security,%{_libdir},%{_vfsdir},%{_includedir},%{_sambahome}}
+ $RPM_BUILD_ROOT{/sbin,/%{_lib}/security,%{_libdir},%{_vfsdir},%{_includedir},%{_sambahome},%{schemadir}}
cd source
%{__make} install \
install source/bin/pam_smbpass.so $RPM_BUILD_ROOT/%{_lib}/security
install source/bin/wbinfo $RPM_BUILD_ROOT%{_bindir}
install source/bin/smbget $RPM_BUILD_ROOT%{_bindir}
+install source/bin/vfstest $RPM_BUILD_ROOT%{_bindir}
-mv $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so.0
+mv $RPM_BUILD_ROOT%{_libdir}/samba/libsmbclient.so $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so.0
+mv $RPM_BUILD_ROOT%{_libdir}/samba/libsmbclient.a $RPM_BUILD_ROOT%{_libdir}/libsmbclient.a
ln -s libsmbclient.so.0 $RPM_BUILD_ROOT%{_libdir}/libsmbclient.so
install source/include/libsmbclient.h $RPM_BUILD_ROOT%{_includedir}
-# przyk³adowe modu³y VFS
-#install examples/VFS/{*.so,block/*.so,recycle/*.so} $RPM_BUILD_ROOT%{_vfsdir}
-#install examples/VFS/block/samba-block.conf examples/VFS/recycle/recycle.conf $RPM_BUILD_ROOT/%{_sysconfdir}/samba
-
-# modu³y vscan
+# vscan modules
install examples/VFS/samba-vscan-%{vscan_version}/*.so $RPM_BUILD_ROOT%{_vfsdir}
-install examples/VFS/samba-vscan-%{vscan_version}/{clamav,fprot,icap,kaspersky,mks,openantivirus,sophos,trend,f-secure}/*.conf $RPM_BUILD_ROOT%{_sysconfdir}/samba
+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
touch $RPM_BUILD_ROOT/var/lock/samba/{STATUS..LCK,wins.dat,browse.dat}
# we have this utility in tdb package
rm -f $RPM_BUILD_ROOT{%{_bindir}/tdbdump,%{_mandir}/man8/tdbdump.8*}
+# python stuff
+%if %{with python}
+install -d $RPM_BUILD_ROOT%{py_sitedir}
+cp -R source/build/lib.*/samba $RPM_BUILD_ROOT%{py_sitedir}
+%endif
+
+mv $RPM_BUILD_ROOT%{_bindir}/tdbtool $RPM_BUILD_ROOT%{_bindir}/tdbtool_samba
+
+%if %{with ldap}
+install examples/LDAP/samba.schema $RPM_BUILD_ROOT%{schemadir}
+%endif
+
%clean
rm -rf $RPM_BUILD_ROOT
/etc/rc.d/init.d/rc-inetd reload
fi
+%post -n openldap-schema-samba
+if ! grep -q %{schemadir}/samba.schema /etc/openldap/slapd.conf; then
+ sed -i -e '
+ /^include.*local.schema/{
+ i\
+include %{schemadir}/samba.schema
+ }
+
+ # enable dependant schemas: cosine(uid) inetorgperson(displayName) nis(gidNumber)
+ /^#include.*\(cosine\|inetorgperson\|nis\)\.schema/{
+ s/^#//
+ }
+ ' /etc/openldap/slapd.conf
+fi
+
+if [ -f /var/lock/subsys/ldap ]; then
+ /etc/rc.d/init.d/ldap restart >&2
+fi
+
+%postun -n openldap-schema-samba
+if [ "$1" = "0" ]; then
+ if grep -q %{schemadir}/samba.schema /etc/openldap/slapd.conf; then
+ sed -i -e '
+ /^include.*\/usr\/share\/openldap\/schema\/samba.schema/d
+
+ # for symmetry it would be nice if we disable enabled schemas in post,
+ # but we really can not do that, it would break something else.
+ ' /etc/openldap/slapd.conf
+ fi
+
+ if [ -f /var/lock/subsys/ldap ]; then
+ /etc/rc.d/init.d/ldap restart >&2 || :
+ fi
+fi
+
%triggerpostun -- samba < 1.9.18p7
if [ "$1" != "0" ]; then
/sbin/chkconfig --add smb
%defattr(644,root,root,755)
%attr(755,root,root) %{_sbindir}/nmbd
%attr(755,root,root) %{_sbindir}/smbd
-#%attr(755,root,root) %{_sbindir}/winbindd
%attr(755,root,root) %{_sbindir}/mksmbpasswd.sh
%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}/tdbdump
+%attr(755,root,root) %{_bindir}/tdbtool_samba
-#%attr(755,root,root) /%{_lib}/libnss_*
-#%attr(755,root,root) /%{_lib}/security/pam_winbind.so
-#%attr(755,root,root) %{_libdir}/%{name}/pdb/*.so
%dir %{_libdir}/%{name}/pdb
%dir %{_vfsdir}
%attr(600,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/smbusers
%attr(754,root,root) /etc/rc.d/init.d/smb
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/samba
-%attr(640,root,root) /etc/logrotate.d/samba
+%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/logrotate.d/samba
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/pam.d/samba
%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/security/blacklist.samba
%{_mandir}/man1/smbstatus.1*
%{_mandir}/man8/smbd.8*
%{_mandir}/man8/smbpasswd.8*
%{_mandir}/man8/pdbedit.8*
-%{_mandir}/man8/winbindd.8*
%{_mandir}/man8/tdbbackup.8*
-#%{_mandir}/man8/tdbdump.8*
%dir %{_sambahome}
%dir /var/lock/samba
%ghost /var/lock/samba/*
-%attr(0750,root,root) %dir /var/log/samba
-%attr(0750,root,root) %dir /var/log/archiv/samba
+%attr(750,root,root) %dir /var/log/samba
+%attr(750,root,root) %dir /var/log/archiv/samba
%attr(1777,root,root) %dir /var/spool/samba
+%if %{with ldap}
+%doc examples/LDAP
+%endif
%if %{with mysql}
%files pdb-mysql
%attr(755,root,root) %{_libdir}/%{name}/pdb/mysql.so
%endif
+%if %{with pgsql}
+%files pdb-pgsql
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/%{name}/pdb/pgsql.so
+%endif
+
%files pdb-xml
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/%{name}/pdb/xml.so
%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 size mtime md5) /etc/sysconfig/winbind
-#%attr(-,root,root) %config(noreplace) %{_sysconfdir}/pam.d/system-auth-winbind*
%{_mandir}/man8/winbindd*.8*
+%{_mandir}/man8/pam_winbind.8.gz
%{_mandir}/man1/wbinfo*.1*
%files -n nss_wins
%{_mandir}/man1/smbsh.1*
%attr(755,root,root) %{_bindir}/rpcclient
%{_mandir}/man1/rpcclient.1*
-%attr(755,root,root) %{_bindir}/wbinfo
-%{_mandir}/man1/wbinfo.1*
%attr(755,root,root) %{_bindir}/findsmb
%{_mandir}/man1/findsmb.1*
%doc README Manifest WHATSNEW.txt
%doc Roadmap docs/*.pdf docs/registry/*
%doc docs/htmldocs/*.* docs/{history,THANKS}
-%dir %{_libdir}/%{name}
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/smb.conf
+%dir %{_sysconfdir}/samba
+%attr(664,root,fileshare) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/smb.conf
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/lmhosts
+%dir %{_libdir}/%{name}
%{_libdir}/%{name}/*.dat
-#%attr(755,root,root) %{_bindir}/make_smbcodepage
-#%attr(755,root,root) %{_bindir}/make_unicodemap
%attr(755,root,root) %{_bindir}/testparm
%attr(755,root,root) %{_bindir}/testprns
%attr(755,root,root) %{_bindir}/ntlm_auth
%attr(755,root,root) %{_bindir}/smbcquotas
%attr(755,root,root) %{_bindir}/profiles
%attr(755,root,root) %{_bindir}/pdbedit
-#%attr(755,root,root) %{_bindir}/make_printerdef
+%attr(755,root,root) %{_bindir}/vfstest
%dir %{_libdir}/%{name}/charset
%attr(755,root,root) %{_libdir}/%{name}/charset/*.so
-#%{_mandir}/man1/make_smbcodepage.1*
-#%{_mandir}/man1/make_unicodemap.1*
%{_mandir}/man1/editreg.1*
%{_mandir}/man1/testparm.1*
%{_mandir}/man1/testprns.1*
%lang(tr) %{_libdir}/%{name}/tr.msg
%{_mandir}/man8/swat.8*
+%if %{with python}
+%files -n python-samba
+%defattr(644,root,root,755)
+%dir %{py_sitedir}/samba
+%attr(755,root,root) %{py_sitedir}/samba/*.so
+%{py_sitedir}/samba/*.py
+%doc source/python/{README,gprinterdata,gtdbtool,gtkdictbrowser.py}
+%doc source/python/examples
+%endif
+
%files -n pam-pam_smbpass
%defattr(644,root,root,755)
%doc source/pam_smbpass/{CHAN*,README,TODO} source/pam_smbpass/samples
%files vfs-audit
%defattr(644,root,root,755)
%attr(755,root,root) %{_vfsdir}/audit.so
-#te ni¿ej chwilowo tutaj
+%attr(755,root,root) %{_vfsdir}/extd_audit.so
+%attr(755,root,root) %{_vfsdir}/full_audit.so
-%attr(755,root,root) %{_vfsdir}/[d-n]*.so
+%files vfs-cap
+%defattr(644,root,root,755)
%attr(755,root,root) %{_vfsdir}/cap.so
-%attr(755,root,root) %{_vfsdir}/readonly.so
-%files vfs-shadow-copy
+%files vfs-default_quota
%defattr(644,root,root,755)
-%attr(755,root,root) %{_vfsdir}/shadow_copy.so
+%attr(755,root,root) %{_vfsdir}/default_quota.so
-#%files vfs-block
-#%defattr(644,root,root,755)
-#%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/samba-block.conf
-#%attr(755,root,root) %{_vfsdir}/block.so
+%files vfs-expand_msdfs
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_vfsdir}/expand_msdfs.so
+
+%files vfs-fake_perms
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_vfsdir}/fake_perms.so
+
+%files vfs-netatalk
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_vfsdir}/netatalk.so
+
+%files vfs-readonly
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_vfsdir}/readonly.so
%files vfs-recycle
%defattr(644,root,root,755)
-#%doc examples/VFS/recycle/README
-#%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/recycle.conf
%attr(755,root,root) %{_vfsdir}/recycle.so
+%files vfs-shadow_copy
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_vfsdir}/shadow_copy.so
+
+%files vfs-vscan-antivir
+%defattr(644,root,root,755)
+#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
+%config(noreplace) %verify(not size mtime md5) %{_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 size mtime md5) %{_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 size mtime md5) %{_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 size mtime md5) %{_sysconfdir}/samba/vscan-kavp.conf
+%attr(755,root,root) %{_vfsdir}/vscan-kavp.so
+
+%files vfs-vscan-mcafee
+%defattr(644,root,root,755)
+#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/vscan-mcdaemon.conf
+%attr(755,root,root) %{_vfsdir}/vscan-mcdaemon.so
+
+%ifarch %{ix86}
+%files vfs-vscan-mks
+%defattr(644,root,root,755)
+#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
+%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/vscan-mks32.conf
+%attr(755,root,root) %{_vfsdir}/vscan-mksd.so
+%endif
+
%files vfs-vscan-openantivirus
%defattr(644,root,root,755)
#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/vscan-trend.conf
%attr(755,root,root) %{_vfsdir}/vscan-trend.so
-%ifarch %{ix86}
-%files vfs-vscan-mks
+%if %{with ldap}
+%files -n openldap-schema-samba
%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/vscan-mks32.conf
-%attr(755,root,root) %{_vfsdir}/vscan-mksd.so
+%{schemadir}/*.schema
%endif
-
-%files vfs-vscan-kavp
-%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/vscan-kavp.conf
-%attr(755,root,root) %{_vfsdir}/vscan-kavp.so
-
-%files vfs-vscan-fsav
-%defattr(644,root,root,755)
-#%doc examples/VFS/%{name}-vscan-%{vscan_version}/{INSTALL,FAQ}
-%config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/samba/vscan-fsav.conf
-%attr(755,root,root) %{_vfsdir}/vscan-fsav.so