win2003 explorer & file rename problem with 3.0.12

Dmitry Melekhov dm at belkam.com
Fri Mar 25 05:00:34 GMT 2005


Jeremy Allison wrote:

>On Fri, Mar 25, 2005 at 08:46:25AM +0400, Dmitry Melekhov wrote:
>  
>
>>Gerald (Jerry) Carter wrote:
>>
>>    
>>
>>>-----BEGIN PGP SIGNED MESSAGE-----
>>>Hash: SHA1
>>>
>>>Dmitry Melekhov wrote:
>>>| Hello!
>>>|
>>>| I have file
>>>| test.txt
>>>|
>>>| getfacl test.txt
>>>| # file: test.txt
>>>| # owner: dm
>>>| # group: users
>>>| user::rw-
>>>| group::rwx                      #effective:rw-
>>>| group:asuconnect:rwx            #effective:rw-
>>>| mask::rw-
>>>| other::---
>>>|
>>>|
>>>| And want to rename it using windows2003 explorer with latest patches.
>>>| I get error (translation from Russian): Can't rename file. No access.
>>>|
>>>| Certanly, I can successefully delete it, and can rename file using
>>>| TotalCommander.
>>>| log level 10 log is attached...
>>>
>>>This is BUG 2521 and has been fixed in 3.0.13.  Thanks for
>>>checking though.
>>>      
>>>
>>Unfortunately, this bug is not fixed!
>>
>>I have the same problem with 3.0.13.
>>Just to make you shure:
>>smbd -V
>>Version 3.0.13
>>    
>>
>
>Your log has this in it :
>
>
>This last "error string = Function not implemented: is a dead givaway
>that you haven't compiled Samba with ACL support in it.
>
>When you do the configure ensure you added --with-acl-support.
>
>  
>
I'm shure that I compiles samba with acl support.
spec is attached to make you shure too ;-)

btw, I don't know why samba have to be compiled with acl support to 
correctly handle permissions,
imho acl support is for changing acls, another access control is done on 
OS kernel level...

-------------- next part --------------
#
# spec file for package samba (Version 3.0.11)
#
# Copyright (c) 2005 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://www.suse.de/feedback/
#

# norootforbuild
# neededforbuild  ccache cracklib-devel cups-devel cups-libs e2fsprogs heimdal-devel heimdal-lib libacl libacl-devel libattr libattr-devel libxml2 libxml2-devel mysql-devel mysql-shared openafs-devel openldap2-client openldap2-devel openssl openssl-devel pam-devel popt popt-devel postgresql-devel postgresql-libs python python-devel readline readline-devel

Name:         samba
%define	samba_ver 3.0.13
%define	vscan_ver 0.3.5
%define	ldapsmb_ver 1.31
License:      GPL
Group:        Productivity/Networking/Samba
URL:          http://www.samba.org/
Provides:     sambaxp
Requires:     samba-client = %{samba_ver}
Prereq:       /bin/cat /bin/cp /bin/mkdir /bin/mv /usr/bin/dirname /usr/bin/strings /usr/bin/grep /usr/bin/tr
Obsoletes:    samba-classic samba-ldap sambaxp
Autoreqprov:  on
Version:      3.0.13
Release:      0
Summary:      A SMB/ CIFS File Server
Source:       samba-%{version}.tar.gz
Source1:      vendor-files.tar.bz2
Source2:      samba-vscan-%{vscan_ver}.tar.bz2
Source3:      ldapsmb-%{ldapsmb_ver}.tar.bz2
Source4:      samba-vscan-0.3.5-antivir.tar.bz2
Source10:     pdb_nds.c
#Patch:        dhcpcd-hook-samba-functions.diff
#Patch2:       libtool-mode.diff
Patch3:       samba-vscan-0.3.5.patch
Patch4:       samba-vscan-0.3.5.INSTALL.diff
Patch5:       samba-vscan-0.3.5-antivir.diff
Patch6:       samba-vscan-0.3.5-tmpdir.diff
#Patch18:      smbmount-escaped-option.diff
#Patch19:      smbmnt-32bituid-reducesize.diff
#Patch22:      nss-soname.diff
#Patch29:      samba-com_err.diff
#Patch31:      samba-smbadduser.diff
#Patch101:     samba-s390.diff
#Patch108:     samba-ia64.diff
#Patch125:     pdbedit-pw-stdin.diff
#Patch126:     smbprint-debugfilepath.diff
#Patch136:     samba3-net_rpc_migrate.diff
#Patch137:     nds.diff
#Patch139:     smbclient-showacls.diff
#Patch143:     post-3.0.11.diff
#Patch145:     samba-nds.schema.diff
#Patch147:     pidfile-suffix.diff
#Patch149:     swat-welcome.diff
# Choose some features / extra packages here
############################################
%define	make_devel 0
%define	use_ccache 0
%define  setup_common_opts -q
%if %{suse_version} > 820
%define	package_cupsbackend 1
%else
%define	package_cupsbackend 0
%endif
# requires: docbook-utils docbook-xsl-stylesheets docbook_4 freetype2 ghostscript-fonts-std ghostscript-library ghostscript-x11 libxslt sgml-skel te_etex te_latex te_pdf tetex xmlcharent
%define	make_doc 0
%define	make_python 0
%define	make_shared_mod 0
%define	make_smbwrap 1
%define	make_utils 0
%define	make_vscan 1
# wrepld is badly broken, do not build it
%define	make_wrepld 0
%define	make_ldapsmb 0
# requires: libxml2 libxml2-devel mysql-devel mysql-shared
%define	make_pdb 0
# requires: openafs openafs-client openafs-devel
%define	make_kaserver 0
# Define some global directories
################################
%define	DOCDIR %{_defaultdocdir}/%{name}
%define	DOCBOOKDIR %{_defaultdocdir}/%{name}/docbook
%define	SWATDIR %{_datadir}/samba/swat
%define	LOGDIR %{_localstatedir}/log/samba
%define	LIBDIR %{_libdir}/samba
%define	LOCKDIR %{_localstatedir}/lib/samba
%define	CONFIGDIR %{_sysconfdir}/samba
%define	INITDIR %{_sysconfdir}/init.d
%define	PIDDIR %{_localstatedir}/run/samba
%define	SPOOLDIR %{_localstatedir}/spool/samba
%define	pdb_modules pdb_xml,pdb_mysql,pdb_ldap,pdb_smbpasswd,pdb_tdbsam,pdb_unix,pdb_guest,pdb_nisplussam
%define	rpc_modules rpc_lsa,rpc_samr,rpc_reg,rpc_wks,rpc_net,rpc_dfs,rpc_srv,rpc_spoolss
%define	auth_modules auth_rhosts,auth_sam,auth_unix,auth_winbind,auth_server,auth_domain,auth_builtin
%define	vfs_modules vfs_recycle,vfs_audit,vfs_extd_audit,vfs_netatalk,vfs_fake_perms
%define	idmap_modules idmap_winbind,idmap_ldap,idmap_tdb
%define	charset_modules charset_weird
%if %ul_version >= 1
%define	VENDOR UL
%else
%if "%{_vendor}" == "suse"
%define	VENDOR SUSE
%else
%define	VENDOR %_vendor
%endif
%endif
BuildRoot:    %{_tmppath}/%{name}-%{version}-build
%package client
Summary:      Samba Client Utilities
Group:        Productivity/Networking/Samba
Autoreqprov:  on
Provides:     smbclnt smbfs sambaxp-client
Obsoletes:    smbclnt samba-classic-client samba-ldap-client sambaxp-client
Prereq:       %insserv_prereq %fillup_prereq /usr/bin/strings /sbin/chkconfig /usr/bin/dirname
%if %{suse_version} > 920
Requires:     cifs-mount
%endif
%package doc
Summary:      Samba Documentation
Group:        Documentation/Other
Prereq:       /usr/bin/find /bin/rm /usr/bin/xargs
Autoreqprov:  on
%if %{make_pdb}
%package pdb
Summary:      PDB-Modules
Group:        Productivity/Networking/Samba
Autoreqprov:  on
%endif
%if %{make_python}
%package python
Summary:      Samba Python Modules
Group:        Productivity/Networking/Samba
Autoreqprov:  on
%define pyver %(python -c "import sys; print sys.version[:3]")
Requires:     python >= %pyver, python < %pyver.99
%endif
%if %{make_utils}
%package utils
Summary:      debug tools
Group:        Productivity/Networking/Samba
Autoreqprov:  on
%endif
%if %{make_vscan}
%package vscan
Summary:      On-Access Virus Scanning with Samba
Group:        Productivity/Networking/Samba
Autoreqprov:  on
Requires:     samba = %{samba_ver}
Version:      0.3.5
Release:      0
URL:          http://www.openantivirus.org/
%endif
%package winbind
Summary:      Winbind Daemon and Tool
Group:        Productivity/Networking/Samba
Autoreqprov:  on
Provides:     samba-client:/usr/sbin/winbindd
Requires:     samba-client = %{samba_ver}
%if %{make_wrepld}
%package wrepl
Summary:      Replication Daemon
Group:        Productivity/Networking/Samba
Autoreqprov:  on
%endif
%package -n libsmbclient
Summary:      Samba Client Library
Group:        System/Libraries
Provides:     libsmbclient3
Obsoletes:    libsmbclient3
Autoreqprov:  on
%package -n libsmbclient-devel
Summary:      Libraries and Header Files to Develop Programs with smbclient Support
Group:        Development/Libraries/C and C++
Autoreqprov:  on
Requires:     libsmbclient = %{samba_ver}
%if %{make_ldapsmb}
%package -n ldapsmb
Summary:      Tool to administer Samba's LDAP backend
Group:        Productivity/Networking/Samba
Autoreqprov:  on
Version:      1.31
Release:      0
Requires:     perl-ldap
%endif
%if %{suse_version} > 920
%package -n cifs-mount
Summary:      mount using the Common Internet File System (CIFS)
Group:        System/Base
Autoreqprov:  on
%endif
%prep
%setup -n samba-%{samba_ver} %{setup_common_opts}
cp -p ${RPM_SOURCE_DIR}/pdb_nds.c source/passdb
# untar vscan
%if %{make_vscan}
%setup -T -D -a 2 -n samba-%{samba_ver}/examples/VFS %{setup_common_opts}
# libtool --mode fixes
%patch3 -p0
pushd samba-vscan-%{vscan_ver}
# INSTALL doc fix
%patch4 -p2
# untar AntiVir module
%setup -T -D -a 4 -n samba-%{samba_ver}/examples/VFS/samba-vscan-%{vscan_ver}
patch -p2 <patch-sambavscan-hookup.diff
%patch5 -p1
# unset TMPDIR to workaround tempnam
%patch6 -p1
popd
%endif
# untar my configs
%setup -T -D -a 1 -n samba-%{samba_ver} %{setup_common_opts}
# untar ldapsmb
%if %{make_ldapsmb}
%setup -T -D -a 3 -n samba-%{samba_ver} %{setup_common_opts}
%endif
# PATCHES
#########
# dhcpcd hook function
#%patch -p1
# libtool --mode required
#%patch2 -p1
# smbmount escaped option
#%patch18 -p1
# 32bit uid reducesize
#%patch19 -p1
# nss soname
#%patch22 -p1
# some com_err fixes for heimdals com_err
#%patch29 -p1
# fix paths for smbadduser
#%patch31 -p1
# s390 fixes (from samba2.2)
#%patch101 -p1
# build examples-vfs with -fPIC
#%patch108 -p1
# read pw change from stdin
#%patch125 -p1
# use secure directory for smbprint log file
#%patch126 -p1
# alias migration
#%patch136 -p0
# Add showacls option to smbclient
#%patch139 -p0
# post 3.0.11 fixes
#%patch143 -p0
# eDir support
#%patch137 -p0
# Fixed nds schema.
#%patch145 -p1
# Add suffix to pidfile if none default config filename
#%patch147 -p0
# swat welcome workaround
#%patch149 -p1
sed -e "s/VENDOR/%{VENDOR}/g" docs/htmldocs/index.html >docs/htmldocs/index.html.new && \
	mv docs/htmldocs/index.html.new docs/htmldocs/index.html
# Create and add vendor suffix
pushd source
vendor_tag=$( grep ^Release: ${RPM_SOURCE_DIR}/samba.spec | head -n 1 | while read tag release; do echo $release; done)
test "${vendor_tag}" && vendor_tag="${vendor_tag}-"
%if %{make_devel}
	vendor_tag="${vendor_tag}devel-"
	# Don't let rpm strip the debug symbols away
	for file in $( ls /usr/lib/rpm/brp-strip*); do
		test -s ${file} || continue
		mv ${file} ${file}.debug
		touch ${file}
		chmod 0755 ${file}
	done
%endif
mv VERSION VERSION.orig
sed -e s/^SAMBA_VERSION_VENDOR_SUFFIX=$/SAMBA_VERSION_VENDOR_SUFFIX=\"${vendor_tag}%{VENDOR}\"/ VERSION.orig >VERSION

%build samba-%{samba_ver}
%if %{suse_version} < 911
	OPTIMIZATION="-O"
%else
	# use the default optimization
	unset OPTIMIZATION
%endif
export CFLAGS="${RPM_OPT_FLAGS} -D_GNU_SOURCE ${OPTIMIZATION} -D_LARGEFILE64_SOURCE -DIDMAP_RID_SUPPORT_TRUSTED_DOMAINS"
%if %{make_devel}
# debugging symbols
export CFLAGS="${CFLAGS} -g"
%endif
%if %{use_ccache}
export CC="ccache gcc"
%endif
cd source
%{?suse_update_config:%{suse_update_config -f}}
autoreconf --force --install
CONFIGURE_OPTIONS="\
	--prefix=%{_prefix} \
	--sbindir=%{_sbindir} \
	--localstatedir=%{LOCKDIR} \
	--sysconfdir=%{CONFIGDIR} \
	--with-configdir=%{CONFIGDIR} \
	--with-libdir=%{LIBDIR} \
	--with-lockdir=%{LOCKDIR} \
	--with-logfilebase=%{LOGDIR} \
	--with-mandir=%{_mandir} \
	--enable-cups \
	--with-acl-support \
	--with-automount \
	--with-msdfs \
	--with-piddir=%{PIDDIR} \
	--with-privatedir=%{CONFIGDIR} \
%if %{make_devel}
	--with-profiling-data \
%endif
	--with-quotas \
	--with-smbmount \
	--with-swatdir=%{SWATDIR} \
	--with-syslog \
	--with-tdbsam \
	--with-utmp \
	--with-vfs \
	--with-winbind \
	--with-shared-modules=idmap_rid \
%if %{make_pdb}
	--with-expsam=xml,mysql,pgsql \
%endif
%if %{make_smbwrap}
	--with-smbwrapper \
%endif
%if %{make_python}
	--with-python \
%endif
%if %{make_shared_mod} 
	--with-shared-modules=%{pdb_modules},%{rpc_modules} \
%endif
%if %{make_devel} 
	--enable-developer \
	--enable-krb5developer \
%endif
%if %{make_kaserver}
	--with-fake-kaserver=auto \
%endif
"
# make sure we have a chance to find krb5-config
export PATH="$PATH:/usr/lib/heimdal/bin:/usr/lib/mit/bin"
unset CONFIGURE_OPTIONS_DEVEL
%if %{make_devel}
CONFIGURE_OPTIONS_DEVEL="--enable-debug --enable-developer"
%endif
./configure ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_DEVEL}
%{__make} proto
%{__make} %{?jobs:-j%jobs} \
	all \
	torture \
	wins \
	libsmbclient \
	everything \
	modules \
	talloctort \
	bin/smbget
# build fails
#	bin/editreg \
%{__make} %{?jobs:-j%jobs} -C tdb tdbdump tdbtest tdbtool tdbtorture 
#%{__make} %{?jobs:-j%jobs} -C ../examples/LDAP/smbldap-tools/mkntpwd/
%if %{make_wrepld}
%{__make} %{?jobs:-j%jobs} bin/wrepld
%endif
# make examples in PDB
%{__make} -C ../examples/pdb
# make examples in VFS
pushd ../examples/VFS/
autoreconf --force --install
./configure ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_DEVEL}
CFLAGS="$CFLAGS -fPIC" ./configure
%{__make} %{?jobs:-j%jobs}
%if %{make_vscan}
pushd samba-vscan-%{vscan_ver}/
%{?suse_update_config:%{suse_update_config -f}}
autoreconf --force --install
unset CONFIGURE_OPTIONS
%if %{suse_version} < 911
	CONFIGURE_OPTIONS="--without-filetype"
%endif
./configure ${CONFIGURE_OPTIONS} ${CONFIGURE_OPTIONS_DEVEL}
%{__make} %{?jobs:-j%jobs}
popd
%endif
popd
%if %{make_python}
%{__make} python_ext
%endif
export CFLAGS="${CFLAGS} -Wall"
gcc -DMOUNT_CIFS_VENDOR_SUFFIX=\"-%{VENDOR}\" client/mount.cifs.c -o client/mount.cifs
# Run testsuite
cd ../testsuite/libsmbclient/src
make

%install
[ x"${RPM_BUILD_ROOT}" = x"/" ] && ( echo "your buildroot is /" && exit 0) || rm -rf "${RPM_BUILD_ROOT}"
mkdir -p \
	${RPM_BUILD_ROOT}/%{DOCDIR} \
	${RPM_BUILD_ROOT}/%{DOCDIR}-vscan \
	${RPM_BUILD_ROOT}/%{DOCBOOKDIR} \
	${RPM_BUILD_ROOT}/%{_sysconfdir}/{pam.d,xinetd.d,logrotate.d} \
	${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/schema \
	${RPM_BUILD_ROOT}/%{_sysconfdir}/sysconfig/network/{if-up.d,scripts} \
	${RPM_BUILD_ROOT}/%{_sysconfdir}/slp.reg.d \
	${RPM_BUILD_ROOT}/%{CONFIGDIR} \
	${RPM_BUILD_ROOT}/%{INITDIR} \
	${RPM_BUILD_ROOT}/%{_lib}/security \
	${RPM_BUILD_ROOT}/sbin \
	${RPM_BUILD_ROOT}/%{_includedir} \
	${RPM_BUILD_ROOT}/%{_libdir}/python/lib-dynload \
	${RPM_BUILD_ROOT}/%{LIBDIR}/{config,vfs,pdb,rpc,auth,charset,idmap} \
	${RPM_BUILD_ROOT}/%{_mandir} \
	${RPM_BUILD_ROOT}/%{_datadir}/samba/LDAP \
	${RPM_BUILD_ROOT}/%{SWATDIR} \
	${RPM_BUILD_ROOT}/%{_datadir}/susehelp/meta/Administration/System \
	${RPM_BUILD_ROOT}/%{_bindir} \
	${RPM_BUILD_ROOT}/%{_sbindir} \
	${RPM_BUILD_ROOT}/%{_localstatedir}/adm \
	${RPM_BUILD_ROOT}/%{LOCKDIR}/{netlogon,drivers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC},printing,profiles} \
	${RPM_BUILD_ROOT}/%{LOGDIR} \
	${RPM_BUILD_ROOT}/%{PIDDIR} \
	${RPM_BUILD_ROOT}/%{SPOOLDIR} \
	${RPM_BUILD_ROOT}/%{_var}/adm/fillup-templates \
	${RPM_BUILD_ROOT}/%{_var}/lock/subsys
%{__make} -C source/ DESTDIR=${RPM_BUILD_ROOT} install \
	BINDIR=%{_bindir} \
	CONFIGFILE=%{CONFIGDIR}/smb.conf \
	DRIVERFILE=%{CONFIGDIR}/printers.def \
	LIBDIR=%_libdir/samba \
	LMHOSTSFILE=%{CONFIGDIR}/lmhosts \
	LOCKDIR=%{LOCKDIR} \
	LOGFILEBASE=%{LOGDIR} \
	MANDIR=%{_mandir} \
	SBINDIR=%{_sbindir} \
	SMB_PASSWD_FILE=%{CONFIGDIR}/smbpasswd \
	SWATDIR=%{SWATDIR}
%{__make} -C source/ DESTDIR=${RPM_BUILD_ROOT} installmodules \
	LIBDIR=%{_libdir}/samba 
# utility scripts
scripts="creategroup mksmbpasswd.sh"
mkdir -p examples/scripts
for i in $scripts; do
	cp -p "source/script/${i}" examples/scripts
done
# configuration files
pushd vendor-files
echo "# smb.conf is the main Samba configuration file. You find a full commented" >config/smb.conf
echo "# version at %{DOCDIR}/examples/smb.conf.%{VENDOR} if the" >>config/smb.conf
echo "# samba-doc package is installed." >>config/smb.conf
echo "# Date: $( date -I)" >>config/smb.conf
grep -v "\(^#\|^;\|^$\)" config/smb.conf.vendor >>config/smb.conf
cp -p config/smb.conf.vendor ../examples/smb.conf.%{VENDOR}
for file in smb.conf lmhosts smbusers smbpasswd smbfstab smbusers; do
	cp -p "config/${file}" ${RPM_BUILD_ROOT}/%{CONFIGDIR}/
done
# start scripts
startScripts="smb nmb smbfs winbind"
%if %{make_wrepld}
	startScripts="${startScripts} wrepl"
%endif
for script in ${startScripts}; do
	cp -p "init/${script}" ${RPM_BUILD_ROOT}/%{INITDIR}/
	ln -sf "../../%{INITDIR}/${script}" "${RPM_BUILD_ROOT}/%{_sbindir}/rc${script}"
done
cp -p tools/nmbstatus ${RPM_BUILD_ROOT}/%{_bindir}/
pod2man tools/nmbstatus >${RPM_BUILD_ROOT}/%{_mandir}/man1/nmbstatus.1
# PDF generator
cp -p tools/smbprngenpdf ${RPM_BUILD_ROOT}/%{_bindir}/
touch ${RPM_BUILD_ROOT}/var/lock/subsys/smbfs
cp -p config/swat.xinetd ${RPM_BUILD_ROOT}/%{_sysconfdir}/xinetd.d/swat
cp -p config/samba.reg ${RPM_BUILD_ROOT}/%{_sysconfdir}/slp.reg.d/
%if %{suse_version} < 921
	cp -p config/samba.pamd ${RPM_BUILD_ROOT}/%{_sysconfdir}/pam.d/samba
%else
	cp -p config/samba.pamd-common ${RPM_BUILD_ROOT}/%{_sysconfdir}/pam.d/samba
%endif
cp -p config/dhcp.conf ${RPM_BUILD_ROOT}/%{_var}/adm/fillup-templates/samba-client-dhcp.conf
cp -p config/sysconfig.dhcp-samba-client ${RPM_BUILD_ROOT}/%{_var}/adm/fillup-templates/
cp -p tools/dhcpcd-hook-samba ${RPM_BUILD_ROOT}/%{_sysconfdir}/sysconfig/network/scripts
ln -s ../scripts/dhcpcd-hook-samba ${RPM_BUILD_ROOT}/%{_sysconfdir}/sysconfig/network/if-up.d/
# Add logrotate settings for nmbd and smbd only on systems newer than 8.1.
%if %{suse_version} < 811
	LOGROTATE_FILES="samba-winbind"
	rm -f "${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-samba"
	touch "${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-samba"
%else
	LOGROTATE_FILES="samba samba-winbind"
%endif
%if %{make_wrepld}
	LOGROTATE_FILES="${LOGROTATE_FILES} samba-wrepl"
%endif
for file in ${LOGROTATE_FILES}; do
	cp -p logrotate/${file} ${RPM_BUILD_ROOT}/%{_sysconfdir}/logrotate.d/${file}
	rm -f "${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-${file}"
	touch "${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-${file}"
	echo "%config(noreplace) %{_sysconfdir}/logrotate.d/${file}" >>${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-${file}
done
cp -p docu/README.vendor ${RPM_BUILD_ROOT}/%{DOCDIR}/README.%{VENDOR}
# SuSEhelp files
cp -p docu/Samba.desktop ${RPM_BUILD_ROOT}/%{_datadir}/susehelp/meta/Administration/System
cp -p docu/manpages.html ../docs/htmldocs
cp -p docu/welcome-no-samba-doc.html ${RPM_BUILD_ROOT}/%{SWATDIR}/help
# Update message handling
rm -f "${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-samba-client"
%if %{suse_version} < 911
	for file in "" /de /en; do
		echo "%dir %{_datadir}/update-messages${file}" >>"${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-samba-client"
	done
%else
	touch "${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-samba-client"
%endif
for file in $( ls update-messages/*); do
	PACKAGE_NAME=$( echo ${file#*/} | cut -f 1 -d '-')
	LANG=$( echo ${file#*/} | cut -f 2 -d '-')
	NUMBER=$( echo ${file#*/} | cut -f 3 -d '-')
	dir="%{_datadir}/update-messages/${LANG}"
	test -d "${RPM_BUILD_ROOT}/${dir}" || \
		mkdir -p "${RPM_BUILD_ROOT}/${dir}"
	cp -p "${file}" "${RPM_BUILD_ROOT}/${dir}/${PACKAGE_NAME}.${NUMBER}"
	echo "${dir}/${PACKAGE_NAME}.${NUMBER}" >>${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-${PACKAGE_NAME}
done
popd
cp -p packaging/Debian/debian-unstable/samba-common.dhcp ${RPM_BUILD_ROOT}/%{_sysconfdir}/sysconfig/network/scripts/dhcpcd-hook-samba-functions
# sambamount
ln -sf %{_bindir}/smbmount ${RPM_BUILD_ROOT}/sbin/mount.smbfs
# cifsmount
install -m 0755 source/client/mount.cifs ${RPM_BUILD_ROOT}/sbin
# libnss_wins.so
install -m 0755 source/nsswitch/libnss_wins.so ${RPM_BUILD_ROOT}/%{_lib}/libnss_wins.so.2
# winbind stuff
#install -m 0755 source/nsswitch/pam_winbind.so ${RPM_BUILD_ROOT}/%{_lib}/security/
#install -m 0755 source/nsswitch/libnss_winbind.so ${RPM_BUILD_ROOT}/%{_lib}/libnss_winbind.so.2
# pam_smbpass
#cp -p source/bin/pam_smbpass.so ${RPM_BUILD_ROOT}/%{_lib}/security/
# smbfilter
cp -p source/bin/smbfilter ${RPM_BUILD_ROOT}/%{_bindir}/
## editreg -- currently broken
#cp -p source/bin/editreg ${RPM_BUILD_ROOT}/%{_bindir}/
# smbget
cp -p source/bin/smbget ${RPM_BUILD_ROOT}/%{_bindir}/
# workaround for broken Makefile
rm "${RPM_BUILD_ROOT}/%{LIBDIR}/libsmbclient.so"
# install libsmbclient
install -m 0755 source/bin/libsmbclient.a ${RPM_BUILD_ROOT}/%{_libdir}
install -m 0755 source/bin/libsmbclient.so ${RPM_BUILD_ROOT}/%{_libdir}/libsmbclient.so.0
ln -s %{_libdir}/libsmbclient.so.0 ${RPM_BUILD_ROOT}/%{_libdir}/libsmbclient.so
install -m 0644 source/include/libsmbclient.h ${RPM_BUILD_ROOT}/%{_includedir}
# install nsswitch-headers (for squid, etc. #FIXME)
mkdir -p ${RPM_BUILD_ROOT}/%{_includedir}/samba/nsswitch
for file in winbind_client.h winbind_nss.h winbind_nss_config.h winbind_nss_linux.h winbindd.h winbindd_nss.h winbindd_proto.h; do
	cp -p "source/nsswitch/${file}" ${RPM_BUILD_ROOT}/%{_includedir}/samba/nsswitch/
done
# install smbtorture and other test-programs
%if %{make_utils}
install -m 0755 source/bin/debug2html ${RPM_BUILD_ROOT}/%{_bindir}/
install -m 0755 source/bin/log2pcap ${RPM_BUILD_ROOT}/%{_bindir}/
install -m 0755 source/bin/smbtorture ${RPM_BUILD_ROOT}/%{_bindir}/
install -m 0755 source/bin/talloctort ${RPM_BUILD_ROOT}/%{_bindir}/
install -m 0755 source/bin/{msgtest,masktest,locktest*} ${RPM_BUILD_ROOT}/%{_bindir}/
install -m 0755 source/bin/nsstest ${RPM_BUILD_ROOT}/%{_bindir}/
install -m 0755 source/bin/vfstest ${RPM_BUILD_ROOT}/%{_bindir}/
# install tdb tools
install -m 0755 source/tdb/{tdbdump,tdbtest,tdbtorture} ${RPM_BUILD_ROOT}/%{_bindir}/
%endif
# install VFS-modules
install -m 0755 examples/VFS/*.so ${RPM_BUILD_ROOT}/%{LIBDIR}/vfs/
# install PDB-modules
#libtool --mode=install install -m 0755  examples/pdb/test.la ${RPM_BUILD_ROOT}/%{LIBDIR}/pdb/
%if %{make_vscan}
# install VSCAN-vfs-modules
%{__make} -C examples/VFS/samba-vscan-%{vscan_ver} install DESTDIR="${RPM_BUILD_ROOT}"
%endif
%if %{make_ldapsmb}
install -m 0700 ldapsmb-%{ldapsmb_ver}/ldapsmb ${RPM_BUILD_ROOT}/%{_sbindir}/
cp -a ldapsmb-%{ldapsmb_ver}/ldapsmb.5 ${RPM_BUILD_ROOT}/%{_mandir}/man5
%endif
## mkntpwd - missing
#%{__make} -C examples/LDAP/smbldap-tools/mkntpwd PREFIX=${RPM_BUILD_ROOT}/%{_prefix} install clean
%if %{package_cupsbackend}
	# cups SMB support
	mkdir	-p ${RPM_BUILD_ROOT}/%{_libdir}/cups/backend/
	ln -sf ../../../bin/smbspool ${RPM_BUILD_ROOT}/%{_libdir}/cups/backend/smb
%endif
# make examples clean
VFS="${RPM_BUILD_DIR}/samba-%{samba_ver}/examples/VFS"
VSCAN="$VFS/samba-vscan-%{vscan_ver}"
PDB="${RPM_BUILD_DIR}/samba-%{samba_ver}/examples/pdb"
dirs="$PDB $SAM $VFS"
(for i in $dirs; do make -C "${i}" clean; done)
# install python
%if %{make_python}
cp -a source/build/lib.*/samba ${RPM_BUILD_ROOT}/%{_libdir}/python/lib-dynload/
find source/python -name CVS -print0 | xargs -0 rm -rf
find source/python -name ".cvsignore" -print0 | xargs -0 rm -rf
%endif
# install smbwrapper
%if %{make_smbwrap}
install -m 0755 source/bin/smbwrapper.so ${RPM_BUILD_ROOT}/%{LIBDIR}/
install -m 0755 source/bin/smbsh ${RPM_BUILD_ROOT}/%{_bindir}/
%endif
# pam_smbpass is missing
#cp -a source/pam_smbpass/samples examples/pam_smbpass
#cp -p source/pam_smbpass/{CHANGELOG,INSTALL,README,TODO} examples/pam_smbpass/
# cleanup docs
find . -name CVS -type d -print0 | xargs -0 rm -rf
find . -name ".cvsignore" -type f -print0 | xargs -0 rm -rf
mv COPYING Manifest README Read-Manifest-Now Roadmap WHATSNEW.txt ${RPM_BUILD_ROOT}/%{DOCDIR}/
cp -p source/smbwrapper/README ${RPM_BUILD_ROOT}/%{DOCDIR}/README.smbwrapper
# this is empty
rm -rf docs/yodldocs
mv examples/VFS/samba-vscan-%{vscan_ver} .
rm -rf docs/manpages
cp -a docs/* ${RPM_BUILD_ROOT}/%{DOCDIR}
rm -rf "${RPM_BUILD_ROOT}/%{DOCBOOKDIR}"
cp -a examples/ ${RPM_BUILD_ROOT}/%{DOCDIR}
# using-samba book is part of the samba-doc package
if [ -e ${RPM_BUILD_ROOT}/%{SWATDIR}/using_samba ]; then
	rm -rf "${RPM_BUILD_ROOT}/%{SWATDIR}/using_samba"
	ln -s "%{DOCDIR}/htmldocs/using_samba" "${RPM_BUILD_ROOT}/%{SWATDIR}"
fi
# Install HTML pages only in the samba-doc package
pushd ${RPM_BUILD_ROOT}/%{SWATDIR}/help
for file in $( find -mindepth 1 -maxdepth 1); do
	file=$( basename $file)
	case "${file}" in
		welcome-no-samba-doc.html) continue ;;
		welcome.html) ;;
		*)
			rm -r "${file}"
			ln -s "%{DOCDIR}/htmldocs/${file}" .
			;;
	esac
	echo "%doc %{SWATDIR}/help/${file}" >>${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-samba-doc
done
popd
# finally build filelist-samba-doc
for file in $( find ${RPM_BUILD_ROOT}%{DOCDIR} -maxdepth 1); do
        # exclude %{DOCDIR}, README, and docbook
        case "${file#${RPM_BUILD_ROOT}}" in
                %{DOCDIR}|%{DOCDIR}/README.%{VENDOR}|%{DOCDIR}/docbook) continue ;;
        esac
        echo "%doc ${file#${RPM_BUILD_ROOT}}" >>${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-samba-doc
done
# sort out vscan-modules from the main filelist
%if %{make_vscan}
for file in $( find ${RPM_BUILD_ROOT}%{LIBDIR}/vfs/ -mindepth 1 ! -iname '*vscan*' ); do
        echo "${file#${RPM_BUILD_ROOT}}" >>${RPM_BUILD_DIR}/samba-%{samba_ver}/filelist-samba
done
%endif
%if ! %{make_utils}
# delete manpages if not packaged in utils-package
rm -f \
	${RPM_BUILD_ROOT}/%{_mandir}/man1/log2pcap.1* \
	${RPM_BUILD_ROOT}/%{_mandir}/man1/vfstest.1*
%endif
# copy the schema
cp -p examples/LDAP/samba.schema ${RPM_BUILD_ROOT}/%{_sysconfdir}/openldap/schema/samba3.schema
cp -p examples/LDAP/samba-nds.schema ${RPM_BUILD_ROOT}/%{_datadir}/samba/LDAP

%pre
/usr/sbin/groupadd -g 71 -o -r ntadmin 2>/dev/null || :
if [ ${1:-0} -gt 1 ]; then
	# check if we update from a UnitedLinux 1.0 system
	if [ -x usr/sbin/smbd ] && \
		usr/bin/strings usr/sbin/smbd | usr/bin/grep -q "^2\.2\."; then
		if [ -f etc/xinetd.d/samba ]; then
			OLD_XINETD_SWAT_FILE="var/adm/old.xinetd.swat.config"
			ACTIVE_DIR=$( dirname ${OLD_XINETD_SWAT_FILE})
			test -d ${ACTIVE_DIR} || mkdir -p ${ACTIVE_DIR}
			test -f "${OLD_XINETD_SWAT_FILE}" && old "${OLD_XINETD_SWAT_FILE}"
			cp -a etc/xinetd.d/samba "${OLD_XINETD_SWAT_FILE}"
			echo "# The configuration file for SWAT is now in /etc/xinetd.d/swat." >>etc/xinetd.d/samba
		fi
		# check if we used LDAP with Samba 2.2
		test -f etc/sysconfig/samba && . etc/sysconfig/samba
		SAMBA_SAM=$( echo ${SAMBA_SAM} | usr/bin/tr '[:upper:]' '[:lower:]')
		if [ "${SAMBA_SAM}" = "ldap" ]; then
			test -d var/lib/update-messages || \
				mkdir -p var/lib/update-messages
			touch var/lib/update-messages/samba.1
		else
			rm -f var/lib/update-messages/samba.1
		fi
	fi
fi

%preun
%stop_on_removal smb nmb

%post
if [ ${1:-0} -gt 1 ]; then
	OLD_XINETD_SWAT_FILE="var/adm/old.xinetd.swat.config"
	if [ -f "${OLD_XINETD_SWAT_FILE}" ]; then
		test -f etc/xinetd.d/swat && \
			mv etc/xinetd.d/swat etc/xinetd.d/swat.rpmnew
		mv "${OLD_XINETD_SWAT_FILE}" etc/xinetd.d/swat
	fi
fi

%postun
%restart_on_update nmb smb
%insserv_cleanup

%pre client
if [ ${1:-0} -gt 1 ]; then
	# check if we update from a UnitedLinux 1.0 system
	if [ -x usr/sbin/winbindd ] && \
		usr/bin/strings usr/sbin/winbindd | usr/bin/grep -q "^2\.2\."; then
		if sbin/chkconfig -c winbind; then
			# take care of an active winbind service as we've moved the daemon and
			# init script to the winbind sub package
			if [ -z "${YAST_IS_RUNNING}" ]; then
				echo "The winbind service was active on your system.  It is now provided by the "    
				echo "samba-winbind package.  Please install this package and active the winbind "
				echo "service with the YaST runlevel editor or via the command 'insserv winbind'. "
			else
				WINBINDD_ACTIVE_FILE="var/adm/winbindd.was.active"
				test -f ${WINBINDD_ACTIVE_FILE} && old ${WINBINDD_ACTIVE_FILE}
				ACTIVE_FLAG_DIR=$( dirname ${WINBINDD_ACTIVE_FILE})
				test -d ${DIRNAME} || mkdir -p ${DIRNAME}
				touch ${WINBINDD_ACTIVE_FILE}
			fi
		fi
	fi
fi

%preun client
%stop_on_removal smbfs

%post client
if [ ${1:-0} -eq 1 ]; then
# Only insserv smbfs if we're not in update mode.
%{fillup_and_insserv -fy smbfs} || :
fi
%fillup_only -nsd dhcp samba-client network

%postun client
%insserv_cleanup

%pre doc
# Remove all directories and files from usr/share/samba/swat/help expect welcome-*.html
if [ -d usr/share/samba/swat/help ]; then
	find usr/share/samba/swat/help -mindepth 1 -maxdepth 1 -type d -print0 | \
		xargs -0 rm -rf
	for file in $( find usr/share/samba/swat/help -maxdepth 1 -type f); do
		case "${file}" in
			usr/share/samba/swat/help/welcome*.html) continue ;;
			*) rm -f "${file}" ;;
		esac
	done
fi

%post winbind
WINBINDD_ACTIVE_FILE="var/adm/winbindd.was.active"
if [ -f ${WINBINDD_ACTIVE_FILE} ]; then
	sbin/insserv winbind
	test ! -s ${WINBINDD_ACTIVE_FILE} && rm -f ${WINBINDD_ACTIVE_FILE} || :
fi

%preun winbind
%stop_on_removal winbind

%postun winbind
%restart_on_update winbind
%insserv_cleanup
%if %{make_wrepld}

%preun wrepl
%stop_on_removal wrepl

%postun wrepl
%restart_on_update wrepl
%insserv_cleanup
%endif

%post -n libsmbclient
%run_ldconfig

%postun -n libsmbclient
%run_ldconfig

%clean
[ x"${RPM_BUILD_ROOT}" = x"/" ] && ( echo "your buildroot is /" && exit 0) || rm -rf "${RPM_BUILD_ROOT}"

%files -f filelist-samba
%defattr(-,root,root)
%attr(0754,root,root) %config %{INITDIR}/nmb
%attr(0754,root,root) %config %{INITDIR}/smb
%attr(0600,root,root) %config(noreplace) %{CONFIGDIR}/smbpasswd
%config(noreplace) %{CONFIGDIR}/smbusers
%config %{_sysconfdir}/pam.d/samba
%{_sysconfdir}/slp.reg.d
%config(noreplace) %{_sysconfdir}/xinetd.d/swat
%{_includedir}/samba
#/%{_lib}/security/pam_smbpass.so
%dir %{LIBDIR}
%dir %{LIBDIR}/vfs
%{LIBDIR}/auth
%{LIBDIR}/config
%{LIBDIR}/rpc
%{LIBDIR}/*.msg
%dir %{LOCKDIR}
%attr(0775,root,ntadmin) %{LOCKDIR}/drivers
%{LOCKDIR}/netlogon
%attr(0770,root,users) %dir %{LOCKDIR}/profiles
%{SPOOLDIR}
%dir %{SWATDIR}
%dir %{SWATDIR}/help
%{SWATDIR}/help/welcome-no-samba-doc.html
%{SWATDIR}/images
%{SWATDIR}/include
%{SWATDIR}/lang
%{_bindir}/smbstatus
%{_bindir}/tdbbackup
%{_bindir}/tdbdump
%{_bindir}/tdbtool
%{_bindir}/testprns
%{_sbindir}/nmbd
%{_sbindir}/rcnmb
%{_sbindir}/rcsmb
%{_sbindir}/smbd
%{_sbindir}/swat
%dir %{_datadir}/samba
%doc %{_mandir}/man1/smbstatus.1.gz
%doc %{_mandir}/man1/testprns.1.gz
%doc %{_mandir}/man5/smbpasswd.5.gz
%doc %{_mandir}/man8/nmbd.8.gz
%doc %{_mandir}/man8/smbd.8.gz
%doc %{_mandir}/man8/swat.8.gz
%doc %{_mandir}/man8/tdbbackup.8.gz
%doc %{_mandir}/man8/tdbdump.8.gz

%files client -f filelist-samba-client
%defattr(-,root,root)
%attr(0754,root,root) %config %{INITDIR}/smbfs
%dir %{CONFIGDIR}
%config(noreplace) %{CONFIGDIR}/lmhosts
%config(noreplace) %{CONFIGDIR}/smb.conf
%config(noreplace) %{CONFIGDIR}/smbfstab
%dir %{_sysconfdir}/openldap/schema
%attr(0444,root,root) %config %{_sysconfdir}/openldap/schema/samba3.schema
%{_sysconfdir}/sysconfig/network/if-up.d/dhcpcd-hook-samba
%{_sysconfdir}/sysconfig/network/scripts/dhcpcd-hook-samba
%{_sysconfdir}/sysconfig/network/scripts/dhcpcd-hook-samba-functions
#%{_bindir}/editreg
%{_bindir}/findsmb
%{_bindir}/net
%{_bindir}/nmblookup
%{_bindir}/nmbstatus
%{_bindir}/pdbedit
%{_bindir}/profiles
%{_bindir}/rpcclient
%{_bindir}/smbcacls
%{_bindir}/smbclient
%{_bindir}/smbcontrol
%{_bindir}/smbcquotas
%{_bindir}/smbfilter
%{_bindir}/smbget
%{_bindir}/smbmnt
%{_bindir}/smbmount
%{_bindir}/smbpasswd
%{_bindir}/smbprngenpdf
%{_bindir}/smbspool
%{_bindir}/smbtar
%{_bindir}/smbtree
%{_bindir}/smbumount
%{_bindir}/testparm
%{_sbindir}/rcsmbfs
#%{_sbindir}/mkntpwd
/sbin/mount.smbfs
%if %{package_cupsbackend}
%{_libdir}/cups
%endif
%dir %{LIBDIR}
%{LIBDIR}/charset
%{LIBDIR}/lowcase.dat
%{LIBDIR}/upcase.dat
%{LIBDIR}/valid.dat
%doc %{_mandir}/man1/editreg.1.gz
%doc %{_mandir}/man1/findsmb.1.gz
%doc %{_mandir}/man1/nmblookup.1.gz
%doc %{_mandir}/man1/nmbstatus.1.gz
%doc %{_mandir}/man1/profiles.1.gz
%doc %{_mandir}/man1/rpcclient.1.gz
%doc %{_mandir}/man1/smbcacls.1.gz
%doc %{_mandir}/man1/smbcontrol.1.gz
%doc %{_mandir}/man1/smbclient.1.gz
%doc %{_mandir}/man1/smbcquotas.1.gz
%doc %{_mandir}/man1/smbget.1.gz
%doc %{_mandir}/man1/smbtar.1.gz
%doc %{_mandir}/man1/smbtree.1.gz
%doc %{_mandir}/man1/testparm.1.gz
%doc %{_mandir}/man5/lmhosts.5.gz
%doc %{_mandir}/man5/smb.conf.5.gz
%doc %{_mandir}/man5/smbgetrc.5.gz
%doc %{_mandir}/man7/samba.7.gz
%doc %{_mandir}/man8/net.8.gz
%doc %{_mandir}/man8/pdbedit.8.gz
%doc %{_mandir}/man8/smbmnt.8.gz
%doc %{_mandir}/man8/smbmount.8.gz
%doc %{_mandir}/man8/smbpasswd.8.gz
%doc %{_mandir}/man8/smbspool.8.gz
%doc %{_mandir}/man8/smbumount.8.gz
%dir %{_datadir}/samba/LDAP
%config %{_datadir}/samba/LDAP/samba-nds.schema
%dir %{DOCDIR}
%doc %{DOCDIR}/README.%{VENDOR}
%{_var}/adm/fillup-templates/samba-client-dhcp.conf
%{_var}/adm/fillup-templates/sysconfig.dhcp-samba-client
%ghost %{_var}/lock/subsys/smbfs
%dir %{LOGDIR}
%dir %{PIDDIR}
%if %{make_smbwrap}
%{_bindir}/smbsh
%doc %{_mandir}/man1/smbsh.1.gz
%{LIBDIR}/smbwrapper.so
%endif
%if %{suse_version} < 921
/sbin/mount.cifs
%doc %{_mandir}/man8/mount.cifs.8.gz
%endif

%files winbind -f filelist-samba-winbind
%defattr(-,root,root)
%attr(0754,root,root) %config %{INITDIR}/winbind
%doc %{_mandir}/man1/ntlm_auth.1.gz
%doc %{_mandir}/man1/wbinfo.1.gz
%doc %{_mandir}/man8/winbindd.8.gz
%{_bindir}/ntlm_auth
%{_bindir}/wbinfo
%{_sbindir}/rcwinbind
%{_sbindir}/winbindd
#/%{_lib}/libnss_winbind.so.2
/%{_lib}/libnss_wins.so.2
#/%{_lib}/security/pam_winbind.so
%{LIBDIR}/idmap
%doc %{_mandir}/man8/pam_winbind.8.gz
%if %{make_utils}

%files utils
%defattr(-,root,root)
%{_bindir}/debug2html
%{_bindir}/log2pcap
%{_bindir}/locktest
%{_bindir}/locktest2
%{_bindir}/masktest
%{_bindir}/msgtest
%{_bindir}/nsstest
%{_bindir}/smbtorture
%{_bindir}/talloctort
%{_bindir}/tdbtest
%{_bindir}/tdbtorture
%{_bindir}/vfstest
%doc %{_mandir}/man1/log2pcap.1.gz
%doc %{_mandir}/man1/vfstest.1.gz
%endif

%files doc -f filelist-samba-doc
%defattr(-,root,root)
%dir %{DOCDIR}
%dir %{_datadir}/samba
%dir %{SWATDIR}
%dir %{SWATDIR}/help
%{SWATDIR}/using_samba
%doc %{_datadir}/susehelp
%if %{make_pdb}

%files pdb
%defattr(-,root,root)
%{LIBDIR}/pdb
%doc examples/pdb/{Makefile,README,test.c}
%doc examples/pdb/{mysql/mysql.dump,mysql/smb.conf}
%endif
%if %{make_wrepld}

%files wrepl -f filelist-samba-wrepl
%defattr(-,root,root)
%attr(0754,root,root) %config %{INITDIR}/wrepl
%{_sbindir}/rcwrepl
%{_sbindir}/wrepld
%endif
%if %{make_vscan}

%files vscan
%defattr(-,root,root)
%{LIBDIR}/vfs/vscan*
%doc samba-vscan-%{vscan_ver}/{AUTHORS,COPYING,ChangeLog,FAQ,INSTALL,NEWS,README,TODO}
%doc samba-vscan-%{vscan_ver}/*/vscan-*.conf
%dir %{LIBDIR}/vfs
%endif
%if %{make_python}

%files python
%defattr(-,root,root)
%doc source/python/README 
%doc source/python/examples 
%doc source/python/gprinterdata
%doc source/python/gtdbtool
%doc source/python/gtkdictbrowser.py
%{_libdir}/python/lib-dynload/samba
%endif

%files -n libsmbclient
%defattr(-,root,root)
%{_libdir}/libsmbclient.so.*

%files -n libsmbclient-devel
%defattr(-,root,root)
%{_includedir}/libsmbclient.h
%{_libdir}/libsmbclient.a
%{_libdir}/libsmbclient.so
%if %{make_ldapsmb}

%files -n ldapsmb
%defattr(-,root,root)
%{_sbindir}/ldapsmb
%{_mandir}/man5/ldapsmb.5.gz
%endif

%if %{suse_version} > 920
%files -n cifs-mount
%defattr(-,root,root)
/sbin/mount.cifs
%doc %{_mandir}/man8/mount.cifs.8.gz
%endif

%description
Samba is a suite of programs which work together to allow clients to
access Unix filespace and printers via the SMB/ CIFS protocol.

In practice, this means that you can redirect disks and printers to
Unix disks and printers from LAN Manager, Windows for Workgroups 3.11,
Windows '95, Windows NT, and OS/2 clients.

Samba includes the following programs:

* smbd, the SMB server. This handles actual connections from
   clients.

* nmbd, the Netbios name server. This helps clients locate servers.

* testprns: A program to test server access to printers.

* testparm: A program to test the Samba configuration file for
   correctness.

This package expects its config file to be found in
/etc/samba/smb.conf.



Authors:
--------
    The Samba Team <samba at samba.org>


%description client
This package contains all programs that are needed to act as a Samba
client. This includes smbmount.



Authors:
--------
    The Samba Team <samba at samba.org>


%description winbind
This is the winbind-daemon and the wbinfo-tool.



Authors:
--------
    The Samba Team <samba at samba.org>

%if %{make_utils}

%description utils
Some of the debug-tools for developpers.



Authors:
--------
    The Samba Team <samba at samba.org>

%endif

%description doc
This package contains all the Samba documentation as it is not part of
the man pages.



Authors:
--------
    The Samba Team <samba at samba.org>

%if %{make_pdb}

%description pdb
The Samba PDB-Modules.



Authors:
--------
    The Samba Team <samba at samba.org>

%endif
%if %{make_vscan}

%description vscan
samba-vscan provides on-access scanning of Samba shares with ClamAV,
FRISK F-Prot, F-Secure AV, Kaspersky Anti-Virus, mks32, OAV
ScannerDaemon, Sophos Sweep, Symantec AntiVirus Engine (via ICAP) and
Trend Micro.



Authors:
--------
    Rainer Link <rainer at openantivirus.org>

%endif
%if %{make_python}

%description python
This package provides the Samba Python modules.



Authors:
--------
    The Samba Team <samba at samba.org>

%endif
%if %{make_wrepld}

%description wrepl
The (unfinished) Samba Wins Replication Daemon.



Authors:
--------
    The Samba Team <samba at samba.org>

%endif

%description -n libsmbclient
This package includes the libsmbclient library.



Authors:
--------
    The Samba Team <samba at samba.org>


%description -n libsmbclient-devel
This package contains the static libraries and header files needed to
develop programs which make use of the smbclient programming interface.



Authors:
--------
    The Samba Team <samba at samba.org>

%if %{make_ldapsmb}

%description -n ldapsmb
This tool aims to simplify the administration of a Samba Domain
Controller that uses the ldapsam passdb backend.



Authors:
--------
    Guenther Deschner <guenther at deschner dot de>

%endif

%if %{suse_version} > 920
%description -n cifs-mount
mount.cifs  mounts a CIFS filesystem. It is usually invoked indirectly by
the mount command when using the "-t  cifs"  option.


Authors:
--------
    Steve French <sfrench at Samba dot org>
%endif


More information about the samba-technical mailing list