summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packaging/Mandrake/samba2.spec.tmpl489
-rw-r--r--packaging/Mandrake/smb.conf36
-rw-r--r--packaging/Mandrake/winbind.init2
3 files changed, 374 insertions, 153 deletions
diff --git a/packaging/Mandrake/samba2.spec.tmpl b/packaging/Mandrake/samba2.spec.tmpl
index 127aee48d8..488a6e32b1 100644
--- a/packaging/Mandrake/samba2.spec.tmpl
+++ b/packaging/Mandrake/samba2.spec.tmpl
@@ -1,4 +1,4 @@
-# Note that this file exists in Mandrake packaging cvs (as samba3.spec)
+# Note that this file exists in Mandrake packaging cvs (as samba.spec)
# and samba cvs (as packaging/Mandrake/samba2.spec.tmpl).
# Keep in mind that any changes should take both locations into account
# Considerable effort has gone into making this possible, so that only
@@ -13,9 +13,9 @@
# cvs should be submitted for inclusion in samba cvs.
%define pkg_name samba
-%define ver 3.0.1pre3
-%define rel 5mdk
-%define vscanver 0.3.3beta1
+%define ver 3.0.5
+%define rel 2mdk
+%define vscanver 0.3.5
%define libsmbmajor 0
%{!?lib: %global lib lib}
@@ -57,12 +57,7 @@
%endif
# We now do detection of the Mandrake release we are building on:
-#%define build_cooker %(if [ `awk '{print $3}' /etc/mandrake-release` = "Cooker" ];then echo 1; else echo 0; fi)
-#%define build_cooker %(if [[ `cat /etc/mandrake-release|grep Cooker` ]];then echo 1; else echo 0; fi)
-%define build_mdk100 %(if [ `awk '{print $4}' /etc/mandrake-release` = 10.0 ];then echo 1; else echo 0; fi)
-%define build_mdk92 %(if [ `awk '{print $4}' /etc/mandrake-release` = 9.2 ];then echo 1; else echo 0; fi)
-%define build_mdk91 %(if [ `awk '{print $4}' /etc/mandrake-release` = 9.1 ];then echo 1; else echo 0; fi)
-%define build_mdk90 %(if [ `awk '{print $4}' /etc/mandrake-release` = 9.0 ];then echo 1; else echo 0; fi)
+%{?!mdkversion: %define mdkversion %(perl -pe '/(\d+)\.(\d)\.?(\d)?/; $_="$1$2".($3||0)' /etc/mandrake-release)}
%define build_mdk82 %(if [ `awk '{print $4}' /etc/mandrake-release` = 8.2 ];then echo 1; else echo 0; fi)
%define build_mdk81 %(if [ `awk '{print $4}' /etc/mandrake-release` = 8.1 ];then echo 1; else echo 0; fi)
%define build_mdk80 %(if [ `awk '{print $4}' /etc/mandrake-release` = 8.0 ];then echo 1; else echo 0; fi)
@@ -84,24 +79,18 @@
%define have_rpmhelper 1
# Set defaults for each version
-%if %build_mdk100
+%if %mdkversion >= 1000
%define build_system 1
-%define build_alternatives 1
-%define build_cupspc 1
%endif
-%if %build_mdk92
+%if %mdkversion >= 920
%define build_alternatives 1
-%define build_cupspc 1
%endif
-%if %build_mdk91
+%if %mdkversion >= 910
%define build_cupspc 1
%endif
-%if %build_mdk90
-%endif
-
%if %build_mdk82
%define have_rpmhelper 0
%endif
@@ -157,24 +146,43 @@
%{?_without_ads: %global build_non_default 1}
%{?_with_scanners: %global build_scanners 1}
%{?_with_scanners: %global build_non_default 1}
+%{?_without_scanners: %global build_scanners 0}
+%{?_without_scanners: %global build_non_default 1}
+%{?_with_vscan: %global build_vscan 1}
+%{?_with_vscan: %global build_non_default 1}
+%{?_without_vscan: %global build_vscan 0}
+%{?_without_vscan: %global build_non_default 1}
# As if that weren't enough, we're going to try building with antivirus
# support as an option also
-%define build_fprot 0
-%define build_kaspersky 0
-%define build_mks 0
-%define build_openav 0
-%define build_sophos 0
-%define build_symantec 0
-%define build_trend 0
+%global build_clamav 0
+%global build_fprot 0
+%global build_fsav 0
+%global build_icap 0
+%global build_kaspersky 0
+%global build_mks 0
+%global build_nai 0
+%global build_openav 0
+%global build_sophos 0
+%global build_symantec 0
+%global build_trend 0
+%if %build_vscan
+# These we build by default
+%global build_clamav 1
+%global build_icap 1
+%endif
%if %build_vscan && %build_scanners
-#These can be enabled here by default
-# (kaspersky requires their library present)
-%define build_fprot 1
-%define build_mks 1
-%define build_openav 1
-%define build_sophos 1
-%define build_trend 1
+# These scanners are built if scanners are selected
+# symantec requires their library present and must be selected
+# individually
+%global build_fprot 1
+%global build_fsav 1
+%global build_kaspersky 1
+%global build_mks 1
+%global build_nai 1
+%global build_openav 1
+%global build_sophos 1
+%global build_trend 1
%endif
%if %build_vscan
%{?_with_fprot: %{expand: %%global build_fprot 1}}
@@ -201,7 +209,7 @@
%global serverbin editreg,pdbedit,profiles,smbcontrol,smbstatus,tdbbackup,tdbdump
%global serversbin nmbd,samba,smbd,mkntpwd
-%global clientbin findsmb,nmblookup,smbclient,smbmnt,smbmount,smbprint,smbspool,smbtar,smbumount
+%global clientbin findsmb,nmblookup,smbclient,smbmnt,smbmount,smbprint,smbspool,smbtar,smbumount,smbget
%global client_bin mount.cifs
%global client_sbin mount.smb,mount.smbfs
@@ -210,7 +218,7 @@
%ifarch alpha
%define build_expsam xml
%else
-%define build_expsam mysql,xml
+%define build_expsam mysql,xml,pgsql
%endif
#Workaround missing macros in 8.x:
@@ -263,12 +271,17 @@ Source6: swat_16.png.bz2
Source7: README.%{name}-mandrake-rpm
%if %build_vscan
Source8: samba-vscan-%{vscanver}.tar.bz2
+BuildRequires: libmagic-devel
%endif
Source10: samba-print-pdf.sh.bz2
+Source11: smb-migrate.bz2
Patch1: smbw.patch.bz2
Patch4: samba-3.0-smbmount-sbin.patch.bz2
+Patch5: samba-3.0.2a-smbldap-config.patch.bz2
%if !%have_pversion
# Version specific patches: current version
+Patch6: samba-3.0.5-mandrake-packaging.patch.bz2
+Patch7: samba-3.0.5-lib64.patch.bz2
%else
# Version specific patches: upcoming version
%endif
@@ -278,7 +291,7 @@ Patch4: samba-3.0-smbmount-sbin.patch.bz2
%endif
Requires: pam >= 0.64, samba-common = %{version}
BuildRequires: pam-devel readline-devel libncurses-devel popt-devel
-BuildRequires: libxml2-devel
+BuildRequires: libxml2-devel postgresql-devel
%ifnarch alpha
BuildRequires: mysql-devel
%endif
@@ -571,7 +584,7 @@ SMB shares.
%package -n %{libname}-devel
URL: http://www.samba.org
Summary: SMB Client Library Development files
-Group: System/Libraries
+Group: Development/C
Provides: libsmbclient-devel
Requires: %{libname} = %{version}-%{release}
@@ -603,7 +616,7 @@ allowing the development of other software to access SMB shares.
#%package passdb-ldap
#URL: http://www.samba.org
-#Summary: Samba password database plugin for MySQL
+#Summary: Samba password database plugin for LDAP
#Group: System/Libraries
#
#%description passdb-ldap
@@ -636,6 +649,27 @@ backend allowing samba to store account details in a MySQL
database
%endif
+#does postgresql build on alpha?
+#ifnarch alpha
+%package passdb-pgsql
+URL: http://www.samba.org
+Summary: Samba password database plugin for PostgreSQL
+Group: System/Libraries
+Requires: %{name}-server = %{version}-%{release}
+#endif
+#ifnarch alpha && %build_system
+%if %build_system
+Obsoletes: samba3-passdb-pgsql
+Provides: samba3-passdb-pgsql
+%endif
+#ifnarch alpha
+
+%description passdb-pgsql
+The passdb-pgsql package for samba provides a password database
+backend allowing samba to store account details in a PostgreSQL
+database
+#endif
+
%package passdb-xml
URL: http://www.samba.org
Summary: Samba password database plugin for XML files
@@ -657,25 +691,57 @@ backend allowing samba to store account details in XML files.
%endif
#Antivirus packages:
+%if %build_clamav
+%package vscan-clamav
+Summary: On-access virus scanning for samba using Clam Antivirus
+Group: System/Servers
+Requires: %{name}-server = %{version}
+Provides: %{name}-vscan
+Requires: clamd
+%description vscan-clamav
+A vfs-module for samba to implement on-access scanning using the
+Clam antivirus scanner daemon.
+%endif
+
%if %build_fprot
%package vscan-fprot
Summary: On-access virus scanning for samba using FPROT
Group: System/Servers
Requires: %{name}-server = %{version}
Provides: %{name}-vscan
-Autoreq: 0
%description vscan-fprot
A vfs-module for samba to implement on-access scanning using the
FPROT antivirus software (which must be installed to use this).
%endif
+%if %build_fsav
+%package vscan-fsecure
+Summary: On-access virus scanning for samba using F-Secure
+Group: System/Servers
+Requires: %{name}-server = %{version}
+Provides: %{name}-vscan
+%description vscan-fsecure
+A vfs-module for samba to implement on-access scanning using the
+F-Secure antivirus software (which must be installed to use this).
+%endif
+
+%if %build_icap
+%package vscan-icap
+Summary: On-access virus scanning for samba using Clam Antivirus
+Group: System/Servers
+Requires: %{name}-server = %{version}
+Provides: %{name}-icap
+%description vscan-icap
+A vfs-module for samba to implement on-access scanning using
+ICAP-capable antivirus software.
+%endif
+
%if %build_kaspersky
%package vscan-kaspersky
Summary: On-access virus scanning for samba using Kaspersky
Group: System/Servers
Requires: %{name}-server = %{version}
Provides: %{name}-vscan
-Autoreq: 0
%description vscan-kaspersky
A vfs-module for samba to implement on-access scanning using the
Kaspersky antivirus software (which must be installed to use this).
@@ -687,19 +753,28 @@ Summary: On-access virus scanning for samba using MKS
Group: System/Servers
Requires: %{name}-server = %{version}
Provides: %{name}-vscan
-Autoreq: 0
%description vscan-mks
A vfs-module for samba to implement on-access scanning using the
MKS antivirus software (which must be installed to use this).
%endif
+%if %build_nai
+%package vscan-nai
+Summary: On-access virus scanning for samba using NAI McAfee
+Group: System/Servers
+Requires: %{name}-server = %{version}
+Provides: %{name}-vscan
+%description vscan-nai
+A vfs-module for samba to implement on-access scanning using the
+NAI McAfee antivirus software (which must be installed to use this).
+%endif
+
%if %build_openav
%package vscan-openav
Summary: On-access virus scanning for samba using OpenAntivirus
Group: System/Servers
Requires: %{name}-server = %{version}
Provides: %{name}-vscan
-Autoreq: 0
%description vscan-openav
A vfs-module for samba to implement on-access scanning using the
OpenAntivirus antivirus software (which must be installed to use this).
@@ -711,7 +786,6 @@ Summary: On-access virus scanning for samba using Sophos
Group: System/Servers
Requires: %{name}-server = %{version}
Provides: %{name}-vscan
-Autoreq: 0
%description vscan-sophos
A vfs-module for samba to implement on-access scanning using the
Sophos antivirus software (which must be installed to use this).
@@ -729,13 +803,13 @@ A vfs-module for samba to implement on-access scanning using the
Symantec antivirus software (which must be installed to use this).
%endif
+
%if %build_trend
%package vscan-trend
Summary: On-access virus scanning for samba using Trend
Group: System/Servers
Requires: %{name}-server = %{version}
Provides: %{name}-vscan
-Autoreq: 0
%description vscan-trend
A vfs-module for samba to implement on-access scanning using the
Trend antivirus software (which must be installed to use this).
@@ -765,10 +839,11 @@ Trend antivirus software (which must be installed to use this).
%endif
%if %{?_with_options:1}%{!?_with_options:0} && %build_scanners
-%{error:--with scanners enables fprot,mks,openav,sophos and trend by default}
+#{error:--with scanners enables the following:%{?build_clamav:clamav,}%{?build_icap:icap,}%{?build_fprot:fprot,}%{?build_mks:mks,}%{?build_openav:openav,}%{?build_sophos:sophos,}%{?build_symantec:symantec,}%{?build_trend:trend}}
+%{error:--with scanners enables the following: clamav,icap,fprot,fsav,mks,nai,openav,sophos,trend}
%{error: }
%{error:To enable others (requires development libraries for the scanner):}
-%{error:--with kaspersky Enable on-access scanning with Kaspersky - %opt_status %build_kaspersky}
+%{error:--with symantec Enable on-access scanning with Symantec - %opt_status %build_symantec}
%{error: }
%endif
@@ -814,9 +889,12 @@ echo -e "\n%{name}-%{version}-%{release}\n">>%{SOURCE7}
#%patch111 -p1
%patch1 -p1 -b .smbw
%patch4 -p1 -b .sbin
+%patch5 -p1
# Version specific patches: current version
%if !%have_pversion
echo "Applying patches for current version: %{ver}"
+%patch6 -p1 -b .mdk
+%patch7 -p1 -b .lib64
%else
# Version specific patches: upcoming version
echo "Applying patches for new versions: %{pversion}"
@@ -828,7 +906,7 @@ echo "Appling patches which should only be applied to prereleases"
%endif
# Fix quota compilation in glibc>2.3
-%if %build_mdk91 || %build_mdk92
+%if %mdkversion >= 910 && %mdkversion < 1000
#grep "<linux/quota.h>" source/smbd/quotas.c >/dev/null && \
perl -pi -e 's@<linux/quota.h>@<sys/quota.h>@' source/smbd/quotas.c
%endif
@@ -841,16 +919,17 @@ cp -a examples examples.bin
%if %build_vscan
cp -a %{vscandir} %{vfsdir}
#fix stupid directory names:
-mv %{vfsdir}/%{vscandir}/openantivirus %{vfsdir}/%{vscandir}/oav
-%endif
+#mv %{vfsdir}/%{vscandir}/openantivirus %{vfsdir}/%{vscandir}/oav
# Inline replacement of config dir
-for av in fprot kaspersky mks oav sophos trend; do
- [ -e %{vfsdir}/%{vscandir}/$av/vscan-$av.h ] && perl -pi -e \
+for av in clamav fprotd fsav icap kavp mksd mcdaemon oav sophos symantec trend
+ do
+ [ -e %{vfsdir}/%{vscandir}/*/vscan-$av.h ] && perl -pi -e \
's,^#define PARAMCONF "/etc/samba,#define PARAMCONF "/etc/%{name},' \
- %{vfsdir}/%{vscandir}/$av/vscan-$av.h
+ %{vfsdir}/%{vscandir}/*/vscan-$av.h
done
#Inline edit vscan header:
-perl -pi -e 's/^# define SAMBA_VERSION_MAJOR 2/# define SAMBA_VERSION_MAJOR 3/g' %{vfsdir}/%{vscandir}/include/vscan-global.h
+perl -pi -e 's/^# define SAMBA_VERSION_MAJOR 2/# define SAMBA_VERSION_MAJOR 3/g;s/# define SAMBA_VERSION_MINOR 2/# define SAMBA_VERSION_MINOR 0/g' %{vfsdir}/%{vscandir}/include/vscan-global.h
+%endif
# Edit some files when not building system samba:
%if !%build_system
@@ -873,17 +952,17 @@ ln -sf %{_datadir}/swat%{samba_major}/help/ clean-docs/samba-doc/docs/htmldocs
(cd source
CFLAGS=`echo "$RPM_OPT_FLAGS"|sed -e 's/-g//g'`
%if %gcc331
-#CFLAGS=`echo "$CFLAGS"|sed -e 's/-O2/-Os/g'`
+CFLAGS=`echo "$CFLAGS"|sed -e 's/-O2/-O/g'`
%endif
# Don't use --with-fhs now, since it overrides libdir, it sets configdir,
# lockdir,piddir logfilebase,privatedir and swatdir
%configure --prefix=%{_prefix} \
--sysconfdir=%{_sysconfdir}/%{name} \
--localstatedir=/var \
- --libdir=%{_libdir}/%{name} \
+ --with-libdir=%{_libdir}/%{name} \
--with-privatedir=%{_sysconfdir}/%{name} \
--with-lockdir=/var/cache/%{name} \
- --with-piddir=/var/run/%{name} \
+ --with-piddir=/var/run \
--with-swatdir=%{_datadir}/swat%{samba_major} \
--with-configdir=%{_sysconfdir}/%{name} \
--with-logfilebase=/var/log/%{name} \
@@ -917,60 +996,34 @@ CFLAGS=`echo "$RPM_OPT_FLAGS"|sed -e 's/-g//g'`
# --with-fhs \
#Fix the make file so we don't create debug information on 9.2
-%if %build_mdk92
+%if %mdkversion == 920
perl -pi -e 's/-g //g' Makefile
%endif
perl -pi -e 's|-Wl,-rpath,%{_libdir}||g;s|-Wl,-rpath -Wl,%{_libdir}||g' Makefile
make proto_exists
-%make all libsmbclient smbfilter wins modules %{?_with_test: torture debug2html bin/log2pcap} bin/editreg client/mount.cifs
+%make all libsmbclient smbfilter wins modules %{?_with_test: torture debug3html bin/log2pcap} bin/editreg bin/smbget client/mount.cifs
-
-# Build VFS modules (experimental)
-#cd ../%vfsdir
-#_configure --prefix=%{prefix} \
-# --mandir=%{prefix}/share/man
-#make
-#make CFLAGS="$RPM_OPT_FLAGS -I../../source -I../../source/include -I../../source/ubiqx \
-# -I../../source/smbwrapper -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
)
# Build mkntpasswd in examples/LDAP/ for smbldaptools
make -C examples.bin/LDAP/smbldap-tools/mkntpwd
-# Build antivirus vfs objects:
-%if %build_fprot
+%if %build_vscan
echo -e "\n\nBuild antivirus VFS modules\n\n"
-echo "Building fprot"
-(cd %{vfsdir}/%{vscandir}/fprot;make)
-%endif
-%if %build_kaspersky
-echo "Building Kaspersky"
-(cd %{vfsdir}/%{vscandir}/kavp
- perl -p -i -e "s|/usr/local/|/usr/|g" Makefile.KAV4
- make -f Makefile.KAV4
-)
-%endif
-%if %build_mks
-echo "Building mks"
-(cd %{vfsdir}/%{vscandir}/mks;make)
-%endif
-%if %build_openav
-echo "Building OpenAntivirus"
-(cd %{vfsdir}/%{vscandir}/oav;make)
-%endif
-%if %build_sophos
-echo "building sophos"
-(cd %{vfsdir}/%{vscandir}/sophos;make)
+pushd %{vfsdir}/%{vscandir}
+%configure
+#sed -i -e 's,openantivirus,oav,g' Makefile
+sed -i -e 's,^\(.*clamd socket name.*=\).*,\1 /var/lib/clamav/clamd.socket,g' clamav/vscan-clamav.conf
+make
+popd
%endif
+
+# Build antivirus vfs objects
%if %build_symantec
-echo "Building symantec"
-(cd %{vfsdir}/%{vscandir}/symantec;make)
-%endif
-%if %build_trend
-echo "Building Trend"
-(cd %{vfsdir}/%{vscandir}/trend;make)
+echo "Building Symantec"
+make -C %{vfsdir}/%{vscandir} symantec
%endif
%install
@@ -986,9 +1039,9 @@ mkdir -p $RPM_BUILD_ROOT/%{_datadir}
mkdir -p $RPM_BUILD_ROOT%{_libdir}/%{name}/vfs
(cd source
-make DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir}/%{name} install installclientlib installmodules)
+make DESTDIR=$RPM_BUILD_ROOT LIBDIR=%{_libdir}/%{name} MANDIR=%{_mandir} install installclientlib installmodules)
-install -m755 source/bin/editreg %{buildroot}/%{_bindir}
+install -m755 source/bin/{editreg,smbget} %{buildroot}/%{_bindir}
#need to stay
mkdir -p $RPM_BUILD_ROOT/{sbin,bin}
@@ -1020,23 +1073,10 @@ popd
# smbsh forgotten
#install -m 755 source/bin/smbsh $RPM_BUILD_ROOT%{_bindir}/
-# Install VFS modules
-#install -m755 %vfsdir/audit.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs
-#for i in block recycle
-#do
-# install -m755 %vfsdir/$i/$i.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs
-#done
-
-# Antivirus support:
-# mkdir -p $RPM_BUILD_ROOT%{_libdir}/samba/vfs/vscan
- for av in fprot kavp mks oav sophos symantec trend; do
- if [ -d %{vfsdir}/%{vscandir}/$av -a -e %{vfsdir}/%{vscandir}/$av/vscan-$av*.so ];then
- cp %{vfsdir}/%{vscandir}/$av/vscan-$av*.so \
- $RPM_BUILD_ROOT%{_libdir}/%{name}/vfs/
- cp %{vfsdir}/%{vscandir}/$av/vscan-$av*.conf \
- $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
- fi
- done
+%if %build_vscan
+%makeinstall_std -C %{vfsdir}/%{vscandir}
+install -m 644 %{vfsdir}/%{vscandir}/*/vscan-*.conf %{buildroot}/%{_sysconfdir}/%{name}
+%endif
#libnss_* not handled by make:
# Install the nsswitch library extension file
@@ -1162,6 +1202,7 @@ bzcat %{SOURCE5} > $RPM_BUILD_ROOT%{_iconsdir}/swat%{samba_major}.png
bzcat %{SOURCE6} > $RPM_BUILD_ROOT%{_miconsdir}/swat%{samba_major}.png
bzcat %{SOURCE10}> $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts/print-pdf
+bzcat %{SOURCE11}> $RPM_BUILD_ROOT%{_datadir}/%{name}/scripts/smb-migrate
# Fix configs when not building system samba:
@@ -1184,6 +1225,7 @@ do
fi
done
%endif
+rm -f %{buildroot}/sbin/mount.smbfs
# Link smbmount to /sbin/mount.smb and /sbin/mount.smbfs
#I don't think it's possible for make to do this ...
(cd $RPM_BUILD_ROOT/sbin
@@ -1225,6 +1267,33 @@ for i in %{_bindir}/pam_smbpass.so %{_bindir}/smbwrapper.so;do
rm -f %{buildroot}/$i
done
+# (sb) make a smb.conf.clean we can use for the merge, since an existing
+# smb.conf won't get overwritten
+cp $RPM_BUILD_ROOT/%{_sysconfdir}/%{name}/smb.conf $RPM_BUILD_ROOT/%{_datadir}/%{name}/smb.conf.clean
+
+# (sb) leave a README.mdk.conf to explain what has been done
+cat << EOF > $RPM_BUILD_ROOT/%{_datadir}/%{name}/README.mdk.conf
+In order to facilitate upgrading an existing samba install, and merging
+previous configuration data with any new syntax used by samba3, a merge
+script has attempted to combine your local configuration data with the
+new conf file format. The merged data is in smb.conf, with comments like
+
+ # *** merged from original smb.conf: ***
+
+near the additional entries. Any local shares should have been appended to
+smb.conf. A log of what took place should be in:
+
+ /var/log/samba/smb-migrate.log
+
+A clean samba3 smb.conf is in /usr/share/samba, named smb.conf.clean.
+Your original conf should be /etc/samba/smb.conf.tomerge.
+
+The actual merge script is /usr/share/samba/scripts/smb-migrate.
+
+Questions/issues: sbenedict@mandrakesoft.com
+
+EOF
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -1273,6 +1342,23 @@ fi
# And not loose our machine account SID
[ -f %{_sysconfdir}/MACHINE.SID ] && mv -f %{_sysconfdir}/MACHINE.SID %{_sysconfdir}/%{name}/ ||:
+%triggerpostun common -- samba-common < 3.0.1-3mdk
+# (sb) merge any existing smb.conf with new syntax file
+if [ $1 = 2 ]; then
+ # (sb) save existing smb.conf for merge
+ echo "Upgrade: copy smb.conf to smb.conf.tomerge for merging..."
+ cp -f %{_sysconfdir}/%{name}/smb.conf %{_sysconfdir}/%{name}/smb.conf.tomerge
+ echo "Upgrade: merging previous smb.conf..."
+ if [ -f %{_datadir}/%{name}/smb.conf.clean ]; then
+ cp %{_datadir}/%{name}/smb.conf.clean %{_sysconfdir}/%{name}/smb.conf
+ cp %{_datadir}/%{name}/README.mdk.conf %{_sysconfdir}/%{name}/
+ %{_datadir}/%{name}/scripts/smb-migrate commit
+ fi
+fi
+
+%postun common
+if [ -f %{_sysconfdir}/%{name}/README.mdk.conf ];then rm -f %{_sysconfdir}/%{name}/README.mdk.conf;fi
+
%if %build_winbind
%post winbind
if [ $1 = 1 ]; then
@@ -1385,23 +1471,14 @@ update-alternatives --auto smbclient
%files server
%defattr(-,root,root)
-#%attr(-,root,root) /sbin/*
%(for i in %{_sbindir}/{%{serversbin}}%{samba_major};do echo $i;done)
-#%{_sbindir}/%{name}
-#%{_sbindir}/smbd%{samba_major}
-#%{_sbindir}/nmbd%{samba_major}
-#%{_sbindir}/mkntpwd%{samba_major}
-#%{_sbindir}/wrepld%{samba_major}
%(for i in %{_bindir}/{%{serverbin}}%{samba_major};do echo $i;done)
-#%{_bindir}/smbcontrol%{samba_major}
-#%{_bindir}/smbstatus%{samba_major}
-#%{_bindir}/pdbedit%{samba_major}
-#%{_bindir}/tdbbackup%{samba_major}
-#%{_bindir}/profiles%{samba_major}
-#%{_bindir}/editreg%{samba_major}
%attr(755,root,root) /%{_lib}/security/pam_smbpass*
%dir %{_libdir}/%{name}/vfs
%{_libdir}/%{name}/vfs/*.so
+%if %build_vscan
+%exclude %{_libdir}/%{name}/vfs/vscan*.so
+%endif
%dir %{_libdir}/%{name}/pdb
%attr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/smbusers
@@ -1410,16 +1487,7 @@ update-alternatives --auto smbclient
%attr(-,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%attr(-,root,root) %config(noreplace) %{_sysconfdir}/pam.d/%{name}
#%attr(-,root,root) %config(noreplace) %{_sysconfdir}/%{name}/samba-slapd.include
-%{_mandir}/man1/smbstatus*.1*
-%{_mandir}/man5/smbpasswd*.5*
-%{_mandir}/man7/samba*.7*
-%{_mandir}/man8/smbd*.8*
-%{_mandir}/man8/nmbd*.8*
-%{_mandir}/man8/pdbedit*.8*
-%{_mandir}/man1/smbcontrol*.1*
-%{_mandir}/man8/tdbbackup*.8*
-%{_mandir}/man1/profiles*.1*
-%{_mandir}/man1/editreg*.1*
+%(for i in %{_mandir}/man?/{%{serverbin},%{serversbin}}%{samba_major}\.[0-9]*;do echo $i|grep -v mkntpwd;done)
%attr(775,root,adm) %dir %{_localstatedir}/%{name}/netlogon
%attr(755,root,root) %dir %{_localstatedir}/%{name}/profiles
%attr(755,root,root) %dir %{_localstatedir}/%{name}/printers
@@ -1475,6 +1543,8 @@ update-alternatives --auto smbclient
%defattr(-,root,root)
%(for i in %{_bindir}/{%{clientbin}}%{alternative_major};do echo $i;done)
%(for i in %{_mandir}/man?/{%{clientbin}}%{alternative_major}.?.*;do echo $i|grep -v smbprint;done)
+#xclude %{_mandir}/man?/smbget*
+%{_mandir}/man5/smbgetrc3.5*
%ifnarch alpha
%(for i in /sbin/{%{client_sbin}}%{alternative_major};do echo $i;done)
%attr(4755,root,root) /bin/mount.cifs%{alternative_major}
@@ -1515,6 +1585,9 @@ update-alternatives --auto smbclient
%{_mandir}/man5/lmhosts*.5*
#%{_mandir}/man7/Samba*.7*
%dir %{_datadir}/swat%{samba_major}
+%attr(0750,root,adm) %{_datadir}/%{name}/scripts/smb-migrate
+%attr(-,root,root) %{_datadir}/%{name}/smb.conf.clean
+%attr(-,root,root) %{_datadir}/%{name}/README.mdk.conf
%if %build_winbind
%files winbind
@@ -1584,11 +1657,29 @@ update-alternatives --auto smbclient
%{_libdir}/%{name}/pdb/*mysql.so
%endif
+#ifnarch alpha
+%files passdb-pgsql
+%defattr(-,root,root)
+%{_libdir}/%{name}/pdb/*pgsql.so
+#endif
+
%files passdb-xml
%defattr(-,root,root)
%{_libdir}/%{name}/pdb/*xml.so
#Files for antivirus support:
+%if %build_clamav
+%files vscan-clamav
+%defattr(-,root,root)
+%{_libdir}/%{name}/vfs/vscan-clamav.so
+%config(noreplace) %{_sysconfdir}/%{name}/vscan-clamav.conf
+%doc %{vfsdir}/%{vscandir}/INSTALL
+%endif
+%if !%build_clamav && %build_vscan
+%exclude %{_libdir}/%{name}/vfs/vscan-clamav.so
+%exclude %{_sysconfdir}/%{name}/vscan-clamav.conf
+%endif
+
%if %build_fprot
%files vscan-fprot
%defattr(-,root,root)
@@ -1596,6 +1687,35 @@ update-alternatives --auto smbclient
%config(noreplace) %{_sysconfdir}/%{name}/vscan-fprotd.conf
%doc %{vfsdir}/%{vscandir}/INSTALL
%endif
+%if !%build_fprot && %build_vscan
+%exclude %{_libdir}/%{name}/vfs/vscan-fprotd.so
+%exclude %{_sysconfdir}/%{name}/vscan-fprotd.conf
+%endif
+
+%if %build_fsav
+%files vscan-fsecure
+%defattr(-,root,root)
+%{_libdir}/%{name}/vfs/vscan-fsav.so
+%config(noreplace) %{_sysconfdir}/%{name}/vscan-fsav.conf
+%doc %{vfsdir}/%{vscandir}/INSTALL
+%endif
+%if !%build_fsav && %build_vscan
+%exclude %{_libdir}/%{name}/vfs/vscan-fsav.so
+%exclude %{_sysconfdir}/%{name}/vscan-fsav.conf
+%endif
+
+%if %build_icap
+%files vscan-icap
+%defattr(-,root,root)
+%{_libdir}/%{name}/vfs/vscan-icap.so
+%config(noreplace) %{_sysconfdir}/%{name}/vscan-icap.conf
+%doc %{vfsdir}/%{vscandir}/INSTALL
+%endif
+%if !%build_icap && %build_vscan
+%exclude %{_libdir}/%{name}/vfs/vscan-icap.so
+%exclude %{_sysconfdir}/%{name}/vscan-icap.conf
+%endif
+
%if %build_kaspersky
%files vscan-kaspersky
@@ -1604,6 +1724,10 @@ update-alternatives --auto smbclient
%config(noreplace) %{_sysconfdir}/%{name}/vscan-kavp.conf
%doc %{vfsdir}/%{vscandir}/INSTALL
%endif
+%if !%build_kaspersky && %build_vscan
+%exclude %{_libdir}/%{name}/vfs/vscan-kavp.so
+%exclude %{_sysconfdir}/%{name}/vscan-kavp.conf
+%endif
%if %build_mks
%files vscan-mks
@@ -1612,6 +1736,22 @@ update-alternatives --auto smbclient
%config(noreplace) %{_sysconfdir}/%{name}/vscan-mks*.conf
%doc %{vfsdir}/%{vscandir}/INSTALL
%endif
+%if !%build_mks && %build_vscan
+%exclude %{_libdir}/%{name}/vfs/vscan-mksd.so
+%exclude %{_sysconfdir}/%{name}/vscan-mks*.conf
+%endif
+
+%if %build_nai
+%files vscan-nai
+%defattr(-,root,root)
+%{_libdir}/%{name}/vfs/vscan-mcdaemon.so
+%config(noreplace) %{_sysconfdir}/%{name}/vscan-mcdaemon.conf
+%doc %{vfsdir}/%{vscandir}/INSTALL
+%endif
+%if !%build_nai && %build_vscan
+%exclude %{_libdir}/%{name}/vfs/vscan-mcdaemon.so
+%exclude %{_sysconfdir}/%{name}/vscan-mcdaemon.conf
+%endif
%if %build_openav
%files vscan-openav
@@ -1620,6 +1760,10 @@ update-alternatives --auto smbclient
%config(noreplace) %{_sysconfdir}/%{name}/vscan-oav.conf
%doc %{vfsdir}/%{vscandir}/INSTALL
%endif
+%if !%build_openav && %build_vscan
+%exclude %{_libdir}/%{name}/vfs/vscan-oav.so
+%exclude %{_sysconfdir}/%{name}/vscan-oav.conf
+%endif
%if %build_sophos
%files vscan-sophos
@@ -1628,6 +1772,10 @@ update-alternatives --auto smbclient
%config(noreplace) %{_sysconfdir}/%{name}/vscan-sophos.conf
%doc %{vfsdir}/%{vscandir}/INSTALL
%endif
+%if !%build_sophos && %build_vscan
+%exclude %{_libdir}/%{name}/vfs/vscan-sophos.so
+%exclude %{_sysconfdir}/%{name}/vscan-sophos.conf
+%endif
%if %build_symantec
%files vscan-symantec
@@ -1636,6 +1784,9 @@ update-alternatives --auto smbclient
%config(noreplace) %{_sysconfdir}/%{name}/vscan-symantec.conf
%doc %{vfsdir}/%{vscandir}/INSTALL
%endif
+%if !%build_symantec && %build_vscan
+%exclude %{_sysconfdir}/%{name}/vscan-symantec.conf
+%endif
%if %build_trend
%files vscan-trend
@@ -1644,10 +1795,76 @@ update-alternatives --auto smbclient
%config(noreplace) %{_sysconfdir}/%{name}/vscan-trend.conf
%doc %{vfsdir}/%{vscandir}/INSTALL
%endif
+%if !%build_trend && %build_vscan
+%exclude %{_libdir}/%{name}/vfs/vscan-trend.so
+%exclude %{_sysconfdir}/%{name}/vscan-trend.conf
+%endif
%exclude %{_mandir}/man1/smbsh*.1*
%changelog
+* Thu Aug 12 2004 Buchan Milne <bgmilne@linux-mandrake.com> 3.0.5-2mdk
+- 3.0.5
+- fix pid file location (#10666)
+- merge amd64 fixes (P7)
+- make pdf printer work again, and other misc fixes to default config
+
+* Sun Jun 20 2004 Oden Eriksson <oeriksson@mandrakesoft.com> 3.0.5-0.pre1.3mdk
+- fix rpm group in libsmbclient0-devel (Goetz Waschk)
+
+* Sat Jun 19 2004 Oden Eriksson <oeriksson@mandrakesoft.com> 3.0.5-0.pre1.2mdk
+- fix deps
+
+* Wed May 26 2004 Buchan Milne <bgmilne@linux-mandrake.com>3.0.5-0.pre1.1mdk
+- fix building without scanners
+- 3.0.5pre1 (and drop patch from CVS)
+
+* Fri May 21 2004 Buchan Milne <bgmilne@linux-mandrake.com> 3.0.4-3mdk
+- re-work scanner support
+
+* Thu May 13 2004 Buchan Milne <bgmilne@linux-mandrake.com> 3.0.4-2mdk
+- 3.0.4
+- Patch for winbind (from samba bug 1315)
+
+* Thu Apr 29 2004 Buchan Milne <bgmilne@linux-mandrake.com> 3.0.2a-4mdk
+- Fix samba-vscan (0.3.5), add clamav and icap, and build scanners by default
+- Fix default vscan-clamav config and add sample config for homes share
+- Add pgsql passdb backend
+
+* Mon Mar 01 2004 Buchan Milne <bgmilne@linux-mandrake.com> 3.0.2a-3mdk
+- Fix default smbldap config
+- Don't clobber smb.conf backup for no reason
+
+* Mon Feb 16 2004 Buchan Milne <bgmilne@linux-mandrake.com> 3.0.2a-2mdk
+- 3.0.2a
+- Only update smb.conf in upgrade from <3.0.1-3mdk (via trigger) and update
+ upgrade script (stew)
+
+* Mon Feb 09 2004 Buchan Milne <bgmilne@linux0mandrake.com> 3.0.2-2mdk
+- 3.0.2
+
+* Mon Feb 02 2004 Buchan Milne <bgmilne@linux-mandrake.com> 3.0.2-0.rc2.1mdk
+- 3.0.2rc2
+
+* Tue Jan 6 2004 Stew Benedict <sbenedict@mandrakesoft.com> 3.0.1-5mdk
+- update migrate script, feedback from Luca Berra
+
+* Mon Jan 5 2004 Stew Benedict <sbenedict@mandrakesoft.com> 3.0.1-4mdk
+- re-enable relaxed CFLAGS to fix broken smbmount, smbclient
+
+* Fri Jan 2 2004 Stew Benedict <sbenedict@mandrakesoft.com> 3.0.1-3mdk
+- add migrate script to merge existing smb.conf
+
+* Fri Dec 19 2003 Buchan Milne <bgmilne@linux-mandrake.com> 3.0.1-2mdk
+- 3.0.1 final
+
+* Thu Dec 11 2003 Buchan Milne <bgmilne@linux-mandrake.com> 3.0.1-0.rc2.2mdk
+- 3.0.1rc2
+
+* Sat Dec 06 2003 Buchan Milne <bgmilne@linux-mandrake.com> 3.0.1-0.rc1.2mdk
+- rc1
+- samba-vscan-0.3.4
+
* Fri Dec 05 2003 Buchan Milne <bgmilne@linux-mandrake.com> 3.0.1-0.pre3.5mdk
- Allow winbind to start if old winbind ranges are used (ease upgrades)
diff --git a/packaging/Mandrake/smb.conf b/packaging/Mandrake/smb.conf
index 6c1c05fa52..5f712fc1c7 100644
--- a/packaging/Mandrake/smb.conf
+++ b/packaging/Mandrake/smb.conf
@@ -129,10 +129,10 @@
# and gid's. winbind uid and winbind gid are the only required parameters.
#
# winbind uid is the range of uid's winbind can use when mapping RIDs to uid's
-; winbind uid = 10000-20000
+; idmap uid = 10000-20000
#
# winbind gid is the range of uid's winbind can use when mapping RIDs to gid's
-; winbind gid = 10000-20000
+; idmap gid = 10000-20000
#
# winbind separator is the character a user must use between their domain
# name and username, defaults to "\"
@@ -263,15 +263,10 @@
# Use the samba2 LDAP schema:
; passdb backend = ldapsam_compat:ldaps://ldap.mydomain.com smbpasswd guest
-# Idmap settings:
+# Idmap settings (set idmap uid and idmap gid above):
# Idmap backend to use:
; idmap backend = ldap:ldap://ldap.mydomain.com
-# This is a range of unix user-id's that samba will map non-unix RIDs to,
-# such as when using Winbind
-; idmap uid = 10000-20000
-; idmap gid = 10000-20000
-
# LDAP configuration for Domain Controlling:
# The account (dn) that samba uses to access the LDAP server
# This account needs to have write access to the LDAP tree
@@ -356,12 +351,14 @@
comment = Home Directories
browseable = no
writable = yes
-# You can enable VFS recycle bin on a per share basis:
-# Uncomment the next 2 lines (make sure you create a
-# .recycle folder in the base of the share and ensure
-# all users will have write access to it. See
-# examples/VFS/recycle/REAME in samba-doc for details
-; vfs object = /usr/lib/samba/vfs/recycle.so
+# You can enable VFS recycle bin and on-access virus-scanning on a per
+# share basis:
+# Uncomment the next 2 lines (make sure you create a .recycle folder in
+# the base of the share and ensure all users will have write access to it.
+# For virus scanning, install samba-vscan-clamav and ensure the clamd service
+# is running
+; vfs objects = vscan-clamav recycle
+; vscan-clamav: config-file = /etc/samba/vscan-clamav.conf
# Un-comment the following and create the netlogon directory for Domain Logons
; [netlogon]
@@ -373,7 +370,7 @@
#Uncomment the following 2 lines if you would like your login scripts to
#be created dynamically by ntlogon (check that you have it in the correct
#location (the default of the ntlogon rpm available in contribs)
-;root preexec = /usr/bin/ntlogon -u %U -g %G -o %a -d /var/lib/samba/netlogon
+;root preexec = /usr/bin/ntlogon -u %U -g %G -o %a -d /var/lib/samba/netlogon/
;root postexec = rm -f /var/lib/samba/netlogon/%U.bat
# Un-comment the following to provide a specific roving profile share
@@ -382,11 +379,15 @@
; path = /var/lib/samba/profiles
; browseable = no
; guest ok = yes
+; writable = yes
# This script can be enabled to create profile directories on the fly
# You may want to turn off guest acces if you enable this, as it
# hasn't been thoroughly tested.
;root preexec = PROFILE=/var/lib/samba/profiles/%u; if [ ! -e $PROFILE ]; \
; then mkdir -pm700 $PROFILE; chown %u.%g $PROFILE;fi
+# If you want read-only profiles, fake permissions so windows clients think
+# they have written to the files
+; vfs objects = fake_perms
# NOTE: If you have a CUPS print system there is no need to
# specifically define each individual printer.
@@ -445,8 +446,11 @@
guest ok = No
printable = Yes
comment = PDF Generator (only valid users)
+ printing = bsd
+ printcap name = lpstat
#print command = /usr/share/samba/scripts/print-pdf file path win_path recipient IP &
- print command = /usr/share/samba/scripts/print-pdf %s ~%u //%L/%u %m %I "%J" &
+ print command = /usr/share/samba/scripts/print-pdf %s %H //%L/%u %m %I "%J" &
+ lpq command = /bin/true
# This one is useful for people to share files
;[tmp]
diff --git a/packaging/Mandrake/winbind.init b/packaging/Mandrake/winbind.init
index 06e5b375d0..22bba6ece6 100644
--- a/packaging/Mandrake/winbind.init
+++ b/packaging/Mandrake/winbind.init
@@ -42,7 +42,7 @@ start() {
stop() {
echo -n "Shutting down Winbind services: "
RETVAL=1
- if [ "`grep -i 'winbind uid' /etc/samba/smb.conf | egrep -v [\#\;]`" -a "`grep -i 'idmap gid' /etc/samba/smb.conf | egrep -v [\#\;]`" ]; then
+ if [ "`grep -i -E '(idmap|winbind) uid' /etc/samba/smb.conf | egrep -v [\#\;]`" -a "`grep -i '(idmap|winbind) gid' /etc/samba/smb.conf | egrep -v [\#\;]`" ]; then
killproc winbindd
RETVAL=$?
fi