summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerald Carter <jerry@samba.org>2003-08-15 17:41:18 +0000
committerGerald Carter <jerry@samba.org>2003-08-15 17:41:18 +0000
commitf6a2f1019f2e6ac8b28892dd97431114c7ed0467 (patch)
tree71a397b79c1738ab5c84090a095d22e60bc1418b
parent0858c0a08bd1858bdf9ec4580bc5d47c581e5f2c (diff)
downloadsamba-f6a2f1019f2e6ac8b28892dd97431114c7ed0467.tar.gz
working on files for 3.0.0rc1
-rw-r--r--packaging/Debian/debian/patches/fhs.patch2
-rw-r--r--packaging/Debian/debian/patches/krb5-vars.patch51
-rw-r--r--packaging/Debian/debian/patches/smbstatus-locking.patch2
-rw-r--r--packaging/RedHat/samba.spec.tmpl31
-rw-r--r--packaging/RedHat/smb.conf2
-rw-r--r--packaging/RedHat/winbind.init9
-rwxr-xr-xpackaging/SGI/mkrelease.sh2
-rw-r--r--packaging/SuSE/samba-mutual-auth.diff247
-rwxr-xr-xpackaging/SuSE/samba-vscan-0.3.2b.tar.bz2bin0 -> 69479 bytes
-rw-r--r--packaging/SuSE/samba3-3.0.0-Makefiles-heimdal.diff22
-rw-r--r--packaging/SuSE/samba3-3.0.0-heimdal-06.diff14
-rw-r--r--packaging/SuSE/samba3-3.0.0-pdb.diff13
-rw-r--r--packaging/SuSE/samba3-Makefile.diff16
-rw-r--r--packaging/SuSE/samba3-com_err.diff60
-rw-r--r--packaging/SuSE/samba3-net_ads_password.diff58
-rw-r--r--packaging/SuSE/samba3-smbwrapper.diff11
-rw-r--r--packaging/SuSE/samba3-vscan.diff269
-rw-r--r--packaging/SuSE/samba3.spec1007
18 files changed, 1257 insertions, 559 deletions
diff --git a/packaging/Debian/debian/patches/fhs.patch b/packaging/Debian/debian/patches/fhs.patch
index b5c7c6c6768..865e8dfe0b8 100644
--- a/packaging/Debian/debian/patches/fhs.patch
+++ b/packaging/Debian/debian/patches/fhs.patch
@@ -368,7 +368,7 @@ diff -uNr samba-3.0.0beta2.orig/source/param/loadparm.c samba-3.0.0beta2/source/
char *szLockDir;
char *szPidDir;
char *szRootdir;
-@@ -1055,8 +1058,13 @@
+@@ -1074,8 +1077,13 @@
{"config file", P_STRING, P_GLOBAL, &Globals.szConfigFile, NULL, NULL, FLAG_HIDE},
{"preload", P_STRING, P_GLOBAL, &Globals.szAutoServices, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
{"auto services", P_STRING, P_GLOBAL, &Globals.szAutoServices, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
diff --git a/packaging/Debian/debian/patches/krb5-vars.patch b/packaging/Debian/debian/patches/krb5-vars.patch
index 28ee4855d84..d6eadfd91b1 100644
--- a/packaging/Debian/debian/patches/krb5-vars.patch
+++ b/packaging/Debian/debian/patches/krb5-vars.patch
@@ -486,7 +486,7 @@ diff -uNr samba-3.0.0beta2.orig/source/configure.in samba-3.0.0beta2/source/conf
# now check for gssapi headers. This is also done here to allow for
# different kerberos include paths
-@@ -2250,62 +2355,45 @@
+@@ -2250,64 +2365,46 @@
##################################################################
# we might need the k5crypto and com_err libraries on some systems
@@ -505,19 +505,8 @@ diff -uNr samba-3.0.0beta2.orig/source/configure.in samba-3.0.0beta2/source/conf
# Heimdal checks. On static Heimdal gssapi must be linked before krb5.
- AC_CHECK_LIB(gssapi, gss_display_status, [LIBS="$LIBS -lgssapi -lkrb5";
-- AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])])
+ AC_CHECK_LIB_EXT(gssapi, KRB5_LIBS, gss_display_status, [KRB5_LIBS="$KRB5_LIBS -lgssapi -lkrb5";
-+ AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])])
-+
-+ ########################################################
-+ # now see if we can find the krb5 libs in standard paths
-+ # or as specified above
-+ AC_CHECK_LIB_EXT(krb5, KRB5_LIBS, krb5_mk_req_extended)
-+
-+ ########################################################
-+ # now see if we can find the gssapi libs in standard paths
-+ AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS,gss_display_status,[],[],
-+ AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available]))
+ AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])])
- AC_CHECK_LIB(krb5, krb5_set_real_time,
- [AC_DEFINE(HAVE_KRB5_SET_REAL_TIME,1,
@@ -562,27 +551,41 @@ diff -uNr samba-3.0.0beta2.orig/source/configure.in samba-3.0.0beta2/source/conf
- AC_CHECK_LIB(krb5, krb5_free_ktypes,
- [AC_DEFINE(HAVE_KRB5_FREE_KTYPES,1,
- [Whether krb5_free_ktypes is available])])
+- AC_CHECK_LIB(krb5, krb5_principal_get_comp_string,
+- [AC_DEFINE(HAVE_KRB5_PRINCIPAL_GET_COMP_STRING,1,
+- [Whether krb5_principal_get_comp_string is available])])
++ ########################################################
++ # now see if we can find the krb5 libs in standard paths
++ # or as specified above
++ AC_CHECK_LIB_EXT(krb5, KRB5_LIBS, krb5_mk_req_extended)
++
++ ########################################################
++ # now see if we can find the gssapi libs in standard paths
++ AC_CHECK_LIB_EXT(gssapi_krb5, KRB5_LIBS,gss_display_status,[],[],
++ AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available]))
++
+ AC_CHECK_FUNC_EXT(krb5_set_real_time, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_set_default_in_tkt_etypes, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_set_default_tgs_ktypes, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_principal2salt, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_use_enctype, $KRB5_LIBS)
-+ AC_CHECK_FUNC_EXT(krb5_string_to_key, $KRB5_LIBS)
++ AC_CHECK_FUNC_EXT(krb5_string_to_key, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_get_pw_salt, $KRB5_LIBS)
-+ AC_CHECK_FUNC_EXT(krb5_string_to_key_salt, $KRB5_LIBS)
++ AC_CHECK_FUNC_EXT(krb5_string_to_key_salt, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_auth_con_setkey, $KRB5_LIBS)
-+ AC_CHECK_FUNC_EXT(krb5_auth_con_setuseruserkey, $KRB5_LIBS)
++ AC_CHECK_FUNC_EXT(krb5_auth_con_setuseruserkey, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_locate_kdc, $KRB5_LIBS)
-+ AC_CHECK_FUNC_EXT(krb5_get_permitted_enctypes, $KRB5_LIBS)
-+ AC_CHECK_FUNC_EXT(krb5_get_default_in_tkt_etypes, $KRB5_LIBS)
++ AC_CHECK_FUNC_EXT(krb5_get_permitted_enctypes, $KRB5_LIBS)
++ AC_CHECK_FUNC_EXT(krb5_get_default_in_tkt_etypes, $KRB5_LIBS)
+ AC_CHECK_FUNC_EXT(krb5_free_ktypes, $KRB5_LIBS)
-
++ AC_CHECK_FUNC_EXT(krb5_principal_get_comp_string, $KRB5_LIBS)
++
+ LIBS="$LIBS $KRB5_LIBS"
-+
- AC_CACHE_CHECK([for addrtype in krb5_address],
- samba_cv_HAVE_ADDRTYPE_IN_KRB5_ADDRESS,[
- AC_TRY_COMPILE([#include <krb5.h>],
-@@ -2365,87 +2453,21 @@
++
+ AC_CACHE_CHECK([for the krb5_princ_component macro],
+ samba_cv_HAVE_KRB5_PRINC_COMPONENT,[
+ AC_TRY_LINK([#include <krb5.h>],
+@@ -2380,87 +2468,21 @@
[Whether the ENCTYPE_ARCFOUR_HMAC_MD5 key type is available])
fi
diff --git a/packaging/Debian/debian/patches/smbstatus-locking.patch b/packaging/Debian/debian/patches/smbstatus-locking.patch
index fe720c8187f..8e60cc27a64 100644
--- a/packaging/Debian/debian/patches/smbstatus-locking.patch
+++ b/packaging/Debian/debian/patches/smbstatus-locking.patch
@@ -1,7 +1,7 @@
diff -uNr samba-2.999+3.0.alpha21.orig/source/utils/status.c samba-2.999+3.0.alpha21/source/utils/status.c
--- samba-2.999+3.0.alpha21.orig/source/utils/status.c 2002-11-26 20:54:22.000000000 -0600
+++ samba-2.999+3.0.alpha21/source/utils/status.c 2002-12-16 23:37:14.000000000 -0600
-@@ -635,6 +635,16 @@
+@@ -634,6 +634,16 @@
if (!shares_only) {
int ret;
diff --git a/packaging/RedHat/samba.spec.tmpl b/packaging/RedHat/samba.spec.tmpl
index 4c5a480a27e..6c6bafe5faf 100644
--- a/packaging/RedHat/samba.spec.tmpl
+++ b/packaging/RedHat/samba.spec.tmpl
@@ -7,7 +7,7 @@ Group: Networking
Source: http://download.samba.org/samba/ftp/samba-%{version}.tar.bz2
Packager: Gerald Carter [Samba-Team] <jerry@samba.org>
Requires: pam >= 0.72 kernel >= 2.2.1 glibc >= 2.1.2
-Prereq: chkconfig fileutils
+Prereq: chkconfig fileutils /sbin/ldconfig
Provides: samba = %{version}
Obsoletes: samba-common, samba-client, samba-swat
BuildRoot: %{_tmppath}/%{name}-%{version}-root
@@ -94,7 +94,7 @@ mkdir -p $RPM_BUILD_ROOT%{prefix}/{lib,include}
# Install standard binary files
for i in nmblookup smbclient smbpasswd smbstatus testparm testprns \
rpcclient smbspool smbcacls smbcontrol wbinfo smbmnt net \
- smbcacls pdbedit tdbbackup smbtree
+ smbcacls pdbedit tdbbackup smbtree ntlm_auth
do
install -m755 source/bin/$i $RPM_BUILD_ROOT%{prefix}/bin
done
@@ -123,7 +123,7 @@ make DESTDIR=$RPM_BUILD_ROOT \
LIBDIR=%{prefix}/lib/samba \
VARDIR=/var \
SBINDIR=%{prefix}/sbin \
- BINDIR=$%{prefix}/bin \
+ BINDIR=%{prefix}/bin \
MANDIR=MANDIR_MACRO \
SWATDIR=%{prefix}/share/swat \
SAMBABOOK=%{prefix}/share/swat/using_samba \
@@ -147,20 +147,6 @@ install -m 755 source/bin/libsmbclient.so $RPM_BUILD_ROOT%{prefix}/lib/
install -m 755 source/bin/libsmbclient.a $RPM_BUILD_ROOT%{prefix}/lib/
install -m 644 source/include/libsmbclient.h $RPM_BUILD_ROOT%{prefix}/include/
-# Install SWAT helper files
-#for i in swat/help/*.html docs/htmldocs/*.html
-#do
-# install -m644 $i $RPM_BUILD_ROOT%{prefix}/share/swat/help
-#done
-#for i in swat/images/*.gif
-#do
-# install -m644 $i $RPM_BUILD_ROOT%{prefix}/share/swat/images
-#done
-#for i in swat/include/*.html
-#do
-# install -m644 $i $RPM_BUILD_ROOT%{prefix}/share/swat/include
-#done
-
# Install the miscellany
install -m755 swat/README $RPM_BUILD_ROOT%{prefix}/share/swat/README
install -m755 packaging/RedHat/smbprint $RPM_BUILD_ROOT%{prefix}/bin
@@ -287,15 +273,13 @@ else
rm -f /etc/samba/samba.stack
fi
-# Create winbind nss client symlink
-
-if [ -e /lib/libnss_winbind.so ]; then
- ln -sf /lib/libnss_winbind.so /lib/libnss_winbind.so.2
-fi
+## call ldconfig to create the version symlink for libsmbclient.so
+/sbin/ldconfig
%preun
if [ $1 = 0 ] ; then
/sbin/chkconfig --del smb
+ /sbin/chkconfig --del winbind
# We want to remove the browse.dat and wins.dat files so they can not interfer with a new version of samba!
if [ -e /var/cache/samba/browse.dat ]; then
@@ -366,6 +350,8 @@ if [ $1 = 0 ] ; then
fi
fi
+/sbin/ldconfig
+
%files
%defattr(-,root,root)
%doc README COPYING Manifest Read-Manifest-Now
@@ -399,6 +385,7 @@ fi
%{prefix}/bin/smbcontrol
%{prefix}/bin/wbinfo
%{prefix}/bin/net
+%{prefix}/bin/ntlm_auth
%{prefix}/bin/smbcacls
%{prefix}/bin/pdbedit
%{prefix}/bin/tdbbackup
diff --git a/packaging/RedHat/smb.conf b/packaging/RedHat/smb.conf
index 71ff9463884..5786ec5d04a 100644
--- a/packaging/RedHat/smb.conf
+++ b/packaging/RedHat/smb.conf
@@ -66,7 +66,7 @@
; smb passwd file = /etc/samba/smbpasswd
# The following are needed to allow password changing from Windows to
-# update the Linux sytsem password also.
+# update the Linux system password also.
# NOTE: Use these with 'encrypt passwords' and 'smb passwd file' above.
# NOTE2: You do NOT need these to allow workstations to change only
# the encrypted SMB passwords. They allow the Unix password
diff --git a/packaging/RedHat/winbind.init b/packaging/RedHat/winbind.init
index 17ddbd502b3..e5680726e78 100644
--- a/packaging/RedHat/winbind.init
+++ b/packaging/RedHat/winbind.init
@@ -19,16 +19,11 @@ fi
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
+CONFIG=/etc/samba/smb.conf
+
# Check that smb.conf exists.
[ -f $CONFIG ] || exit 0
-RETVAL=0
-
-CONFIG=/usr/local/samba/lib/smb.conf
-PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/samba/sbin:/usr/local/samba/bin
-export PATH
-
-
start() {
echo -n "Starting Winbind services: "
RETVAL=1
diff --git a/packaging/SGI/mkrelease.sh b/packaging/SGI/mkrelease.sh
index 6ba486c673f..89854300aaf 100755
--- a/packaging/SGI/mkrelease.sh
+++ b/packaging/SGI/mkrelease.sh
@@ -114,6 +114,8 @@ if [ $errstat -ne 0 ]; then
echo "Error $errstat creating samba.idb\n";
exit $errstat;
fi
+sort +4 samba.idb > xxx
+mv xxx samba.idb
if [ ! -d bins ]; then
mkdir bins
diff --git a/packaging/SuSE/samba-mutual-auth.diff b/packaging/SuSE/samba-mutual-auth.diff
new file mode 100644
index 00000000000..865f91682a3
--- /dev/null
+++ b/packaging/SuSE/samba-mutual-auth.diff
@@ -0,0 +1,247 @@
+--- source/configure.in 22 Feb 2003 12:19:18 -0000 1.409
++++ source/configure.in 24 Feb 2003 06:04:25 -0000
+@@ -627,6 +627,15 @@
+ fi
+
+ ############################################
++# support for using Kerberos keytab instead of secrets database
++
++AC_ARG_ENABLE(keytab,
++[ --enable-keytab Turn on support for Kerberos keytabs in lieu of secrets DB (default=no)],
++ [if eval "test x$enable_keytab = xyes"; then
++ AC_DEFINE(USE_KEYTAB,1,[Use Kerberos keytab])
++ fi])
++
++############################################
+ # we need dlopen/dlclose/dlsym/dlerror for PAM, the password database plugins and the plugin loading code
+ AC_SEARCH_LIBS(dlopen, [dl])
+ # dlopen/dlclose/dlsym/dlerror will be checked again later and defines will be set then
+--- source/passdb/secrets.c 1 Feb 2003 04:39:15 -0000 1.54
++++ source/passdb/secrets.c 24 Feb 2003 06:04:26 -0000
+@@ -221,6 +221,72 @@
+ return True;
+ }
+
++#ifdef USE_KEYTAB
++/************************************************************************
++ Read local secret from the keytab
++************************************************************************/
++
++static BOOL secrets_fetch_keytab_password(uint8 ret_pwd[16], time_t *pass_last_set_time)
++{
++ char spn[MAXHOSTNAMELEN + 2], *p;
++ krb5_context context;
++ krb5_error_code ret;
++ krb5_principal princ;
++ krb5_keyblock *key;
++
++ ret = krb5_init_context(&context);
++ if (ret) {
++ DEBUG(1, ("secrets_fetch_keytab_password: failed to initialize Kerberos context\n"));
++ return False;
++ }
++
++ spn[sizeof(spn) - 1] = '\0';
++ if (gethostname(spn, sizeof(spn) - 2) < 0) {
++ DEBUG(1, ("secrets_fetch_keytab_password: could not determine local hostname\n"));
++ krb5_free_context(context);
++ return False;
++ }
++
++ for (p = spn; *p && *p != '.'; p++)
++ *p = toupper(*p);
++ *p++ = '$';
++ *p = '\0';
++
++ ret = krb5_parse_name(context, spn, &princ);
++ if (ret) {
++ DEBUG(1, ("secrets_fetch_keytab_password: failed to parse name %s\n", spn));
++ krb5_free_context(context);
++ return False;
++ }
++
++#ifdef ENCTYPE_ARCFOUR_HMAC
++ ret = krb5_kt_read_service_key(context, NULL, princ, 0, ENCTYPE_ARCFOUR_HMAC, &key);
++#elif defined(HAVE_ENCTYPE_ARCFOUR_HMAC_MD5)
++ ret = krb5_kt_read_service_key(context, NULL, princ, 0, ENCTYPE_ARCFOUR_HMAC_MD5, &key);
++#else
++#error ENCTYPE_ARCFOUR_HMAC or ENCTYPE_ARCFOUR_HMAC_MD5 required for keytab secret storage
++#endif
++ if (ret) {
++ DEBUG(1, ("secrets_fetch_keytab_password: failed to read secret for %s\n", spn));
++ krb5_free_context(context);
++ return False;
++ }
++ if (key->keyvalue.length != 16) {
++ DEBUG(1, ("secrets_fetch_keytab_password: key is incorrect length\n"));
++ krb5_free_context(context);
++ return False;
++ }
++
++ memcpy(ret_pwd, key->keyvalue.data, key->keyvalue.length);
++ time(pass_last_set_time); /* XXX */
++
++ krb5_free_keyblock(context, key);
++ krb5_free_context(context);
++
++ return True;
++}
++#endif /* USE_KEYTAB */
++
+ /************************************************************************
+ Routine to get the trust account password for a domain.
+ The user of this function must have locked the trust password file using
+@@ -243,6 +309,12 @@
+ pass_last_set_time = 0;
+ return True;
+ }
++
++#ifdef USE_KEYTAB
++ if (is_myworkgroup(domain)) {
++ return secrets_fetch_keytab_password(ret_pwd, pass_last_set_time);
++ }
++#endif /* USE_KEYTAB */
+
+ if (!(pass = secrets_fetch(trust_keystr(domain), &size))) {
+ DEBUG(5, ("secrets_fetch failed!\n"));
+
+--- source/libsmb/clikrb5.c 2003-07-02 00:32:55.000000000 +0200
++++ source/libsmb/clikrb5.c 2003-07-02 00:37:22.000000000 +0200
+@@ -316,11 +316,13 @@
+ krb5_enctype enc_types[] = {
+ #ifdef ENCTYPE_ARCFOUR_HMAC
+ ENCTYPE_ARCFOUR_HMAC,
++#elif defined(HAVE_ENCTYPE_ARCFOUR_HMAC_MD5)
++ ENCTYPE_ARCFOUR_HMAC_MD5,
+ #endif
+ ENCTYPE_DES_CBC_MD5,
+ ENCTYPE_DES_CBC_CRC,
+ ENCTYPE_NULL};
+-
++
+ retval = krb5_init_context(&context);
+ if (retval) {
+ DEBUG(1,("krb5_init_context failed (%s)\n",
+@@ -367,24 +369,26 @@
+
+ BOOL get_krb5_smb_session_key(krb5_context context, krb5_auth_context auth_context, uint8 session_key[16])
+ {
+-#ifdef ENCTYPE_ARCFOUR_HMAC
+ krb5_keyblock *skey;
+-#endif
+ BOOL ret = False;
+
+ memset(session_key, 0, 16);
+
+-#ifdef ENCTYPE_ARCFOUR_HMAC
++#if defined(ENCTYPE_ARCFOUR_HMAC) || defined(HAVE_ENCTYPE_ARCFOUR_HMAC_MD5)
+ if (krb5_auth_con_getremotesubkey(context, auth_context, &skey) == 0 && skey != NULL) {
+ if (KRB5_KEY_TYPE(skey) ==
++# ifdef ENCTYPE_ARCFOUR_HMAC
+ ENCTYPE_ARCFOUR_HMAC
++# else
++ ENCTYPE_ARCFOUR_HMAC_MD5
++# endif /* ENCTYPE_ARCFOUR_HMAC */
+ && KRB5_KEY_LENGTH(skey) == 16) {
+ memcpy(session_key, KRB5_KEY_DATA(skey), KRB5_KEY_LENGTH(skey));
+ ret = True;
+ }
+ krb5_free_keyblock(context, skey);
+ }
+-#endif /* ENCTYPE_ARCFOUR_HMAC */
++#endif /* ENCTYPE_ARCFOUR_HMAC || HAVE_ENCTYPE_ARCFOUR_HMAC_MD5 */
+
+ return ret;
+ }
+@@ -395,5 +399,12 @@
+ DEBUG(0,("NO KERBEROS SUPPORT\n"));
+ return data_blob(NULL, 0);
+ }
++BOOL krb5_get_smb_session_key(krb5_context context, krb5_auth_context ac, uint8 session_key[16])
++ {
++ DEBUG(0,("NO KERBEROS SUPPORT\n"));
++ memset(session_key, 0, 16);
++ return False;
++ }
++ //#endif
+
+ #endif
+--- source/libads/kerberos_verify.c 2003-06-28 23:40:55.000000000 +0200
++++ source/libads/kerberos_verify.c 2003-07-02 00:50:13.000000000 +0200
+@@ -38,7 +38,9 @@
+ krb5_keytab keytab = NULL;
+ krb5_data packet;
+ krb5_ticket *tkt = NULL;
+- int ret, i;
++ int ret;
++#ifndef USE_KEYTAB
++ int i;
+ krb5_keyblock * key;
+ krb5_principal host_princ;
+ char *host_princ_s;
+@@ -46,8 +48,10 @@
+ char *password_s;
+ krb5_data password;
+ krb5_enctype *enctypes = NULL;
++#endif /* USE_KEYTAB */
+ BOOL auth_ok = False;
+
++#ifndef USE_KEYTAB
+ if (!secrets_init()) {
+ DEBUG(1,("secrets_init failed\n"));
+ return NT_STATUS_LOGON_FAILURE;
+@@ -61,6 +65,7 @@
+
+ password.data = password_s;
+ password.length = strlen(password_s);
++#endif /* USE_KEYTAB */
+
+ ret = krb5_init_context(&context);
+ if (ret) {
+@@ -82,7 +87,16 @@
+ DEBUG(1,("krb5_auth_con_init failed (%s)\n", error_message(ret)));
+ return NT_STATUS_LOGON_FAILURE;
+ }
++#ifdef USE_KEYTAB
++ packet.length = ticket->length;
++ packet.data = (krb5_pointer)ticket->data;
+
++ if (!(ret = krb5_rd_req(context, &auth_context, &packet,
++ NULL, keytab, NULL, &tkt))) {
++ auth_ok = True;
++ }
++
++#else
+ fstrcpy(myname, global_myname());
+ strlower(myname);
+ asprintf(&host_princ_s, "HOST/%s@%s", myname, lp_realm());
+@@ -121,6 +135,9 @@
+ }
+ }
+
++ SAFE_FREE(key);
++#endif /* USE_KEYTAB */
++
+ if (!auth_ok) {
+ DEBUG(3,("krb5_rd_req with auth failed (%s)\n",
+ error_message(ret)));
+--- source/Makefile.in 2003-07-01 23:35:49.000000000 +0200
++++ source/Makefile.in 2003-07-02 01:20:09.000000000 +0200
+@@ -806,7 +806,7 @@
+
+ bin/pdbedit@EXEEXT@: $(PDBEDIT_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+- @$(CC) $(FLAGS) -o $@ $(IDMAP_LIBS) $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@ $(PASSDBLIBS)
++ @$(CC) $(FLAGS) -o $@ $(IDMAP_LIBS) $(PDBEDIT_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@ $(PASSDBLIBS) $(KRB5LIBS)
+
+ bin/samtest@EXEEXT@: $(SAMTEST_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+@@ -1062,7 +1062,7 @@
+
+ bin/wbinfo@EXEEXT@: $(WBINFO_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+- @$(LINK) -o $@ $(WBINFO_OBJ) $(LIBS) @POPTLIBS@
++ @$(LINK) -o $@ $(WBINFO_OBJ) $(LIBS) @POPTLIBS@ $(KRB5LIBS)
+
+ bin/ntlm_auth@EXEEXT@: $(NTLM_AUTH_OBJ) $(PARAM_OBJ) $(LIB_OBJ) \
+ $(UBIQX_OBJ) @BUILD_POPT@ bin/.dummy
diff --git a/packaging/SuSE/samba-vscan-0.3.2b.tar.bz2 b/packaging/SuSE/samba-vscan-0.3.2b.tar.bz2
new file mode 100755
index 00000000000..2680bed82f0
--- /dev/null
+++ b/packaging/SuSE/samba-vscan-0.3.2b.tar.bz2
Binary files differ
diff --git a/packaging/SuSE/samba3-3.0.0-Makefiles-heimdal.diff b/packaging/SuSE/samba3-3.0.0-Makefiles-heimdal.diff
new file mode 100644
index 00000000000..13da47e7409
--- /dev/null
+++ b/packaging/SuSE/samba3-3.0.0-Makefiles-heimdal.diff
@@ -0,0 +1,22 @@
+--- examples/pdb/Makefile Thu Sep 5 02:11:41 2002
++++ examples/pdb/Makefile Thu Sep 5 02:11:59 2002
+@@ -8,7 +8,7 @@
+ SAMBA_INCL = ../../source/include
+ UBIQX_SRC = ../../source/ubiqx
+ SMBWR_SRC = ../../source/smbwrapper
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -Wall -g
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -Wall -g -I/usr/include/heimdal
+ PDB_OBJS = pdb_test.so
+
+ # Default target
+--- examples/VFS/Makefile.in 2003-06-04 15:13:41.000000000 +0200
++++ examples/VFS/Makefile.in 2003-06-04 22:07:03.000000000 +0200
+@@ -7,7 +7,7 @@
+ SAMBA_SOURCE = @SAMBA_SOURCE@
+ SHLIBEXT = @SHLIBEXT@
+ OBJEXT = @OBJEXT@
+-FLAGS = $(CFLAGS) -Iinclude -I$(SAMBA_SOURCE)/include -I$(SAMBA_SOURCE)/ubiqx -I$(SAMBA_SOURCE)/smbwrapper -I. $(CPPFLAGS) -I$(SAMBA_SOURCE)
++FLAGS = $(CFLAGS) -Iinclude -I$(SAMBA_SOURCE)/include -I$(SAMBA_SOURCE)/ubiqx -I$(SAMBA_SOURCE)/smbwrapper -I. $(CPPFLAGS) -I$(SAMBA_SOURCE) -I/usr/include/heimdal
+
+
+ prefix = @prefix@
diff --git a/packaging/SuSE/samba3-3.0.0-heimdal-06.diff b/packaging/SuSE/samba3-3.0.0-heimdal-06.diff
new file mode 100644
index 00000000000..87dd3e1824c
--- /dev/null
+++ b/packaging/SuSE/samba3-3.0.0-heimdal-06.diff
@@ -0,0 +1,14 @@
+--- source/include/ads.h 2003-06-10 08:51:03.000000000 +0200
++++ source/include/ads.h 2003-06-22 23:14:24.000000000 +0200
+@@ -215,9 +215,11 @@
+ #define ENCTYPE_ARCFOUR_HMAC ENCTYPE_ARCFOUR_HMAC_MD5
+ #endif
+
++#if 0
+ /* The older versions of heimdal that don't have this
+ define don't seem to use it anyway. I'm told they
+ always use a subkey */
+ #ifndef AP_OPTS_USE_SUBKEY
+ #define AP_OPTS_USE_SUBKEY 0
+ #endif
++#endif
diff --git a/packaging/SuSE/samba3-3.0.0-pdb.diff b/packaging/SuSE/samba3-3.0.0-pdb.diff
new file mode 100644
index 00000000000..0c811b57c52
--- /dev/null
+++ b/packaging/SuSE/samba3-3.0.0-pdb.diff
@@ -0,0 +1,13 @@
+--- examples/pdb/pdb_test.c 26 Sep 2002 18:37:54 -0000 1.1.2.3
++++ examples/pdb/pdb_test.c 22 Apr 2003 20:06:31 -0000
+@@ -142,8 +142,6 @@
+ int init_module(void);
+
+ int init_module() {
+- if(smb_register_passdb("testsam", testsam_init, PASSDB_INTERFACE_VERSION))
+- return 0;
+-
+- return 1;
++ smb_register_passdb(PASSDB_INTERFACE_VERSION, "testsam", testsam_init);
++ return True;
+ }
diff --git a/packaging/SuSE/samba3-Makefile.diff b/packaging/SuSE/samba3-Makefile.diff
new file mode 100644
index 00000000000..bc1ad142d9f
--- /dev/null
+++ b/packaging/SuSE/samba3-Makefile.diff
@@ -0,0 +1,16 @@
+--- source/Makefile.in 2003-04-23 10:43:06.000000000 +0200
++++ source/Makefile.in 2003-04-23 10:45:39.000000000 +0200
+@@ -673,6 +673,13 @@
+ @echo "Using FLAGS = $(FLAGS)"
+ @echo " FLAGS32 = $(FLAGS32)"
+ @echo " LIBS = $(LIBS)"
++ @echo " TERMLIBS = $(TERMLIBS)"
++ @echo " PRINTLIBS = $(PRINTLIBS)"
++ @echo " AUTHLIBS = $(AUTHLIBS)"
++ @echo " ACLLIBS = $(ACLLIBS)"
++ @echo " PASSDBLIBS = $(PASSDBLIBS)"
++ @echo " ADSLIBS = $(ADSLIBS)"
++ @echo " KRB5LIBS = $(KRB5_LIBS)"
+ @echo " LDSHFLAGS = $(LDSHFLAGS)"
+ @echo " LDFLAGS = $(LDFLAGS)"
+
diff --git a/packaging/SuSE/samba3-com_err.diff b/packaging/SuSE/samba3-com_err.diff
new file mode 100644
index 00000000000..c5d04cebe19
--- /dev/null
+++ b/packaging/SuSE/samba3-com_err.diff
@@ -0,0 +1,60 @@
+--- source/libads/kerberos.c 23 Oct 2002 00:02:26 -0000 1.18
++++ source/libads/kerberos.c 1 Jul 2003 21:30:17 -0000
+@@ -126,6 +126,7 @@
+ return KRB5_LIBOS_CANTREADPWD;
+ }
+
++ initialize_krb5_error_table();
+ ret = kerberos_kinit_password(s, ads->auth.password, ads->auth.time_offset);
+
+ if (ret) {
+--- source/libads/kerberos_verify.c 6 Jun 2003 14:53:22 -0000 1.10.2.1
++++ source/libads/kerberos_verify.c 1 Jul 2003 21:30:17 -0000
+@@ -62,6 +62,7 @@
+ password.data = password_s;
+ password.length = strlen(password_s);
+
++ initialize_krb5_error_table();
+ ret = krb5_init_context(&context);
+ if (ret) {
+ DEBUG(1,("krb5_init_context failed (%s)\n", error_message(ret)));
+--- source/libads/krb5_setpw.c 6 Jun 2003 14:53:22 -0000 1.16.2.1
++++ source/libads/krb5_setpw.c 1 Jul 2003 21:30:17 -0000
+@@ -470,6 +470,7 @@
+ krb5_creds creds, *credsp;
+ krb5_ccache ccache;
+
++ initialize_krb5_error_table();
+ ret = krb5_init_context(&context);
+ if (ret) {
+ DEBUG(1,("Failed to init krb5 context (%s)\n", error_message(ret)));
+@@ -584,6 +585,7 @@
+ krb5_creds creds;
+ char *chpw_princ = NULL, *password;
+
++ initialize_krb5_error_table();
+ ret = krb5_init_context(&context);
+ if (ret) {
+ DEBUG(1,("Failed to init krb5 context (%s)\n", error_message(ret)));
+--- source/libsmb/clikrb5.c 1 Jul 2003 14:40:37 -0000 1.36.2.2
++++ source/libsmb/clikrb5.c 1 Jul 2003 21:30:20 -0000
+@@ -320,7 +320,8 @@
+ ENCTYPE_DES_CBC_MD5,
+ ENCTYPE_DES_CBC_CRC,
+ ENCTYPE_NULL};
+-
++
++ initialize_krb5_error_table();
+ retval = krb5_init_context(&context);
+ if (retval) {
+ DEBUG(1,("krb5_init_context failed (%s)\n",
+--- source/utils/net_lookup.c 1 Jul 2003 14:40:47 -0000 1.8.2.1
++++ source/utils/net_lookup.c 1 Jul 2003 21:30:24 -0000
+@@ -177,6 +177,7 @@
+ krb5_data realm;
+ char **realms;
+
++ initialize_krb5_error_table();
+ rc = krb5_init_context(&ctx);
+ if (rc) {
+ DEBUG(1,("krb5_init_context failed (%s)\n",
diff --git a/packaging/SuSE/samba3-net_ads_password.diff b/packaging/SuSE/samba3-net_ads_password.diff
new file mode 100644
index 00000000000..cc800fb7bfd
--- /dev/null
+++ b/packaging/SuSE/samba3-net_ads_password.diff
@@ -0,0 +1,58 @@
+Index: source/utils/net_ads.c
+===================================================================
+RCS file: /cvsroot/samba/source/utils/net_ads.c,v
+retrieving revision 1.37.2.22
+diff -u -r1.37.2.22 net_ads.c
+--- source/utils/net_ads.c 10 Jun 2003 04:15:55 -0000 1.37.2.22
++++ source/utils/net_ads.c 20 Jun 2003 19:59:36 -0000
+@@ -44,9 +44,9 @@
+ "\n\tdump the machine account details to stdout\n"
+ "\nnet ads lookup"\
+ "\n\tperform a CLDAP search on the server\n"
+-"\nnet ads password <username@realm> -Uadmin_username@realm%%admin_pass"\
++"\nnet ads password <username@realm> <password> -Uadmin_username@realm%%admin_pass"\
+ "\n\tchange a user's password using an admin account"\
+-"\n\t(note: use realm in UPPERCASE)\n"\
++"\n\t(note: use realm in UPPERCASE, prompts if password is obmitted)\n"\
+ "\nnet ads changetrustpw"\
+ "\n\tchange the trust account password of this machine in the AD tree\n"\
+ "\nnet ads printer [info | publish | remove] <printername> <servername>"\
+@@ -909,7 +909,7 @@
+ }
+
+
+- if (argc != 1) {
++ if (argc < 1) {
+ d_printf("ERROR: You must say which username to change password for\n");
+ return -1;
+ }
+@@ -941,22 +941,24 @@
+ return -1;
+ }
+
+- asprintf(&prompt, "Enter new password for %s:", user);
+-
+- new_password = getpass(prompt);
++ if (argv[1]) {
++ new_password = (char *)argv[1];
++ } else {
++ asprintf(&prompt, "Enter new password for %s:", user);
++ new_password = getpass(prompt);
++ free(prompt);
++ }
+
+ ret = kerberos_set_password(ads->auth.kdc_server, auth_principal,
+ auth_password, user, new_password, ads->auth.time_offset);
+ if (!ADS_ERR_OK(ret)) {
+ d_printf("Password change failed :-( ...\n");
+ ads_destroy(&ads);
+- free(prompt);
+ return -1;
+ }
+
+ d_printf("Password change for %s completed.\n", user);
+ ads_destroy(&ads);
+- free(prompt);
+
+ return 0;
+ }
diff --git a/packaging/SuSE/samba3-smbwrapper.diff b/packaging/SuSE/samba3-smbwrapper.diff
new file mode 100644
index 00000000000..0f7b391de0d
--- /dev/null
+++ b/packaging/SuSE/samba3-smbwrapper.diff
@@ -0,0 +1,11 @@
+--- source/smbwrapper/smbsh.c.orig 2003-05-04 19:47:39.000000000 +0200
++++ source/smbwrapper/smbsh.c 2003-05-04 19:47:47.000000000 +0200
+@@ -36,7 +36,7 @@
+ int main(int argc, char *argv[])
+ {
+ char *p, *u;
+- const char *libd = dyn_BINDIR;
++ const char *libd = dyn_LIBDIR;
+ pstring line, wd;
+ int opt;
+ extern char *optarg;
diff --git a/packaging/SuSE/samba3-vscan.diff b/packaging/SuSE/samba3-vscan.diff
new file mode 100644
index 00000000000..330b470af2c
--- /dev/null
+++ b/packaging/SuSE/samba3-vscan.diff
@@ -0,0 +1,269 @@
+--- examples/VFS/samba-vscan-0.3.2b/fprot/Makefile 2003-01-14 00:42:15.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/fprot/Makefile 2003-04-09 20:21:37.000000000 +0200
+@@ -14,7 +14,7 @@
+ SMBWR_SRC = ../../../../source/smbwrapper
+ SMBVS_INCL = ../include
+ SMBVS_GLB = ../global
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/usr/include/heimdal
+ VFS_OBJS = vscan-fprotd.so
+ SOURCES = $(SMBVS_GLB)/vscan-functions.c $(SMBVS_GLB)/vscan-message.c $(SMBVS_GLB)/vscan-quarantine.c $(SMBVS_GLB)/vscan-fileaccesslog.c vscan-fprotd.c vscan-fprotd_core.c vscan-fprotd.h vscan-fprotd_core.h
+ OBJS = vscan-functions.lo vscan-message.lo vscan-quarantine.lo vscan-fileaccesslog.lo vscan-fprotd.lo vscan-fprotd_core.lo
+--- examples/VFS/samba-vscan-0.3.2b/fprot/vscan-fprotd.c 2003-02-21 21:37:44.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/fprot/vscan-fprotd.c 2003-04-09 20:25:25.000000000 +0200
+@@ -432,14 +432,14 @@
+ rc = vscan_do_infected_file_action(&default_vfs_ops, conn, filepath, quarantine_dir, quarantine_prefix, infected_file_action);
+
+ /* add/update file. mark file as infected! */
+- lrufiles_add(filepath, stat_buf.st_mtime, TRUE);
++ lrufiles_add(filepath, stat_buf.st_mtime, True);
+
+ /* virus found, deny acces */
+ errno = EACCES;
+ return -1;
+ } else if ( retval == 0 ) {
+ /* file is clean, add to lrufiles */
+- lrufiles_add(filepath, stat_buf.st_mtime, FALSE);
++ lrufiles_add(filepath, stat_buf.st_mtime, False);
+ }
+ }
+
+--- examples/VFS/samba-vscan-0.3.2b/fprot/vscan-fprotd_core.c 2003-01-25 18:40:57.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/fprot/vscan-fprotd_core.c 2003-04-09 20:23:31.000000000 +0200
+@@ -110,7 +110,7 @@
+ pstring fprotdCommand; /* the command line to be send to daemon */
+ char *str;
+ FILE *fpin, *fpout;
+- bool received_data = FALSE; /* indicates, if any response from deamon was received */
++ bool received_data = False; /* indicates, if any response from deamon was received */
+
+ /* open stream sockets */
+ fpin = fdopen(sockfd, "r");
+@@ -159,7 +159,7 @@
+
+ while ( (fgets(recvline, MAXLINE, fpin)) != NULL ) {
+
+- received_data = TRUE;
++ received_data = True;
+
+ /* ignore the HTTP response header, remove any leading
+ white spaces */
+--- examples/VFS/samba-vscan-0.3.2b/icap/Makefile 2003-01-30 00:53:02.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/icap/Makefile 2003-04-09 20:21:37.000000000 +0200
+@@ -15,7 +15,7 @@
+ SMBWR_SRC = ../../../../source/smbwrapper
+ SMBVS_INCL = ../include
+ SMBVS_GLB = ../global
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/usr/include/heimdal
+ VFS_OBJS = vscan-icap.so
+ SOURCES = $(SMBVS_GLB)/vscan-functions.c $(SMBVS_GLB)/vscan-message.c $(SMBVS_GLB)/vscan-quarantine.c $(SMBVS_GLB)/vscan-fileaccesslog.c vscan-icap.c vscan-icap_core.c vscan-icap.h vscan-icap_core.h
+ OBJS = vscan-functions.lo vscan-message.lo vscan-quarantine.lo vscan-fileaccesslog.lo vscan-icap.lo vscan-icap_core.lo
+--- examples/VFS/samba-vscan-0.3.2b/icap/vscan-icap.c 2003-02-21 21:37:50.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/icap/vscan-icap.c 2003-04-09 20:32:20.000000000 +0200
+@@ -413,14 +413,14 @@
+ rc = vscan_do_infected_file_action(&default_vfs_ops, conn, filepath, quarantine_dir, quarantine_prefix, infected_file_action);
+
+ /* add/update file. mark file as infected! */
+- lrufiles_add(filepath, stat_buf.st_mtime, TRUE);
++ lrufiles_add(filepath, stat_buf.st_mtime, True);
+
+ /* virus found, deny acces */
+ errno = EACCES;
+ return -1;
+ } else if ( retval == 0 ) {
+ /* file is clean, add to lrufiles */
+- lrufiles_add(filepath, stat_buf.st_mtime, FALSE);
++ lrufiles_add(filepath, stat_buf.st_mtime, False);
+ }
+ }
+
+--- examples/VFS/samba-vscan-0.3.2b/icap/vscan-icap_core.c 2003-01-15 00:19:18.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/icap/vscan-icap_core.c 2003-04-09 20:30:56.000000000 +0200
+@@ -114,8 +114,8 @@
+ char buf[BUFLEN];
+ char recvline[MAXLINE + 1];
+ char *str;
+- bool first_line = FALSE; /* first line we've received? */
+- bool infected = FALSE; /* an infected found? */
++ bool first_line = False; /* first line we've received? */
++ bool infected = False; /* an infected found? */
+
+
+ /* get file length */
+@@ -213,7 +213,7 @@
+ /* set line buffering */
+ setvbuf(fpin, (char *)NULL, _IOLBF, 0);
+
+- first_line = TRUE;
++ first_line = True;
+ while ( (fgets(recvline, MAXLINE, fpin)) != NULL ) {
+ str = recvline;
+ if ( first_line ) {
+@@ -226,7 +226,7 @@
+ return(0);
+ }
+ else if ( strncmp("403", str, 3) == 0 ) {
+- infected = TRUE;
++ infected = True;
+ } else {
+ if ( verbose_file_logging )
+ vscan_syslog("ERROR: file %s not found, not readable or an error occured", scan_file);
+@@ -241,7 +241,7 @@
+ return(-1);
+ }
+
+- first_line = FALSE;
++ first_line = False;
+ }
+ if ( infected ) {
+ if ( strncmp("X-Infection-Found", str, 17) == 0 ) {
+--- examples/VFS/samba-vscan-0.3.2b/include/vscan-global.h 2002-11-25 16:48:10.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/include/vscan-global.h 2003-04-09 20:21:37.000000000 +0200
+@@ -93,7 +93,7 @@
+ */
+
+ #ifndef SAMBA_VERSION_MAJOR
+-# define SAMBA_VERSION_MAJOR 2
++# define SAMBA_VERSION_MAJOR 3
+ #endif
+
+ #ifndef SAMBA_VERSION_MINOR
+--- examples/VFS/samba-vscan-0.3.2b/kaspersky/Makefile 2003-02-20 15:41:32.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/kaspersky/Makefile 2003-04-09 20:21:37.000000000 +0200
+@@ -23,9 +23,9 @@
+ VFS_OBJS = vscan-kavp.so
+
+ ifdef USE_DEBUG
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/usr/include/heimdal
+ else
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/usr/include/heimdal
+ endif
+
+ ifndef USE_KAVPSHAREDLIB
+--- examples/VFS/samba-vscan-0.3.2b/mks/Makefile 2003-01-19 18:09:53.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/mks/Makefile 2003-04-09 20:21:37.000000000 +0200
+@@ -16,10 +16,10 @@
+ SMBWR_SRC = ../../../../source/smbwrapper
+ SMBVS_INCL = ../include
+ SMBVS_GLB = ../global
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/usr/include/heimdal
+
+ ifdef USE_INCLMKSDLIB
+-CFLAGS=-I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_USE_INCL_MKSD_LIB=1 -fPIC
++CFLAGS=-I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_USE_INCL_MKSD_LIB=1 -fPIC -I/usr/include/heimdal
+ endif
+
+ VFS_OBJS = vscan-mksd.so
+--- examples/VFS/samba-vscan-0.3.2b/mks/vscan-mksd.c 2003-02-21 21:37:50.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/mks/vscan-mksd.c 2003-04-09 20:38:16.000000000 +0200
+@@ -393,14 +393,14 @@
+ rc = vscan_do_infected_file_action(&default_vfs_ops, conn, filepath, quarantine_dir, quarantine_prefix, infected_file_action);
+
+ /* add/update file. mark file as infected! */
+- lrufiles_add(filepath, stat_buf.st_mtime, TRUE);
++ lrufiles_add(filepath, stat_buf.st_mtime, True);
+
+ /* virus found, deny acces */
+ errno = EACCES;
+ return -1;
+ } else if ( retval == 0 ) {
+ /* file is clean, add to lrufiles */
+- lrufiles_add(filepath, stat_buf.st_mtime, FALSE);
++ lrufiles_add(filepath, stat_buf.st_mtime, False);
+ }
+ }
+
+--- examples/VFS/samba-vscan-0.3.2b/openantivirus/Makefile 2003-01-30 00:53:08.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/openantivirus/Makefile 2003-04-09 20:21:37.000000000 +0200
+@@ -15,7 +15,7 @@
+ SMBWR_SRC = ../../../../source/smbwrapper
+ SMBVS_INCL = ../include
+ SMBVS_GLB = ../global
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/usr/include/heimdal
+ VFS_OBJS = vscan-oav.so
+ SOURCES = $(SMBVS_GLB)/vscan-functions.c $(SMBVS_GLB)/vscan-message.c $(SMBVS_GLB)/vscan-quarantine.c $(SMBVS_GLB)/vscan-fileaccesslog.c vscan-oav.c vscan-oav_core.c vscan-oav.h vscan-oav_core.h
+ OBJS = vscan-functions.lo vscan-message.lo vscan-quarantine.lo vscan-fileaccesslog.lo vscan-oav.lo vscan-oav_core.lo
+--- examples/VFS/samba-vscan-0.3.2b/openantivirus/vscan-oav.c 2003-02-21 21:37:51.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/openantivirus/vscan-oav.c 2003-04-09 20:40:53.000000000 +0200
+@@ -417,14 +417,14 @@
+ rc = vscan_do_infected_file_action(&default_vfs_ops, conn, filepath, quarantine_dir, quarantine_prefix, infected_file_action);
+
+ /* add/update file. mark file as infected! */
+- lrufiles_add(filepath, stat_buf.st_mtime, TRUE);
++ lrufiles_add(filepath, stat_buf.st_mtime, True);
+
+ /* virus found, deny acces */
+ errno = EACCES;
+ return -1;
+ } else if ( retval == 0 ) {
+ /* file is clean, add to lrufiles */
+- lrufiles_add(filepath, stat_buf.st_mtime, FALSE);
++ lrufiles_add(filepath, stat_buf.st_mtime, False);
+ }
+ }
+
+--- examples/VFS/samba-vscan-0.3.2b/sophos/Makefile 2003-01-30 00:53:08.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/sophos/Makefile 2003-04-09 20:21:37.000000000 +0200
+@@ -15,7 +15,7 @@
+ SMBWR_SRC = ../../../../source/smbwrapper
+ SMBVS_INCL = ../include
+ SMBVS_GLB = ../global
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/usr/include/heimdal
+ VFS_OBJS = vscan-sophos.so
+ SOURCES = $(SMBVS_GLB)/vscan-functions.c $(SMBVS_GLB)/vscan-message.c $(SMBVS_GLB)/vscan-quarantine.c $(SMBVS_GLB)/vscan-fileaccesslog.c vscan-sophos.c vscan-sophos_core.c vscan-sophos.h vscan-sophos_core.h
+ OBJS = vscan-functions.lo vscan-message.lo vscan-quarantine.lo vscan-fileaccesslog.lo vscan-sophos.lo vscan-sophos_core.lo
+--- examples/VFS/samba-vscan-0.3.2b/sophos/vscan-sophos.c 2003-02-21 21:37:51.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/sophos/vscan-sophos.c 2003-04-09 20:43:11.000000000 +0200
+@@ -399,14 +399,14 @@
+ rc = vscan_do_infected_file_action(&default_vfs_ops, conn, filepath, quarantine_dir, quarantine_prefix, infected_file_action);
+
+ /* add/update file. mark file as infected! */
+- lrufiles_add(filepath, stat_buf.st_mtime, TRUE);
++ lrufiles_add(filepath, stat_buf.st_mtime, True);
+
+ /* deny access */
+ errno = EACCES;
+ return -1;
+ } else if ( retval == 0 ) {
+ /* file is clean, add to lrufiles */
+- lrufiles_add(filepath, stat_buf.st_mtime, FALSE);
++ lrufiles_add(filepath, stat_buf.st_mtime, False);
+ }
+ }
+
+--- examples/VFS/samba-vscan-0.3.2b/trend/Makefile 2003-01-30 01:03:38.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/trend/Makefile 2003-04-09 20:21:37.000000000 +0200
+@@ -15,7 +15,7 @@
+ SMBWR_SRC = ../../../../source/smbwrapper
+ SMBVS_INCL = ../include
+ SMBVS_GLB = ../global
+-CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC
++CFLAGS = -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -I$(SMBVS_INCL) -Wall -g -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fPIC -I/usr/include/heimdal
+ VFS_OBJS = vscan-trend.so
+ SOURCES = $(SMBVS_GLB)/vscan-functions.c $(SMBVS_GLB)/vscan-message.c $(SMBVS_GLB)/vscan-quarantine.c $(SMBVS_GLB)/vscan-fileaccesslog.c vscan-trend.c vscan-trend_core.c vscan-trend.h vscan-trend_core.h
+ OBJS = vscan-functions.lo vscan-message.lo vscan-quarantine.lo vscan-fileaccesslog.lo vscan-trend.lo vscan-trend_core.lo
+--- examples/VFS/samba-vscan-0.3.2b/trend/vscan-trend.c 2003-02-21 21:37:52.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.2b/trend/vscan-trend.c 2003-04-09 20:46:07.000000000 +0200
+@@ -409,14 +409,14 @@
+ rc = vscan_do_infected_file_action(&default_vfs_ops, conn, filepath, quarantine_dir, quarantine_prefix, infected_file_action);
+
+ /* add/update file. mark file as infected! */
+- lrufiles_add(filepath, stat_buf.st_mtime, TRUE);
++ lrufiles_add(filepath, stat_buf.st_mtime, True);
+
+ /* deny access */
+ errno = EACCES;
+ return -1;
+ } else if ( retval == 0 ) {
+ /* file is clean, add to lrufiles */
+- lrufiles_add(filepath, stat_buf.st_mtime, FALSE);
++ lrufiles_add(filepath, stat_buf.st_mtime, False);
+ }
+ }
+
diff --git a/packaging/SuSE/samba3.spec b/packaging/SuSE/samba3.spec
index dd2860b801e..1b620e60c25 100644
--- a/packaging/SuSE/samba3.spec
+++ b/packaging/SuSE/samba3.spec
@@ -1,764 +1,765 @@
#
-# spec file for package samba (Version HEAD) CVS
-#
-# Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany.
+# spec file for package samba3 (Version 3.0.0rc1cvs)
+#
+# Copyright (c) 2003 SuSE Linux AG, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
-# packaged by Guenther Deschner <gd@suse.de> - work is not finished yet !
-
-# neededforbuild acl acl-devel attr attr-devel autoconf automake heimdal-devel heimdal-lib libxml2 libxml2-devel mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel popt popt-devel python python-devel readline readline-devel
-# usedforbuild aaa_base aaa_version acl attr bash bind9-utils bison cpio cpp cyrus-sasl db devs diffutils e2fsprogs file filesystem fileutils fillup findutils flex gawk gdbm-devel glibc glibc-devel glibc-locale gpm grep groff gzip kbd less libgcc libstdc++ libxcrypt m4 make man mktemp modutils ncurses ncurses-devel net-tools netcfg pam pam-devel pam-modules patch permissions ps rcs readline sed sendmail sh-utils shadow strace syslogd sysvinit tar texinfo textutils timezone unzip util-linux vim zlib-devel acl-devel attr-devel autoconf automake binutils bzip2 cracklib gcc gdbm gettext heimdal-devel heimdal-lib libtool libxml2 libxml2-devel mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel perl popt popt-devel python python-devel readline-devel rpm zlib
-
-
-Vendor: SuSE Linux AG, GS Berlin, Germany
-Distribution: SuSE Linux 8.1 (i386)
-Name: samba
-Packager: gd@suse.de
-License: GPL
-Group: Productivity/Networking/Samba
-Url: http://www.samba.org
-Provides: samba smbfs
-Obsoletes: samba-classic samba-ldap
-Autoreqprov: on
-%define smbwrap 0
-%define mit_kerberos 0
-%define heimdal_kerberos 1
-%define devel 0
-%define head 0
-%define python 1
-%define netatalk 0
-%define newsam 0
-%define samba_ver 3.0.0
-Requires: samba-client = %{samba_ver}
-Version: 3.0.0
-Release: %(date +%%j)
-Summary: An SMB file server for Unix
-Source: %{name}-%{version}.tar.bz2
-Source10: %{name}-%{version}.files.tar.bz2
-Source50: http://prdownloads.sourceforge.net/openantivirus/samba-vscan-%{vscan_ver}.tar.bz2
-Patch1: %{name}-%{version}-pdb.diff
-Patch10: %{name}-%{version}-net_ads.diff
-Patch22: %{name}-%{version}-msdfs.diff
-Patch30: %{name}-%{version}-python.diff
-BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
-%define DOCDIR %{_defaultdocdir}/%{name}
-%define SWATDIR %{_datadir}/samba/swat
-%define vscan_ver 0.3.1
-%define vscan_modules fprot kaspersky mks openantivirus sophos trend
-Patch51: %{name}-%{version}-vscan.diff
+# Please submit bugfixes or comments via http://www.suse.de/feedback/
+#
+# Note: The Samba3 tarball should be called: samba3-3.0.0.tar.bz2
+#
+# neededforbuild XFree86-libs autoconf automake cups-devel cups-libs dialog docbook-utils docbook-xsl-stylesheets docbook_4 ed freetype2 ghostscript-fonts-std ghostscript-library ghostscript-x11 glib heimdal heimdal-devel heimdal-lib iso_ent libacl libacl-devel libattr libattr-devel libgimpprint libpng libtiff libxml2 libxml2-devel libxslt mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel popt popt-devel python python-devel readline readline-devel te_etex te_latex te_pdf tetex xmlcharent
+# usedforbuild aaa_base acl attr bash bind9-utils bison coreutils cpio cpp cvs cyrus-sasl2 db devs diffutils e2fsprogs file filesystem fillup findutils flex gawk gdbm-devel glibc glibc-devel glibc-locale gpm grep groff gzip info insserv kbd less libacl libattr libgcc libstdc++ libxcrypt m4 make man mktemp modutils ncurses ncurses-devel net-tools netcfg pam pam-devel pam-modules patch permissions ps rcs readline sed sendmail shadow strace syslogd sysvinit tar texinfo timezone unzip util-linux vim zlib zlib-devel XFree86-libs autoconf automake binutils bzip2 cracklib cups-devel cups-libs dialog docbook-utils docbook-xsl-stylesheets docbook_4 ed freetype2 gcc gdbm gettext ghostscript-fonts-std ghostscript-library ghostscript-x11 glib heimdal heimdal-devel heimdal-lib iso_ent libacl-devel libattr-devel libgimpprint libpng libtiff libtool libxml2 libxml2-devel libxslt mysql-devel mysql-shared openldap2 openldap2-client openldap2-devel openssl openssl-devel perl popt popt-devel python python-devel readline-devel rpm te_ams te_etex te_latex te_pdf tetex xmlcharent
+
+Name: samba3
+License: GPL
+Group: Productivity/Networking/Samba
+Url: http://www.samba.org
+Provides: samba smbfs samba3
+Requires: samba3-client
+Obsoletes: samba-classic samba-ldap
+Autoreqprov: on
+%define krb_heimdal_05 0
+%define new_heimdal /opt/heimdal
+%define new_sasl /opt/sasl
+%define new_openldap /opt/openldap
+%define new_glibc 0
+Version: 3.0.0
+Release: %(date +%%j)
+%define head 0
+%define samba_ver 3.0.0
+%define samba_release 0
+%define ul_version 0
+%define suse_ver 820
+%define python_ver python2.2
+%if %{suse_ver} > 810
+%define new_glibc 1
+%endif
+%if %{suse_ver} > 821
+%define python_ver python2.3
+%endif
+%define make_cifsvfs 1
+%define make_devel 0
+%define make_doc 0
+%define make_python 1
+%define make_shared_mod 0
+%define make_smbwrap 1
+# vscan has not yet updated to the new vfs-api
+%define make_vscan 0
+%define make_wrepld 1
+%define use_keytab 0
+Summary: samba3
+Source: %{name}-%{version}.tar.bz2
+Source10: %{name}-%{version}.files.tar.bz2
+Source50: samba-vscan-%{vscan_ver}.tar.bz2
+Patch1: %{name}-%{version}-Makefiles-heimdal.diff
+Patch2: samba-mutual-auth.diff
+Patch29: %{name}-com_err.diff
+Patch30: %{name}-%{version}-heimdal-06.diff
+Patch31: %{name}-%{version}-pdb.diff
+Patch32: %{name}-net_ads_password.diff
+Patch33: %{name}-Makefile.diff
+Patch34: %{name}-smbwrapper.diff
+Patch51: %{name}-vscan.diff
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+%define DOCDIR %{_defaultdocdir}/%{name}
+%define DOCBOOKDIR %{_defaultdocdir}/%{name}/docbook
+%define SWATDIR %{_datadir}/samba/swat
+%define vscan_ver 0.3.2b
+%define vscan_modules fprot icap mks openantivirus sophos trend
+#not pdb_nisplussam
+%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
%package client
-Summary: Samba client utilities
-Autoreqprov: on
-Requires: cups-libs
-Obsoletes: smbclnt samba-classic-client samba-ldap-client
-Group: Productivity/Networking/Samba
-
+Summary: samba3-client
+Autoreqprov: on
+Requires: cups-libs
+Obsoletes: smbclnt samba-classic-client samba-ldap-client
+Provides: samba-client samba3-client
+Group: Productivity/Networking/Samba
%package winbind
-Requires: samba-client samba
-Summary: Samba Winbind-package
-Autoreqprov: on
-Group: Productivity/Networking/Samba
-
+Requires: samba-client samba
+Summary: samba3-winbind
+Autoreqprov: on
+Group: Productivity/Networking/Samba
%package utils
-Summary: Samba Testing Utilities
-Autoreqprov: on
-Group: Productivity/Networking/Samba
-
+Summary: samba3-utils
+Autoreqprov: on
+Group: Productivity/Networking/Samba
%package doc
-Summary: Samba Documentation
-Autoreqprov: on
-Group: Productivity/Networking/Samba
-
+Summary: samba3-doc
+Autoreqprov: on
+Group: Productivity/Networking/Samba
+%package docbook
+Summary: samba3-docbook
+Autoreqprov: on
+Group: Productivity/Networking/Samba
%package pdb
-Summary: Samba PDB-Modules
-Autoreqprov: on
-Group: Productivity/Networking/Samba
-
-%package vfs
-Summary: Samba VFS-Modules
-Autoreqprov: on
-Group: Productivity/Networking/Samba
-
-%if %{newsam} > 0
-%package sam
-Summary: Samba SAM-Modules
-Autoreqprov: on
-Group: Productivity/Networking/Samba
+Summary: samba3-pdb
+Autoreqprov: on
+Group: Productivity/Networking/Samba
+%if %{make_cifsvfs}
+%package cifsmount
+Summary: samba3-cifsmount
+Autoreqprov: on
+Group: Productivity/Networking/Samba
+Url: http://us1.samba.org/samba/Linux_CIFS_client.html
%endif
-
+%if %{make_vscan}
%package vscan
-Summary: Samba VFS-Modules for Virusscanners
-Autoreqprov: on
-Group: Productivity/Networking/Samba
-Version: 0.3.1
-
+Summary: samba3-vscan
+Autoreqprov: on
+Group: Productivity/Networking/Samba
+Version: 0.3.2a
+Release: 0
+Url: http://www.openantivirus.org/
+%endif
+%if %{make_wrepld}
+%package wrepld
+Summary: samba3-wrepld
+Autoreqprov: on
+Group: Productivity/Networking/Samba
+%endif
+%if %{make_python}
%package python
-Summary: Samba Python-Modules
-Autoreqprov: on
-Group: Productivity/Networking/Samba
-
-
-
-
-%changelog
-* Sat Nov 3 2001 - gd@suse.de
-- start
-
-
+Summary: samba3-python
+Autoreqprov: on
+Group: Productivity/Networking/Samba
+%endif
+%package -n libsmbclient
+Summary: Samba client library
+Autoreqprov: on
+Group: System/Libraries
+%package -n libsmbclient-devel
+Summary: Libraries and header files to develop programs with smbclient support
+Autoreqprov: on
+Group: Development/Libraries/C and C++
%prep
[ $RPM_BUILD_ROOT = "/" ] && (echo "your buildroot is /" && exit 0) || rm -rf $RPM_BUILD_ROOT
mkdir $RPM_BUILD_ROOT
-
%setup -n %{name}-%{samba_ver}
%setup -T -D -a 50
cp -ar samba-vscan-%{vscan_ver} examples/VFS/
-
# untar my configs
%setup -T -D -a 10
-
-%if %{heimdal_kerberos} > 0
+###########
+### PATCHES
+###########
+# Makefiles-heimdal.diff
%patch1
+%if %{use_keytab}
+# luke howards keytab-patch
+%patch2
+%endif
+# some com_err fixes
+%patch29
+%if %{suse_ver} > 821
+%patch30
+%endif
+# vscan patch
%patch51
+# net ads password
+%patch32
+# temp Makefile (show more libs)
+%patch33
+# temp pdb-test.c
+%patch31
+# smbwrapper should use LIBDIR not BINDIR
+%patch34
+#find . -name CVS -print | xargs rm -rf
+#find . -name ".cvsignore" -print | xargs rm -rf
+find . -name "*.gd" -print | xargs rm -rvf
+find . -name "*.orig" -print | xargs rm -rvf
+%if %{ul_version} >= 1
+ echo '#define VERSION "%samba_ver-UL"' > source/include/version.h
+%else
+ echo '#define VERSION "%samba_ver-SuSE"' > source/include/version.h
%endif
-#%patch10
-#%patch22
-#%patch30
-
-find . -name CVS -print | xargs rm -rf
-find . -name ".cvsignore" -print | xargs rm -rf
-find . -name "'*.gd'" -print | xargs rm -rvf
-find . -name "'*.orig'" -print | xargs rm -rvf
%build %{name}-%{samba_ver}
%{?suse_update_config:%{suse_update_config -f}}
cd source
./autogen.sh
-libtoolize --force --copy
-autoconf
export CFLAGS="$RPM_OPT_FLAGS -Wall -O -D_GNU_SOURCE -D_LARGEFILE64_SOURCE"
+# debugging symbols
+%if %{make_devel}
+export CFLAGS="$RPM_OPT_FLAGS -g -Wall -O -D_GNU_SOURCE -D_LARGEFILE64_SOURCE"
+%endif
+%if %{krb_heimdal_05}
+export CFLAGS="$CFLAGS -I./include -I%{new_heimdal}/include "
+export CFLAGS="$CFLAGS -I%{new_openldap}/include "
+export CFLAGS="$CFLAGS -I%{new_sasl}/include "
+export LDFLAGS="$LDFLAGS -Wl,-rpath %{new_heimdal}/lib"
+export LDFLAGS="$LDFLAGS -Wl,-rpath %{new_openldap}/lib"
+export LDFLAGS="$LDFLAGS -Wl,-rpath %{new_sasl}/lib"
+%endif
%ifarch ppc64
export CFLAGS="$CFLAGS -mminimal-toc"
%endif
-CONF_OPTS_BASIC="\
- --prefix=/usr \
- --libdir=/etc/samba \
+CONF_OPTS="\
+ --enable-cups \
+ --libdir=/usr/lib/samba \
--localstatedir=/var/lib/samba \
--mandir=%{_mandir} \
+ --prefix=/usr \
--sbindir=/usr/sbin \
- --with-privatedir=/etc/samba \
- --with-piddir=/var/run/samba \
- --with-codepagedir=/usr/share/samba/codepages \
- --with-swatdir=/usr/share/samba/swat \
- --with-smbmount \
+ --sysconfdir=/etc/samba \
+ --with-acl-support \
--with-automount \
- --enable-cups \
+ --with-configdir=/etc/samba \
+ --with-lockdir=/var/lib/samba \
+ --with-logfilebase=/var/log/samba \
--with-msdfs \
- --with-vfs \
--with-pam \
--with-pam_smbpass \
+ --with-piddir=/var/run/samba \
+ --with-privatedir=/etc/samba \
+ --with-quotas \
+ --with-smbmount \
+ --with-swatdir=/usr/share/samba/swat \
+ --with-syslog \
--with-utmp \
+ --with-vfs \
--with-winbind \
--with-tdbsam \
- --with-ldapsam \
-%if %{smbwrap}
+ --with-expsam=xml,mysql \
+ --with-profiling-data \
+%if %{use_keytab}
+ --enable-keytab \
+%endif
+%if %{make_smbwrap}
--with-smbwrapper \
%endif
- --with-quotas \
- --with-acl-support \
- --with-python=python2.2 \
- --with-syslog \
-"
-CONF_OPTS_HEAD="\
- --with-sam \
-"
-CONF_OPTS_HEIMDAL_KERBEROS="\
- --with-krb5impl=heimdal \
-"
-CONF_OPTS_HEIMDAL_51_KERBEROS="\
- --with-krb5impl=heimdal \
- --with-krb5includes=/opt/heimdal-0.5.1/include \
- --with-krb5libs=/opt/heimdal-0.5.1/lib \
-"
-CONF_OPTS_MIT_KERBEROS="\
- --with-krb5impl=mit \
- --with-krb5includes=/usr/kerberos/include \
- --with-krb5libs=/usr/kerberos/lib \
-"
-CONF_OPTS_DEVEL="\
+%if %{make_python}
+ --with-python=%{python_ver} \
+%endif
+%if %{make_shared_mod}
+ --with-shared-modules=%{pdb_modules},%{rpc_modules} \
+%endif
+%if %{make_devel}
--enable-developer \
--enable-krb5developer \
- --with-profiling-data \
+%endif
"
-CONF_OPTS="$CONF_OPTS_BASIC"
-%if %{head} > 0
-CONF_OPTS="$CONF_OPTS $CONF_OPTS_HEAD"
-%endif
-%if %{heimdal_kerberos} > 0
-CONF_OPTS="$CONF_OPTS $CONF_OPTS_HEIMDAL_KERBEROS"
-%endif
-%if %{mit_kerberos} > 0
-CONF_OPTS="$CONF_OPTS $CONF_OPTS_MIT_KERBEROS"
-%endif
-%if %{devel} > 0
-CONF_OPTS="$CONF_OPTS $CONF_OPTS_DEVEL"
-%endif
-
+# --with-nisplus-home \
+# make sure we have a chance to find the krb5-config-tool
+export PATH="$PATH:/usr/lib/heimdal/bin"
./configure $CONF_OPTS
-
-### --with-ldapsam is now standard!
-### --with-sendfile-support ---default now
-# --with-nisplussam \
-# --with-nisplus_home \
-
-# with the new passdb-code we can finaly compile several passdb-backends
-# and make our choice at runtime.
-# HEAD and thus alpha21 no longer need this
-#make proto
-
make \
- LOCKDIR=/var/lib/samba \
- LOGFILEBASE=/var/log/samba \
- SBINDIR=/usr/sbin \
all \
torture \
nsswitch/libnss_wins.so \
debug2html \
libsmbclient \
- bin/profiles \
- everything
-
+ everything \
+ bin/editreg
# everything = nsswitch smbwrapper smbtorture debug2html smbfilter nsswitch/libnss_wins.so
-
-%if %{newsam} > 0
-make bin/samtest
-%endif
make modules
-
make -C tdb tdbdump tdbtest tdbtool tdbtorture
-# tdbbackup is now in main Makefile
-
make talloctort
-
-# VFS,PDB and SAM
-EXAMPLEDIRS="pdb"
+%if %{make_wrepld}
+make bin/wrepld
+%endif
+%if %{make_doc}
+pushd `pwd`
+cd ../docs/docbook
+autoconf -f
+./configure
+# gracefully ignore errors...
+make -i manpages html html-single pdf htmlfaq htmlman
+# ps is not necessary, txt neither
+# everything = manpages ps pdf html-single html htmlman txt htmlfaq
+popd
+%endif
+# make examples in VFS,PDB
+pushd `pwd`
+cd ../examples/VFS/
+sh -x autogen.sh
+./configure
+popd
+EXAMPLEDIRS="pdb VFS"
for i in $EXAMPLEDIRS; do make -C ../examples/$i; done
-
+%if %{make_vscan}
export USE_KAVPSHAREDLIB=0
+export USE_INCLMKSDLIB=1
for module in %{vscan_modules}; do
- make -C ../examples/VFS/%{name}-vscan-%{vscan_ver}/${module};
+ make -C ../examples/VFS/samba-vscan-%{vscan_ver}/${module};
done
-
-# tim potters python
-%if %{python} > 0
+%endif
+%if %{make_python}
make python_ext
%endif
-
-
+%if %{make_cifsvfs}
+cd client
+export CFLAGS="$RPM_OPT_FLAGS -Wall -O -D_GNU_SOURCE -D_LARGEFILE64_SOURCE"
+gcc mount.cifs.c -o mount.cifs
+cd ..
+%endif
%install
-
mkdir -p \
- $RPM_BUILD_ROOT/usr/{bin,sbin} \
- $RPM_BUILD_ROOT/usr/share/{man,samba/{scripts,swat}} \
- $RPM_BUILD_ROOT/usr/lib/samba/{vfs,pdb,sam,vscan} \
- $RPM_BUILD_ROOT/usr/lib/python2.2/lib-dynload \
- $RPM_BUILD_ROOT/usr/include \
- $RPM_BUILD_ROOT/etc/{pam.d,init.d,samba} \
- $RPM_BUILD_ROOT/var/adm \
- $RPM_BUILD_ROOT/sbin \
- $RPM_BUILD_ROOT/lib/security \
$RPM_BUILD_ROOT/%{DOCDIR} \
$RPM_BUILD_ROOT/%{DOCDIR}-vscan \
- $RPM_BUILD_ROOT/var/spool/samba \
+ $RPM_BUILD_ROOT/%{DOCDIR}/docbook \
+ $RPM_BUILD_ROOT/etc/{pam.d,init.d,samba} \
+ $RPM_BUILD_ROOT/lib/security \
+ $RPM_BUILD_ROOT/sbin \
+ $RPM_BUILD_ROOT/usr/include \
+ $RPM_BUILD_ROOT/usr/lib/%{python_ver}/lib-dynload \
+ $RPM_BUILD_ROOT/usr/lib/samba/{vfs,pdb,vscan,rpc,auth,charset,idmap} \
+ $RPM_BUILD_ROOT/usr/share/{man,samba/swat} \
+ $RPM_BUILD_ROOT/usr/{bin,sbin} \
+ $RPM_BUILD_ROOT/var/adm \
+ $RPM_BUILD_ROOT/var/lib/samba/{netlogon,drivers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC},profiles} \
$RPM_BUILD_ROOT/var/log/samba \
$RPM_BUILD_ROOT/var/run/samba \
- $RPM_BUILD_ROOT/var/lib/samba/{netlogon,drivers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC},profiles}
-
+ $RPM_BUILD_ROOT/var/spool/samba
cd source/
make install \
- LIBDIR=$RPM_BUILD_ROOT/etc/samba \
+ LIBDIR=$RPM_BUILD_ROOT/usr/lib/samba \
LOGFILEBASE=$RPM_BUILD_ROOT/var/log/samba \
CONFIGFILE=$RPM_BUILD_ROOT/etc/samba/smb.conf \
LMHOSTSFILE=$RPM_BUILD_ROOT/etc/samba/lmhosts \
SWATDIR=$RPM_BUILD_ROOT/usr/share/samba/swat \
SBINDIR=$RPM_BUILD_ROOT/usr/sbin \
- LOCKDIR=$RPM_BUILD_ROOT/var/lock/samba \
- CODEPAGEDIR=$RPM_BUILD_ROOT/usr/share/samba/codepages \
+ LOCKDIR=$RPM_BUILD_ROOT/var/lib/samba \
DRIVERFILE=$RPM_BUILD_ROOT/etc/samba/printers.def \
BINDIR=$RPM_BUILD_ROOT/usr/bin \
SMB_PASSWD_FILE=$RPM_BUILD_ROOT/etc/samba/smbpasswd \
- TDB_PASSWD_FILE=$RPM_BUILD_ROOT/etc/samba/smbpasswd.tdb \
MANDIR=$RPM_BUILD_ROOT/usr/share/man
+make installmodules \
+ LIBDIR=$RPM_BUILD_ROOT/usr/lib/samba
cd ..
-
# utility scripts
-%if %{head} > 0
+%if %{head}
scripts="creategroup cvslog.pl scancvslog.pl"
%else
scripts="scancvslog.pl"
%endif
+mkdir -p examples/scripts
for i in $scripts; do
- cp -a source/script/$i $RPM_BUILD_ROOT/usr/share/samba/scripts/
+ cp -a source/script/$i examples/scripts/
done
-
-# move the man-pages (ugly lang thing, fixed in alpha16)
-#mv $RPM_BUILD_ROOT/usr/share/man/lang/* $RPM_BUILD_ROOT/usr/share/man/
-
# configuration files
+%if %{ul_version} >= 1
+ SUFFIX="UnitedLinux"
+%else
+ SUFFIX="SuSE"
+%endif
+cat smb.conf.vendor | egrep -v '(^$$|^#)' > smb.conf
+mv smb.conf.vendor examples/smb.conf.${SUFFIX}
install -m 644 smb.conf* $RPM_BUILD_ROOT/etc/samba/
-install -m 644 shares.conf $RPM_BUILD_ROOT/etc/samba/
install -m 644 lmhosts $RPM_BUILD_ROOT/etc/samba/
+install -m 644 smbusers $RPM_BUILD_ROOT/etc/samba/
install -m 600 smbpasswd -o root -g root $RPM_BUILD_ROOT/etc/samba/
-
+install -m 600 smbfstab -o root -g root $RPM_BUILD_ROOT/etc/samba/
# pam
install -m 644 samba.pamd $RPM_BUILD_ROOT/etc/pam.d/samba
-
# sambamount
ln -sf /usr/bin/smbmount $RPM_BUILD_ROOT/sbin/mount.smbfs
-
+#cifsmount
+%if %{make_cifsvfs}
+install -m755 source/client/mount.cifs $RPM_BUILD_ROOT/sbin
+%endif
# start scripts
install rc.smb $RPM_BUILD_ROOT/etc/init.d/smb
ln -sf ../../etc/init.d/smb $RPM_BUILD_ROOT/usr/sbin/rcsmb
+install rc.nmb $RPM_BUILD_ROOT/etc/init.d/nmb
+ln -sf ../../etc/init.d/nmb $RPM_BUILD_ROOT/usr/sbin/rcnmb
install rc.smbfs $RPM_BUILD_ROOT/etc/init.d/smbfs
ln -sf ../../etc/init.d/smbfs $RPM_BUILD_ROOT/usr/sbin/rcsmbfs
install rc.winbind $RPM_BUILD_ROOT/etc/init.d/winbind
ln -sf ../../etc/init.d/winbind $RPM_BUILD_ROOT/usr/sbin/rcwinbind
+%if %{make_wrepld}
install rc.wrepl $RPM_BUILD_ROOT/etc/init.d/wrepl
ln -sf ../../etc/init.d/wrepl $RPM_BUILD_ROOT/usr/sbin/rcwrepl
-
-#### disabled for 8.0
-### rc.config fragment
-mkdir -p $RPM_BUILD_ROOT/var/adm/fillup-templates
-cp rc.config.samba $RPM_BUILD_ROOT/var/adm/fillup-templates
-cp rc.config.winbind $RPM_BUILD_ROOT/var/adm/fillup-templates
-cp rc.config.wrepl $RPM_BUILD_ROOT/var/adm/fillup-templates
-
+cp -a source/bin/wrepld $RPM_BUILD_ROOT/usr/sbin/
+%endif
# libnss_wins.so
-cp source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/lib/libnss_wins.so
-ln -sf /lib/libnss_wins.so $RPM_BUILD_ROOT/lib/libnss_wins.so.2
-
+cp source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/lib/libnss_wins.so.2
+ln -sf /lib/libnss_wins.so.2 $RPM_BUILD_ROOT/lib/libnss_wins.so
# winbind stuff
cp -a source/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/lib/security/
-cp -a source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/lib/
+cp -a source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/lib/libnss_winbind.so.2
cp -a source/bin/winbindd $RPM_BUILD_ROOT/usr/sbin/
-ln -sf /lib/libnss_winbind.so $RPM_BUILD_ROOT/lib/libnss_winbind.so.2
-
+ln -s /lib/libnss_winbind.so.2 $RPM_BUILD_ROOT/lib/libnss_winbind.so
# pam_smbpass
cp -a source/bin/pam_smbpass.so $RPM_BUILD_ROOT/lib/security/
-
# smbfilter
cp -a source/bin/smbfilter $RPM_BUILD_ROOT/usr/bin/
-
-
-%{?suse_check}
-
-## install libsmbclient
-install -m0755 source/bin/{libsmbclient.so,libsmbclient.a} $RPM_BUILD_ROOT/%{_libdir}
-ln -s /usr/lib/libsmbclient.so $RPM_BUILD_ROOT/%{_libdir}/libsmbclient.so.0
+# editreg
+cp -a source/bin/editreg $RPM_BUILD_ROOT/usr/bin/
+# install libsmbclient
+install -m0755 source/bin/libsmbclient.a $RPM_BUILD_ROOT/%{_libdir}
+install -m0755 source/bin/libsmbclient.so $RPM_BUILD_ROOT/%{_libdir}/libsmbclient.so.0
+ln -s /usr/lib/libsmbclient.so.0 $RPM_BUILD_ROOT/%{_libdir}/libsmbclient.so
install -m0644 source/include/libsmbclient.h $RPM_BUILD_ROOT/%{_includedir}
-
+# install nsswitch-headers (for squid, etc.)
+mkdir -p $RPM_BUILD_ROOT/%{_includedir}/samba/nsswitch
+cp source/nsswitch/*.h $RPM_BUILD_ROOT/%{_includedir}/samba/nsswitch/
# install smbtorture and other test-programs
install -m0755 source/bin/smbtorture $RPM_BUILD_ROOT/usr/bin/
install -m0755 source/bin/talloctort $RPM_BUILD_ROOT/usr/bin/
install -m0755 source/bin/{msgtest,masktest,locktest*} $RPM_BUILD_ROOT/usr/bin/
install -m0755 source/bin/{vfstest,nsstest} $RPM_BUILD_ROOT/usr/bin/
-%if %{head} > 0
-%if %{newsam} > 0
-install -m0755 source/bin/samtest $RPM_BUILD_ROOT/usr/bin/
-%endif
-%endif
-
# install tdb tools
install -m0755 source/tdb/{tdbdump,tdbtest,tdbtool,tdbtorture} $RPM_BUILD_ROOT/usr/bin/
-
-
# install VFS-modules
-%if %{head} > 0
-install -m0755 source/bin/developer.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
-#install -m0755 examples/VFS/block/block.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
-#install -m0755 examples/VFS/skel.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
-%else
-#install -m0755 examples/VFS/block/block.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
-#install -m0755 examples/VFS/skel.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
-%endif
-install -m0755 source/bin/vfs_audit.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
-install -m0755 source/bin/vfs_extd_audit.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
-install -m0755 source/bin/vfs_recycle.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
-%if %{netatalk}
-install -m0755 source/bin/vfs_netatalk.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
-%endif
-
+install -m0755 examples/VFS/*.so $RPM_BUILD_ROOT/%{_libdir}/samba/vfs/
# install PDB-modules
-%if %{head} > 0
-install -m0755 source/bin/xml.so $RPM_BUILD_ROOT/%{_libdir}/samba/pdb/
-install -m0755 source/bin/mysql.so $RPM_BUILD_ROOT/%{_libdir}/samba/pdb/
-%else
-install -m0755 source/bin/pdb_xml.so $RPM_BUILD_ROOT/%{_libdir}/samba/pdb/
-install -m0755 source/bin/pdb_mysql.so $RPM_BUILD_ROOT/%{_libdir}/samba/pdb/
-%endif
install -m0755 examples/pdb/pdb_test.so $RPM_BUILD_ROOT/%{_libdir}/samba/pdb/
-
-# install SAM-modules
-%if %{head} > 0
-%if %{newsam} > 0
-install -m0755 examples/sam/sam_skel.so $RPM_BUILD_ROOT/%{_libdir}/samba/sam/
-%endif
-%endif
-
+%if %{make_vscan}
# install VSCAN-vfs-modules
-install -m0755 examples/VFS/%{name}-vscan-%{vscan_ver}/*/*.so $RPM_BUILD_ROOT/%{_libdir}/samba/vscan/
-
+install -m0755 examples/VFS/samba-vscan-%{vscan_ver}/*/*.so $RPM_BUILD_ROOT/%{_libdir}/samba/vscan/
+%endif
# make examples clean
VFS="$RPM_BUILD_DIR/%{name}-%{samba_ver}/examples/VFS"
-VSCAN="$VFS/%{name}-vscan-%{vscan_ver}"
+VSCAN="$VFS/samba-vscan-%{vscan_ver}"
PDB="$RPM_BUILD_DIR/%{name}-%{samba_ver}/examples/pdb"
-%if %{head} > 0
-%if %{newsam} > 0
-SAM="$RPM_BUILD_DIR/%{name}-%{samba_ver}/examples/sam"
-%endif
-%endif
-dirs="$PDB $SAM"
+dirs="$PDB $SAM $VFS"
(for i in $dirs; do make -C $i clean; done)
+%if %{make_vscan}
(for i in %{vscan_modules}; do make -C $VSCAN/$i clean; done)
-
-%if %{python} > 0
+%endif
# install python
-cp -a source/build/lib.*/samba $RPM_BUILD_ROOT/usr/lib/python2.2/lib-dynload/
+%if %{make_python}
+cp -a source/build/lib.*/samba $RPM_BUILD_ROOT/usr/lib/%{python_ver}/lib-dynload/
+find source/python -name CVS -print | xargs rm -rf
+find source/python -name ".cvsignore" -print | xargs rm -rf
%endif
-
# whats this ?
install -m0755 source/bin/debug2html $RPM_BUILD_ROOT/usr/bin/
-
-%if %{smbwrap}
# install smbwrapper
+%if %{make_smbwrap}
install -m0755 source/bin/smbwrapper.so $RPM_BUILD_ROOT/%{_libdir}/samba/
install -m0755 source/bin/smbsh $RPM_BUILD_ROOT/usr/bin/
%endif
-
-# finally obsolete with alpha17 makefile
-# install unicode-codepages
-#install -m0755 source/codepages/{lowcase,upcase,valid}.dat $RPM_BUILD_ROOT/etc/samba/
-
+##############
# cleanup docs
-rm -rf docs/*.[0-9]
-chmod 644 `find docs examples -type f`
-chmod 755 `find docs examples -type d`
+##############
+#chmod 644 `find docs examples -type f`
+#chmod 755 `find docs examples -type d`
+#find . -name CVS -print | xargs rm -rf
+#find . -name ".cvsignore" -print | xargs rm -rf
mv COPYING Manifest README Read-Manifest-Now Roadmap WHATSNEW.txt $RPM_BUILD_ROOT/%{DOCDIR}/
cp source/msdfs/README $RPM_BUILD_ROOT/%{DOCDIR}/README.msdfs
-#cp source/nsswitch/README $RPM_BUILD_ROOT/%{DOCDIR}/README.nsswitch
cp source/smbwrapper/README $RPM_BUILD_ROOT/%{DOCDIR}/README.smbwrapper
+%if %{ul_version} >= 1
+ SUFFIX="UnitedLinux"
+%else
+ SUFFIX="SuSE"
+%endif
+cp README.vendor ${RPM_BUILD_ROOT}/%{DOCDIR}/README.${SUFFIX}
+# pam_smbpass is missing
+cp -a source/pam_smbpass/samples examples/pam_smbpass/
+cp -a source/pam_smbpass/{CHANGELOG,INSTALL,README,TODO} examples/pam_smbpass/
+# prepare docbook package
+cp -a docs/docbook/* $RPM_BUILD_ROOT/%{DOCBOOKDIR}
+#make -C $RPM_BUILD_ROOT/%{DOCBOOKDIR} clean
+rm -rf $RPM_BUILD_ROOT/%{DOCBOOKDIR}/autom4te.cache
+rm -rf $RPM_BUILD_ROOT/%{DOCBOOKDIR}/config.*
+# this is empty
+rm -rf docs/yodldocs
+rm -rf examples/VFS/samba-vscan-%{vscan_ver}
+# zip manpages at least
+gzip -f docs/manpages/*.[1-9]
cp -a docs/* $RPM_BUILD_ROOT/%{DOCDIR}
cp -a examples/ $RPM_BUILD_ROOT/%{DOCDIR}
# save space...
-rm -r \
- $RPM_BUILD_ROOT/%{SWATDIR}/using_samba
+rm -r $RPM_BUILD_ROOT/%{SWATDIR}/using_samba
ln -s %{DOCDIR}/htmldocs/using_samba $RPM_BUILD_ROOT/%{SWATDIR}
-
+# hm...
+cp $RPM_BUILD_ROOT/%{SWATDIR}/help/welcome.html $RPM_BUILD_ROOT/%{DOCDIR}/htmldocs/
+rm -r $RPM_BUILD_ROOT/%{SWATDIR}/help
+ln -s %{DOCDIR}/htmldocs $RPM_BUILD_ROOT/%{SWATDIR}/help
+# remove cvs
+find $RPM_BUILD_ROOT/%{DOCDIR} -name CVS -print | xargs rm -rf
+find $RPM_BUILD_ROOT/%{DOCDIR} -name ".cvsignore" -print | xargs rm -rf
+# finally build a file-list
+for file in $( find ${RPM_BUILD_ROOT}%{DOCDIR} -maxdepth 1); do
+ # exclude %{DOCDIR} and docbook
+ case "${file#${RPM_BUILD_ROOT}}" in
+ %{DOCDIR}|%{DOCDIR}/docbook) continue ;;
+ esac
+ echo "%doc ${file#${RPM_BUILD_ROOT}}" >> ${RPM_BUILD_DIR}/%{name}-%{samba_ver}/filelist-doc
+done
%post
-###### disabled for 8.1
-###echo "Updating etc/rc.config..."
-##if [ -x bin/fillup ] ; then
-## bin/fillup -q -d = etc/rc.config var/adm/fillup-templates/rc.config.samba
-## bin/fillup -q -d = etc/rc.config var/adm/fillup-templates/rc.config.winbind
-##else
-## echo "ERROR: fillup not found. This should not happen. Please compare"
-## echo "etc/rc.config and var/adm/fillup-templates/rc.config.samba and"
-## echo "var/adm/fillup-templates/rc.config.winbind and update by hand."
-##fi
+%{fillup_and_insserv smb}
mkdir -p $RPM_BUILD_ROOT/var/adm/notify/messages
cat << EOF > var/adm/notify/messages/samba-notify
Achtung!
-
This is %{name}-%{samba_ver}. Please do not run on production systems.
-
You have been warned.
EOF
-# Initialize runlevel links
-#
-%{fillup_and_insserv smb}
-#sbin/insserv /etc/init.d/smb
-
%post client
-#sbin/insserv /etc/init.d/smbfs
%{fillup_and_insserv -fpy smbfs}
%{fillup_only -ans samba client}
+%post winbind
+%{fillup_and_insserv winbind}
+
%postun
%{insserv_cleanup}
-#sbin/insserv /etc/init.d/
%postun client
%{insserv_cleanup}
-#sbin/insserv /etc/init.d/
-
-%post winbind
-%{fillup_and_insserv winbind}
-#sbin/insserv /etc/init.d/winbind
%postun winbind
%{insserv_cleanup}
-#sbin/insserv /etc/init.d/
%clean
#make -C source realclean
%files
-%config(noreplace) /etc/samba/smbpasswd
-%config /etc/pam.d/samba
+#/usr/bin/addtosmbpass
+#/usr/bin/convert_smbpasswd
+%dir /etc/samba
+%dir /usr/lib/samba
+%config /etc/init.d/nmb
%config /etc/init.d/smb
-%config /etc/init.d/wrepl
-#/usr/bin/make_printerdef
-/usr/bin/addtosmbpass
-/usr/bin/convert_smbpasswd
-/usr/bin/ntlm_auth
-/usr/bin/profiles
-/usr/bin/smbfilter
-/usr/bin/smbpasswd
-/usr/bin/smbstatus
-/usr/bin/testparm
-/usr/bin/testprns
-#%doc %{_mandir}/man1/smbrun.1.gz
-%doc %{_mandir}/man1/smbsh.1.gz
+%config /etc/pam.d/samba
+%config(noreplace) /etc/samba/smbpasswd
+%config(noreplace) /etc/samba/smbusers
+%doc %{_mandir}/man1/smbcontrol.1.gz
%doc %{_mandir}/man1/smbstatus.1.gz
%doc %{_mandir}/man1/testparm.1.gz
%doc %{_mandir}/man1/testprns.1.gz
%doc %{_mandir}/man5/smbpasswd.5.gz
%doc %{_mandir}/man7/samba.7.gz
%doc %{_mandir}/man8/nmbd.8.gz
+%doc %{_mandir}/man8/pdbedit.8.gz
%doc %{_mandir}/man8/smbd.8.gz
%doc %{_mandir}/man8/smbpasswd.8.gz
%doc %{_mandir}/man8/swat.8.gz
+%doc %{_mandir}/man8/tdbbackup.8.gz
+%{_includedir}/samba
+/lib/security/pam_smbpass.so
+/usr/bin/pdbedit
+/usr/bin/smbcontrol
+/usr/bin/smbpasswd
+/usr/bin/smbstatus
+/usr/bin/tdbbackup
+/usr/bin/tdbdump
+/usr/bin/tdbtest
+/usr/bin/tdbtool
+/usr/bin/testparm
+/usr/bin/testprns
+/usr/lib/samba/rpc
+/usr/lib/samba/vfs
/usr/sbin/nmbd
+/usr/sbin/rcnmb
+/usr/sbin/rcsmb
/usr/sbin/smbd
/usr/sbin/swat
-/usr/sbin/wrepld
-/usr/sbin/rcsmb
-/usr/sbin/rcwrepl
-#/var/adm/fillup-templates/rc.config.samba
+/usr/share/samba
+/var/lib/samba
/var/log/samba
-/var/spool/samba
/var/run/samba
-/var/lib/samba
-/usr/share/samba
-/lib/security/pam_smbpass.so
+/var/spool/samba
%files client
-%config(noreplace) /etc/samba/smb.conf
-%config(noreplace) /etc/samba/lmhosts
-/etc/samba/lowcase.dat
-/etc/samba/upcase.dat
-/etc/samba/valid.dat
%config /etc/init.d/smbfs
-/usr/sbin/rcsmbfs
+%config(noreplace) /etc/samba/lmhosts
+%config(noreplace) /etc/samba/smb.conf
+%config(noreplace) /etc/samba/smbfstab
+%dir /etc/samba
+%dir /usr/lib/samba
+%doc %{_mandir}/man1/editreg.1.gz
+%doc %{_mandir}/man1/findsmb.1.gz
+%doc %{_mandir}/man1/nmblookup.1.gz
+%doc %{_mandir}/man1/profiles.1.gz
+%doc %{_mandir}/man1/rpcclient.1.gz
+%doc %{_mandir}/man1/smbcacls.1.gz
+%doc %{_mandir}/man1/smbclient.1.gz
+%doc %{_mandir}/man1/smbcquotas.1.gz
+%doc %{_mandir}/man1/smbtar.1.gz
+%doc %{_mandir}/man1/smbtree.1.gz
+%doc %{_mandir}/man5/lmhosts.5.gz
+%doc %{_mandir}/man5/smb.conf.5.gz
+%doc %{_mandir}/man7/Samba.7.gz
+%doc %{_mandir}/man8/net.8.gz
+%doc %{_mandir}/man8/smbmnt.8.gz
+%doc %{_mandir}/man8/smbmount.8.gz
+%doc %{_mandir}/man8/smbspool.8.gz
+%doc %{_mandir}/man8/smbumount.8.gz
/sbin/mount.smbfs
+/usr/bin/editreg
/usr/bin/findsmb
/usr/bin/net
/usr/bin/nmblookup
-/usr/bin/pdbedit
+/usr/bin/profiles
/usr/bin/rpcclient
/usr/bin/smbcacls
-/usr/bin/smbcontrol
/usr/bin/smbclient
+/usr/bin/smbcquotas
+/usr/bin/smbfilter
/usr/bin/smbmnt
/usr/bin/smbmount
-%if %{smbwrap}
-/usr/bin/smbsh
-%endif
-/usr/bin/smbumount
/usr/bin/smbspool
/usr/bin/smbtar
/usr/bin/smbtree
-%doc %{_mandir}/man1/nmblookup.1.gz
-%doc %{_mandir}/man1/rpcclient.1.gz
-%doc %{_mandir}/man1/smbclient.1.gz
-%doc %{_mandir}/man1/smbcacls.1.gz
-%doc %{_mandir}/man1/smbcontrol.1.gz
-%doc %{_mandir}/man1/smbtar.1.gz
-%doc %{_mandir}/man5/lmhosts.5.gz
-%doc %{_mandir}/man5/smb.conf.5.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/smbspool.8.gz
-%doc %{_mandir}/man8/smbumount.8.gz
-/usr/include/libsmbclient.h
-%if %{smbwrap}
+/usr/bin/smbumount
+/usr/lib/samba/lowcase.dat
+/usr/lib/samba/upcase.dat
+/usr/lib/samba/valid.dat
+/usr/sbin/rcsmbfs
+%if %{make_smbwrap}
+/usr/bin/smbsh
+%doc %{_mandir}/man1/smbsh.1.gz
/usr/lib/samba/smbwrapper.so
%endif
-/usr/lib/libsmbclient.a
-/usr/lib/libsmbclient.so
-/usr/lib/libsmbclient.so.0
%files winbind
-%config(noreplace) /etc/samba/smb.conf.winbind
%config /etc/init.d/winbind
+%config(noreplace) /etc/samba/smb.conf
+%dir /etc/samba
%doc %{_mandir}/man1/wbinfo.1.gz
%doc %{_mandir}/man8/winbindd.8.gz
-/usr/bin/wbinfo
-%if %{head} > 0
+%doc %{_mandir}/man1/ntlm_auth.1.gz
+/lib/libnss_winbind.so*
+/lib/libnss_wins.so*
+/lib/security/pam_winbind.so
/usr/bin/ntlm_auth
-%endif
-/usr/sbin/winbindd
+/usr/bin/wbinfo
/usr/sbin/rcwinbind
-#/var/adm/fillup-templates/rc.config.winbind
-/lib/security/pam_winbind.so
-/lib/libnss_winbind.so
-/lib/libnss_winbind.so.2
-/lib/libnss_wins.so
-/lib/libnss_wins.so.2
+/usr/sbin/winbindd
%files utils
-/usr/bin/smbtorture
-/usr/bin/msgtest
-/usr/bin/masktest
+%doc %{_mandir}/man1/vfstest.1.gz
+/usr/bin/debug2html
/usr/bin/locktest
/usr/bin/locktest2
-/usr/bin/debug2html
+/usr/bin/masktest
+/usr/bin/msgtest
+/usr/bin/nsstest
+/usr/bin/smbtorture
/usr/bin/talloctort
-/usr/bin/tdbbackup
-/usr/bin/tdbdump
-/usr/bin/tdbtest
-/usr/bin/tdbtool
/usr/bin/tdbtorture
/usr/bin/vfstest
-/usr/bin/nsstest
-%if %{head} > 0
-%if %{newsam} > 0
-/usr/bin/samtest
-%endif
-/usr/bin/profiles
-/usr/bin/editreg
-%endif
-%doc %{_mandir}/man1/vfstest.1.gz
-%files doc
-%docdir %{DOCDIR}
-%{DOCDIR}
+%files doc -f filelist-doc
+%dir /usr/share/doc/packages/samba3
+
+%files docbook
+%docdir %{DOCBOOKDIR}
+%{DOCBOOKDIR}
+%dir /usr/share/doc/packages/samba3
%files pdb
/usr/lib/samba/pdb
-%doc examples/pdb/*
-
-%files vfs
-/usr/lib/samba/vfs
-%doc examples/VFS/README*
-%doc examples/VFS/Makefile*
-#doc examples/VFS/audit*
-#%doc examples/VFS/block*
-#doc examples/VFS/netatalk*
-#doc examples/VFS/recycle*
-%doc examples/VFS/skel*
+%doc examples/pdb/{Makefile,README,pdb_test.c}
+%doc examples/pdb/{mysql/mysql.dump,mysql/smb.conf}
+%if %{make_cifsvfs}
-%if %{newsam} > 0
-%files sam
-/usr/lib/samba/sam
-%if %{head} > 0
-%doc examples/sam/*
+%files cifsmount
+/sbin/mount.cifs
%endif
+%if %{make_wrepld}
+
+%files wrepld
+%config /etc/init.d/wrepl
+/usr/sbin/rcwrepl
+/usr/sbin/wrepld
%endif
+%if %{make_vscan}
%files vscan
/usr/lib/samba/vscan
-%doc %{name}-vscan-%{vscan_ver}/{AUTHORS,COPYING,ChangeLog,FAQ,NEWS,README,TODO}
-
+%doc samba-vscan-%{vscan_ver}/{AUTHORS,COPYING,ChangeLog,FAQ,NEWS,README,TODO}
+%endif
+%if %{make_python}
%files python
%doc source/python/README
-%if %{python} > 0
-/usr/lib/python2.2/lib-dynload/samba
%doc source/python/examples
%doc source/python/gprinterdata
%doc source/python/gtdbtool
%doc source/python/gtkdictbrowser.py
-%if %{head} > 0
-%doc source/python/gtkdictbrowser.pyc
-%doc source/python/printerdata.pyc
-%endif
+/usr/lib/%{python_ver}/lib-dynload/samba
%endif
-%description
-Samba is a suite of programs which work together to allow clients to
-access Unix filespace and printers via the SMB protocol (Server Message
-Block).
-In practice, this means that you can redirect disks and printers to
-Unix disks and printers from LAN Manager clients, Windows for
-Workgroups 3.11 clients, Windows'95 clients, Windows NT clients
-and OS/2 clients. There is
-also a Unix client program supplied as part of the suite which allows
-Unix users to use an ftp-like interface to access filespace and
-printers on any other SMB server.
-Samba includes the following programs (in summary):
-* smbd, the SMB server. This handles actual connections from clients.
-* nmbd, the Netbios name server, which helps clients locate servers.
-* smbclient, the Unix-hosted client program.
-* smbrun, a little 'glue' program to help the server run external
-programs.
-* testprns, a program to test server access to printers.
-* testparm, a program to test the Samba configuration file for correctness.
-* smb.conf, the Samba configuration file.
-* smbprint, a sample script to allow a Unix host to use smbclient
-to print to an SMB server.
-The suite is supplied with full source and is GPLed.
-This package expects its config file under /etc/smb.conf .
+%files -n libsmbclient
+%{_libdir}/libsmbclient.so.*
-Authors:
---------
- Andrew Tridgell <Andrew.Tridgell@anu.edu.au>
- Karl Auer <Karl.Auer@anu.edu.au>
- Jeremy Allison <jeremy@netcom.com>
+%files -n libsmbclient-devel
+%{_includedir}/libsmbclient.h
+%{_libdir}/libsmbclient.a
+%{_libdir}/libsmbclient.so
-SuSE series: n
+%description
+samba3
%description client
-This package contains all programs, that are needed to act as a samba
-client. This includes also smbmount, of course.
-
-Authors:
---------
- Andrew Tridgell <Andrew.Tridgell@anu.edu.au>
- Karl Auer <Karl.Auer@anu.edu.au>
- Jeremy Allison <jeremy@netcom.com>
-
-SuSE series: n
+samba3-client
%description winbind
-This is the winbind-daemon and the wbinfo-tool.
+samba3-winbind
+
%description utils
-Some of the debug-tools for developpers.
-Contains:
- - debug2html
- - locktest
- - locktest2
- - masktest
- - msgtest
- - smbtorture
- - talloctort
- - several tdb-tools
+samba3-utils
+
%description doc
-The Samba Documentation.
+samba3-doc
+
+
+%description docbook
+samba3-docbook
-%description vfs
-The Samba VFS-Modules.
%description pdb
-The Samba PDB-Modules.
+samba3-pdb
+
+%if %{make_cifsvfs}
+
+%description cifsmount
+samba3-cifsmount
-%if %{newsam} > 0
-%description sam
-The Samba SAM-Modules.
%endif
+%if %{make_vscan}
%description vscan
-The Samba VFS-Modules for Virusscanners.
+samba3-vscan
+
+%endif
+%if %{make_python}
%description python
-The Samba python-Modules.
+samba3-python
+
+%endif
+%if %{make_wrepld}
+
+%description wrepld
+samba3-wrepld
+
+%endif
+
+%description -n libsmbclient
+This package includes the libsmbclient library.
+
+Authors:
+--------
+ The Samba Team <samba@samba.org>
+
+
+%description -n libsmbclient-devel
+This package contains static libraries and header files needed to develop
+programs which make use of the smbclient programming interface.
+
+Authors:
+--------
+ The Samba Team <samba@samba.org>
+
+