summaryrefslogtreecommitdiff
path: root/packaging
diff options
context:
space:
mode:
Diffstat (limited to 'packaging')
-rw-r--r--packaging/Debian/debian/patches/krb5-vars.patch685
-rw-r--r--packaging/Debian/debian/patches/pam_smbpass_linkage.patch24
-rw-r--r--packaging/Debian/debian/patches/smbclient-tar.patch43
-rw-r--r--packaging/Mandrake/swat_16.png.bz2bin0 -> 1142 bytes
-rw-r--r--packaging/Mandrake/swat_32.png.bz2bin0 -> 2870 bytes
-rw-r--r--packaging/Mandrake/swat_48.png.bz2bin0 -> 5072 bytes
-rw-r--r--packaging/RedHat/samba.spec.tmpl440
-rw-r--r--packaging/Solaris/.cvsignore4
-rw-r--r--packaging/SuSE/README18
-rw-r--r--packaging/SuSE/samba-3.0.0-msdfs.diff97
-rw-r--r--packaging/SuSE/samba-3.0.0-net_ads.diff140
-rw-r--r--packaging/SuSE/samba-3.0.0-pdb.diff11
-rw-r--r--packaging/SuSE/samba-3.0.0-python.diff44
-rw-r--r--packaging/SuSE/samba-3.0.0-vscan.diff80
-rw-r--r--packaging/SuSE/samba-3.0.0.files.tar.bz2bin0 -> 7266 bytes
-rw-r--r--packaging/SuSE/samba-vscan-0.3.1.tar.bz2bin0 -> 51383 bytes
-rw-r--r--packaging/SuSE/samba3.spec764
17 files changed, 2350 insertions, 0 deletions
diff --git a/packaging/Debian/debian/patches/krb5-vars.patch b/packaging/Debian/debian/patches/krb5-vars.patch
new file mode 100644
index 0000000000..28ee4855d8
--- /dev/null
+++ b/packaging/Debian/debian/patches/krb5-vars.patch
@@ -0,0 +1,685 @@
+--- samba_3_0/source/Makefile.in.orig 2003-07-15 12:26:55.000000000 -0400
++++ samba_3_0/source/Makefile.in 2003-07-15 12:26:57.000000000 -0400
+@@ -32,7 +32,6 @@
+ ACLLIBS=@ACLLIBS@
+ PASSDBLIBS=@PASSDBLIBS@
+ IDMAP_LIBS=@IDMAP_LIBS@
+-ADSLIBS=@ADSLIBS@
+ KRB5LIBS=@KRB5_LIBS@
+ LDAPLIBS=@LDAP_LIBS@
+
+@@ -735,12 +734,12 @@
+
+ bin/smbd@EXEEXT@: $(SMBD_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+- @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(ADSLIBS) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \
++ @$(CC) $(FLAGS) -o $@ $(SMBD_OBJ) $(KRB5LIBS) $(LDAPLIBS) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \
+ $(AUTHLIBS) $(ACLLIBS) $(PASSDBLIBS) $(LIBS) @POPTLIBS@
+
+ bin/nmbd@EXEEXT@: $(NMBD_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+- @$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@ $(ADSLIBS)
++ @$(CC) $(FLAGS) -o $@ $(NMBD_OBJ) $(LDFLAGS) $(DYNEXP) $(LIBS) @POPTLIBS@ $(KRB5LIBS) $(LDAPLIBS)
+
+ bin/wrepld@EXEEXT@: $(WREPL_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+@@ -749,19 +748,19 @@
+ bin/swat@EXEEXT@: $(SWAT_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+ @$(CC) $(FLAGS) -o $@ $(SWAT_OBJ) $(LDFLAGS) $(DYNEXP) $(PRINTLIBS) \
+- $(AUTHLIBS) $(LIBS) $(PASSDBLIBS) @POPTLIBS@ $(KRB5LIBS)
++ $(AUTHLIBS) $(LIBS) $(PASSDBLIBS) @POPTLIBS@ $(KRB5LIBS) $(LDAPLIBS)
+
+ bin/rpcclient@EXEEXT@: $(RPCCLIENT_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+- @$(CC) $(FLAGS) -o $@ $(PASSDBLIBS) $(RPCCLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @POPTLIBS@ $(ADSLIBS)
++ @$(CC) $(FLAGS) -o $@ $(PASSDBLIBS) $(RPCCLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @POPTLIBS@ $(KRB5LIBS) $(LDAPLIBS)
+
+ bin/smbclient@EXEEXT@: $(CLIENT_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+- @$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @POPTLIBS@ $(ADSLIBS)
++ @$(CC) $(FLAGS) -o $@ $(CLIENT_OBJ) $(LDFLAGS) $(DYNEXP) $(TERMLDFLAGS) $(TERMLIBS) $(LIBS) @POPTLIBS@ $(KRB5LIBS) $(LDAPLIBS)
+
+ bin/net@EXEEXT@: $(NET_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+- @$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) @POPTLIBS@ $(ADSLIBS) $(PASSDBLIBS)
++ @$(CC) $(FLAGS) -o $@ $(NET_OBJ) $(DYNEXP) $(LDFLAGS) $(LIBS) @POPTLIBS@ $(KRB5LIBS) $(LDAPLIBS) $(PASSDBLIBS)
+
+ bin/profiles@EXEEXT@: $(PROFILES_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+@@ -809,7 +808,7 @@
+
+ bin/smbpasswd@EXEEXT@: $(SMBPASSWD_OBJ) bin/.dummy
+ @echo Linking $@
+- @$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(PASSDBLIBS) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS)
++ @$(CC) $(FLAGS) -o $@ $(SMBPASSWD_OBJ) $(PASSDBLIBS) $(LDFLAGS) $(DYNEXP) $(LIBS) $(KRB5LIBS) $(LDAPLIBS)
+
+ bin/pdbedit@EXEEXT@: $(PDBEDIT_OBJ) @BUILD_POPT@ bin/.dummy
+ @echo Linking $@
+@@ -881,7 +880,7 @@
+
+ bin/smbw_sample@EXEEXT@: $(SMBW_OBJ) utils/smbw_sample.o bin/.dummy
+ @echo Linking $@
+- @$(CC) $(FLAGS) -o $@ $(SMBW_OBJ) utils/smbw_sample.o $(LDFLAGS) $(LIBS) $(KRB5LIBS)
++ @$(CC) $(FLAGS) -o $@ $(SMBW_OBJ) utils/smbw_sample.o $(LDFLAGS) $(LIBS) $(KRB5LIBS) $(LDAPLIBS)
+
+ bin/smbsh@EXEEXT@: $(SMBSH_OBJ) bin/.dummy
+ @echo Linking $@
+@@ -890,12 +889,14 @@
+ bin/smbwrapper.@SHLIBEXT@: $(PICOBJS) bin/.dummy
+ @echo Linking shared library $@
+ @$(SHLD) $(LDSHFLAGS) -o $@ $(PICOBJS) $(LIBS) \
+- @SONAMEFLAG@`basename $@` $(KRB5LIBS)
++ $(KRB5LIBS) $(LDAPLIBS) \
++ @SONAMEFLAG@`basename $@`
+
+ bin/libsmbclient.@SHLIBEXT@: $(LIBSMBCLIENT_PICOBJS)
+ @echo Linking libsmbclient shared library $@
+ @$(SHLD) $(LDSHFLAGS) -o $@ $(LIBSMBCLIENT_PICOBJS) $(LDFLAGS) $(LIBS) \
+- $(KRB5LIBS) @SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR)
++ $(KRB5LIBS) $(LDAPLIBS) \
++ @SONAMEFLAG@`basename $@`.$(LIBSMBCLIENT_MAJOR)
+
+ bin/libsmbclient.a: $(LIBSMBCLIENT_PICOBJS)
+ @echo Linking libsmbclient non-shared library $@
+@@ -905,7 +906,8 @@
+ bin/libbigballofmud.@SHLIBEXT@: $(LIBBIGBALLOFMUD_PICOBJS)
+ @echo Linking bigballofmud shared library $@
+ @$(SHLD) $(LDSHFLAGS) -o $@ $(LIBBIGBALLOFMUD_PICOBJS) $(LIBS) \
+- @SONAMEFLAG@`basename $@`.$(LIBBIGBALLOFMUD_MAJOR) $(PASSDBLIBS) $(IDMAP_LIBS) $(ADSLIBS)
++ $(PASSDBLIBS) $(IDMAP_LIBS) $(KRB5LIBS) $(LDAPLIBS) \
++ @SONAMEFLAG@`basename $@`.$(LIBBIGBALLOFMUD_MAJOR)
+ ln -snf libbigballofmud.so bin/libbigballofmud.so.0
+
+ # It would be nice to build a static bigballofmud too, but when I try
+diff -uNr samba-3.0.0beta2.orig/source/aclocal.m4 samba-3.0.0beta2/source/aclocal.m4
+--- samba-3.0.0beta2.orig/source/aclocal.m4 2003-07-01 15:44:25.000000000 -0500
++++ samba-3.0.0beta2/source/aclocal.m4 2003-07-05 16:22:30.000000000 -0500
+@@ -111,6 +111,113 @@
+ esac
+ ])
+
++# AC_CHECK_LIB_EXT(LIBRARY, [EXT_LIBS], [FUNCTION],
++# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND],
++# [ADD-ACTION-IF-FOUND],[OTHER-LIBRARIES])
++# ------------------------------------------------------
++#
++# Use a cache variable name containing both the library and function name,
++# because the test really is for library $1 defining function $3, not
++# just for library $1. Separate tests with the same $1 and different $3s
++# may have different results.
++#
++# Note that using directly AS_VAR_PUSHDEF([ac_Lib], [ac_cv_lib_$1_$3])
++# is asking for troubles, since AC_CHECK_LIB($lib, fun) would give
++# ac_cv_lib_$lib_fun, which is definitely not what was meant. Hence
++# the AS_LITERAL_IF indirection.
++#
++# FIXME: This macro is extremely suspicious. It DEFINEs unconditionnally,
++# whatever the FUNCTION, in addition to not being a *S macro. Note
++# that the cache does depend upon the function we are looking for.
++#
++# It is on purpose we used `ac_check_lib_ext_save_LIBS' and not just
++# `ac_save_LIBS': there are many macros which don't want to see `LIBS'
++# changed but still want to use AC_CHECK_LIB_EXT, so they save `LIBS'.
++# And ``ac_save_LIBS' is too tempting a name, so let's leave them some
++# freedom.
++AC_DEFUN([AC_CHECK_LIB_EXT],
++[
++AH_CHECK_LIB_EXT([$1])
++ac_check_lib_ext_save_LIBS=$LIBS
++LIBS="-l$1 $$2 $7 $LIBS"
++AS_LITERAL_IF([$1],
++ [AS_VAR_PUSHDEF([ac_Lib_ext], [ac_cv_lib_ext_$1])],
++ [AS_VAR_PUSHDEF([ac_Lib_ext], [ac_cv_lib_ext_$1''])])dnl
++
++m4_ifval([$3],
++ [
++ AH_CHECK_FUNC_EXT([$3])
++ AS_LITERAL_IF([$1],
++ [AS_VAR_PUSHDEF([ac_Lib_func], [ac_cv_lib_ext_$1_$3])],
++ [AS_VAR_PUSHDEF([ac_Lib_func], [ac_cv_lib_ext_$1''_$3])])dnl
++ AC_CACHE_CHECK([for $3 in -l$1], ac_Lib_func,
++ [AC_TRY_LINK_FUNC($3,
++ [AS_VAR_SET(ac_Lib_func, yes);
++ AS_VAR_SET(ac_Lib_ext, yes)],
++ [AS_VAR_SET(ac_Lib_func, no);
++ AS_VAR_SET(ac_Lib_ext, no)])
++ ])
++ AS_IF([test AS_VAR_GET(ac_Lib_func) = yes],
++ [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$3))])dnl
++ AS_VAR_POPDEF([ac_Lib_func])dnl
++ ],[
++ AC_CACHE_CHECK([for -l$1], ac_Lib_ext,
++ [AC_TRY_LINK_FUNC([main],
++ [AS_VAR_SET(ac_Lib_ext, yes)],
++ [AS_VAR_SET(ac_Lib_ext, no)])
++ ])
++ ])
++LIBS=$ac_check_lib_ext_save_LIBS
++
++AS_IF([test AS_VAR_GET(ac_Lib_ext) = yes],
++ [m4_default([$4],
++ [AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_LIB$1))
++ case "$$2" in
++ *-l$1*)
++ ;;
++ *)
++ $2="$$2 -l$1"
++ ;;
++ esac])
++ [$6]
++ ],
++ [$5])dnl
++AS_VAR_POPDEF([ac_Lib_ext])dnl
++])# AC_CHECK_LIB_EXT
++
++# AH_CHECK_LIB_EXT(LIBNAME)
++# ---------------------
++m4_define([AH_CHECK_LIB_EXT],
++[AH_TEMPLATE(AS_TR_CPP(HAVE_LIB$1),
++ [Define to 1 if you have the `]$1[' library (-l]$1[).])])
++
++# AC_CHECK_FUNCS_EXT(FUNCTION, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
++# -----------------------------------------------------------------
++dnl check for a function in a $LIBS and $OTHER_LIBS libraries variable.
++dnl AC_CHECK_FUNC_EXT(func,OTHER_LIBS,IF-TRUE,IF-FALSE)
++AC_DEFUN([AC_CHECK_FUNC_EXT],
++[
++ AH_CHECK_FUNC_EXT($1)
++ ac_check_func_ext_save_LIBS=$LIBS
++ LIBS="$2 $LIBS"
++ AS_VAR_PUSHDEF([ac_var], [ac_cv_func_ext_$1])dnl
++ AC_CACHE_CHECK([for $1], ac_var,
++ [AC_LINK_IFELSE([AC_LANG_FUNC_LINK_TRY([$1])],
++ [AS_VAR_SET(ac_var, yes)],
++ [AS_VAR_SET(ac_var, no)])])
++ LIBS=$ac_check_func_ext_save_LIBS
++ AS_IF([test AS_VAR_GET(ac_var) = yes],
++ [AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1])) $3],
++ [$4])dnl
++AS_VAR_POPDEF([ac_var])dnl
++])# AC_CHECK_FUNC
++
++# AH_CHECK_FUNC_EXT(FUNCNAME)
++# ---------------------
++m4_define([AH_CHECK_FUNC_EXT],
++[AH_TEMPLATE(AS_TR_CPP(HAVE_$1),
++ [Define to 1 if you have the `]$1[' function.])])
++
+ dnl Define an AC_DEFINE with ifndef guard.
+ dnl AC_N_DEFINE(VARIABLE [, VALUE])
+ define(AC_N_DEFINE,
+diff -uNr samba-3.0.0beta2.orig/source/configure.in samba-3.0.0beta2/source/configure.in
+--- samba-3.0.0beta2.orig/source/configure.in 2003-07-05 16:22:00.000000000 -0500
++++ samba-3.0.0beta2/source/configure.in 2003-07-05 16:23:53.000000000 -0500
+@@ -162,12 +162,10 @@
+ AC_SUBST(PRINTLIBS)
+ AC_SUBST(AUTHLIBS)
+ AC_SUBST(ACLLIBS)
+-AC_SUBST(ADSLIBS)
+ AC_SUBST(PASSDBLIBS)
+ AC_SUBST(IDMAP_LIBS)
+ AC_SUBST(KRB5_LIBS)
+ AC_SUBST(LDAP_LIBS)
+-AC_SUBST(LDAP_OBJ)
+ AC_SUBST(SHLIB_PROGS)
+ AC_SUBST(SMBWRAPPER)
+ AC_SUBST(EXTRA_BIN_PROGS)
+@@ -2105,14 +2103,107 @@
+ AC_MSG_RESULT(no)
+ )
+
++########################################################
++# Compile with LDAP support?
++
++with_ldap_support=auto
++AC_MSG_CHECKING([for LDAP support])
++
++AC_ARG_WITH(ldap,
++[ --with-ldap LDAP support (default yes)],
++[ case "$withval" in
++ yes|no)
++ with_ldap_support=$withval
++ ;;
++ esac ])
++
++AC_MSG_RESULT($with_ldap_support)
++
++SMBLDAP=""
++SMBLDAP_PROTO=""
++AC_SUBST(SMBLDAP)
++AC_SUBST(SMBLDAP_PROTO)
++if test x"$with_ldap_support" != x"no"; then
++
++ ##################################################################
++ # first test for ldap.h and lber.h
++ # (ldap.h is required for this test)
++ AC_CHECK_HEADERS(ldap.h lber.h)
++
++ if test x"$ac_cv_header_ldap_h" != x"yes"; then
++ if test x"$with_ldap_support" = x"yes"; then
++ AC_MSG_ERROR(ldap.h is needed for LDAP support)
++ else
++ AC_MSG_WARN(ldap.h is needed for LDAP support)
++ fi
++
++ with_ldap_support=no
++ fi
++fi
++
++if test x"$with_ldap_support" != x"no"; then
++ ac_save_LIBS=$LIBS
++
++ ##################################################################
++ # we might need the lber lib on some systems. To avoid link errors
++ # this test must be before the libldap test
++ AC_CHECK_LIB_EXT(lber, LDAP_LIBS, ber_scanf)
++
++ ########################################################
++ # now see if we can find the ldap libs in standard paths
++ AC_CHECK_LIB_EXT(ldap, LDAP_LIBS, ldap_init)
++
++ AC_CHECK_FUNC_EXT(ldap_domain2hostlist,$LDAP_LIBS)
++
++ ########################################################
++ # If we have LDAP, does it's rebind procedure take 2 or 3 arguments?
++ # Check found in pam_ldap 145.
++ AC_CHECK_FUNC_EXT(ldap_set_rebind_proc,$LDAP_LIBS)
++
++ LIBS="$LIBS $LDAP_LIBS"
++ AC_CACHE_CHECK(whether ldap_set_rebind_proc takes 3 arguments, smb_ldap_cv_ldap_set_rebind_proc, [
++ AC_TRY_COMPILE([
++ #include <lber.h>
++ #include <ldap.h>],
++ [ldap_set_rebind_proc(0, 0, 0);],
++ [smb_ldap_cv_ldap_set_rebind_proc=3],
++ [smb_ldap_cv_ldap_set_rebind_proc=2]
++ )
++ ])
++
++ AC_DEFINE_UNQUOTED(LDAP_SET_REBIND_PROC_ARGS, $smb_ldap_cv_ldap_set_rebind_proc, [Number of arguments to ldap_set_rebind_proc])
++
++ AC_CHECK_FUNC_EXT(ldap_initialize,$LDAP_LIBS)
++
++ if test x"$ac_cv_lib_ext_ldap_ldap_init" = x"yes" -a x"$ac_cv_func_ext_ldap_domain2hostlist" = x"yes"; then
++ AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available])
++ default_static_modules="$default_static_modules pdb_ldap idmap_ldap";
++ SMBLDAP="lib/smbldap.o"
++ with_ldap_support=yes
++ AC_MSG_CHECKING(whether LDAP support is used)
++ AC_MSG_RESULT(yes)
++ else
++ if test x"$with_ldap_support" = x"yes"; then
++ AC_MSG_ERROR(libldap is needed for LDAP support)
++ else
++ AC_MSG_WARN(libldap is needed for LDAP support)
++ fi
++
++ LDAP_LIBS=""
++ with_ldap_support=no
++ fi
++ LIBS=$ac_save_LIBS
++fi
++
++
+ #################################################
+ # active directory support
+
+ with_ads_support=auto
+-AC_MSG_CHECKING([whether to use Active Directory])
++AC_MSG_CHECKING([for Active Directory and krb5 support])
+
+ AC_ARG_WITH(ads,
+-[ --with-ads Active Directory support (default yes)],
++[ --with-ads Active Directory support (default auto)],
+ [ case "$withval" in
+ yes|no)
+ with_ads_support="$withval"
+@@ -2124,22 +2215,28 @@
+ FOUND_KRB5=no
+ KRB5_LIBS=""
+
++if test x"$with_ldap_support" != x"yes"; then
++ if test x"$with_ads_support" = x"yes"; then
++ AC_MSG_ERROR(Active Directory Support requires LDAP support)
++ elif test x"$with_ads_support" != x"no"; then
++ AC_MSG_WARN(Active Directory Support requires LDAP support)
++ fi
++ with_ads_support=no
++fi
++
+ if test x"$with_ads_support" != x"no"; then
+
+ # Do no harm to the values of CFLAGS and LIBS while testing for
+ # Kerberos support.
+
+- ac_save_CFLAGS="$CFLAGS"
+- ac_save_LIBS="$LIBS"
+-
+ #################################################
+ # check for krb5-config from recent MIT and Heimdal kerberos 5
+ AC_PATH_PROG(KRB5_CONFIG, krb5-config)
+ AC_MSG_CHECKING(for working krb5-config)
+ if test -x "$KRB5_CONFIG"; then
+- LIBS="$LIBS `$KRB5_CONFIG --libs`"
+- CFLAGS="$CFLAGS `$KRB5_CONFIG --cflags | sed s/@INCLUDE_des@//`"
+- CPPFLAGS="$CPPFLAGS `$KRB5_CONFIG --cflags | sed s/@INCLUDE_des@//`"
++ KRB5_LIBS="`CFLAGS='' $KRB5_CONFIG --libs gssapi`"
++ KRB5_CFLAGS="`$KRB5_CONFIG --cflags | sed s/@INCLUDE_des@//`"
++ KRB5_CPPFLAGS="`$KRB5_CONFIG --cflags | sed s/@INCLUDE_des@//`"
+ FOUND_KRB5=yes
+ AC_MSG_RESULT(yes)
+ else
+@@ -2154,18 +2251,23 @@
+ [ --with-krb5=base-dir Locate Kerberos 5 support (default=/usr)],
+ [ case "$withval" in
+ no)
+- AC_MSG_RESULT(no)
++ AC_MSG_RESULT(no krb5-path given)
++ ;;
++ yes)
++ AC_MSG_RESULT(/usr)
++ KRB5_LIBS="-lkrb5"
++ FOUND_KRB5=yes
+ ;;
+ *)
+- AC_MSG_RESULT(yes)
+- LIBS="$LIBS -lkrb5"
+- CFLAGS="$CFLAGS -I$withval/include"
+- CPPFLAGS="$CPPFLAGS -I$withval/include"
+- LDFLAGS="$LDFLAGS -L$withval/lib"
++ AC_MSG_RESULT($withval)
++ KRB5_LIBS="-lkrb5"
++ KRB5_CFLAGS="-I$withval/include"
++ KRB5_CPPFLAGS="-I$withval/include"
++ KRB5_LDFLAGS="-L$withval/lib"
+ FOUND_KRB5=yes
+ ;;
+ esac ],
+- AC_MSG_RESULT(no)
++ AC_MSG_RESULT(no krb5-path given)
+ )
+ fi
+
+@@ -2175,15 +2277,15 @@
+ AC_MSG_CHECKING(for /usr/include/heimdal)
+ if test -d /usr/include/heimdal; then
+ if test -f /usr/lib/heimdal/lib/libkrb5.a; then
+- LIBS="$LIBS -lkrb5"
+- CFLAGS="$CFLAGS -I/usr/include/heimdal"
+- CPPFLAGS="$CPPFLAGS -I/usr/include/heimdal"
+- LDFLAGS="$LDFLAGS -L/usr/lib/heimdal/lib"
++ KRB5_LIBS="-lkrb5"
++ KRB5_CFLAGS="-I/usr/include/heimdal"
++ KRB5_CPPFLAGS="-I/usr/include/heimdal"
++ KRB5_LDFLAGS="-L/usr/lib/heimdal/lib"
+ AC_MSG_RESULT(yes)
+ else
+- LIBS="$LIBS -lkrb5"
+- CFLAGS="$CFLAGS -I/usr/include/heimdal"
+- CPPFLAGS="$CPPFLAGS -I/usr/include/heimdal"
++ KRB5_LIBS="-lkrb5"
++ KRB5_CFLAGS="-I/usr/include/heimdal"
++ KRB5_CPPFLAGS="-I/usr/include/heimdal"
+ AC_MSG_RESULT(yes)
+ fi
+ else
+@@ -2196,16 +2298,26 @@
+ # see if this box has the RedHat location for kerberos
+ AC_MSG_CHECKING(for /usr/kerberos)
+ if test -d /usr/kerberos -a -f /usr/kerberos/lib/libkrb5.a; then
+- LIBS="$LIBS -lkrb5"
+- LDFLAGS="$LDFLAGS -L/usr/kerberos/lib"
+- CFLAGS="$CFLAGS -I/usr/kerberos/include"
+- CPPFLAGS="$CPPFLAGS -I/usr/kerberos/include"
++ KRB5_LIBS="-lkrb5"
++ KRB5_LDFLAGS="-L/usr/kerberos/lib"
++ KRB5_CFLAGS="-I/usr/kerberos/include"
++ KRB5_CPPFLAGS="-I/usr/kerberos/include"
+ AC_MSG_RESULT(yes)
+ else
+ AC_MSG_RESULT(no)
+ fi
+ fi
+
++ ac_save_CFLAGS=$CFLAGS
++ ac_save_CPPFLAGS=$CPPFLAGS
++ ac_save_LDFLAGS=$LDFLAGS
++
++ CFLAGS="$CFLAGS $KRB5_CFLAGS"
++ CPPFLAGS="$CPPFLAGS $KRB5_CPPFLAGS"
++ LDFLAGS="$LDFLAGS $KRB5_LDFLAGS"
++
++ KRB5_LIBS="$KRB5_LDFLAGS $KRB5_LIBS"
++
+ # now check for krb5.h. Some systems have the libraries without the headers!
+ # note that this check is done here to allow for different kerberos
+ # include paths
+@@ -2225,24 +2337,17 @@
+ # Turn off AD support and restore CFLAGS and LIBS variables
+
+ with_ads_support="no"
+-
+- CFLAGS="$ac_save_CFLAGS"
+- LIBS="$ac_save_LIBS"
+-
+- else
+-
+- # Get rid of case where $with_ads_support=auto
+-
+- with_ads_support="yes"
+-
++
++ CFLAGS=$ac_save_CFLAGS
++ CPPFLAGS=$ac_save_CPPFLAGS
++ LDFLAGS=$ac_save_LDFLAGS
+ fi
+ fi
+
+ # Now we have determined whether we really want ADS support
+
+-if test x"$with_ads_support" = x"yes"; then
+-
+- AC_DEFINE(WITH_ADS,1,[Whether to include Active Directory support])
++if test x"$with_ads_support" != x"no"; then
++ ac_save_LIBS=$LIBS
+
+ # now check for gssapi headers. This is also done here to allow for
+ # different kerberos include paths
+@@ -2250,62 +2355,45 @@
+
+ ##################################################################
+ # we might need the k5crypto and com_err libraries on some systems
+- AC_CHECK_LIB(com_err, _et_list)
+- AC_CHECK_LIB(k5crypto, krb5_encrypt_data)
++ AC_CHECK_LIB_EXT(com_err, KRB5_LIBS, _et_list)
++ AC_CHECK_LIB_EXT(k5crypto, KRB5_LIBS, krb5_encrypt_data)
+
+ # Heimdal checks.
+- AC_CHECK_LIB(crypto, des_set_key)
+- AC_CHECK_LIB(asn1, copy_Authenticator)
+- AC_CHECK_LIB(roken, roken_getaddrinfo_hostspec)
++ AC_CHECK_LIB_EXT(crypto, KRB5_LIBS, des_set_key)
++ AC_CHECK_LIB_EXT(asn1, KRB5_LIBS, copy_Authenticator)
++ AC_CHECK_LIB_EXT(roken, KRB5_LIBS, roken_getaddrinfo_hostspec)
+
+ # 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_CHECK_LIB(krb5, krb5_set_real_time,
+- [AC_DEFINE(HAVE_KRB5_SET_REAL_TIME,1,
+- [Whether krb5_set_real_time is available])])
+- AC_CHECK_LIB(krb5, krb5_set_default_in_tkt_etypes,
+- [AC_DEFINE(HAVE_KRB5_SET_DEFAULT_IN_TKT_ETYPES,1,
+- [Whether krb5_set_default_in_tkt_etypes, is available])])
+- AC_CHECK_LIB(krb5, krb5_set_default_tgs_ktypes,
+- [AC_DEFINE(HAVE_KRB5_SET_DEFAULT_TGS_KTYPES,1,
+- [Whether krb5_set_default_tgs_ktypes is available])])
+-
+- AC_CHECK_LIB(krb5, krb5_principal2salt,
+- [AC_DEFINE(HAVE_KRB5_PRINCIPAL2SALT,1,
+- [Whether krb5_principal2salt is available])])
+- AC_CHECK_LIB(krb5, krb5_use_enctype,
+- [AC_DEFINE(HAVE_KRB5_USE_ENCTYPE,1,
+- [Whether krb5_use_enctype is available])])
+- AC_CHECK_LIB(krb5, krb5_string_to_key,
+- [AC_DEFINE(HAVE_KRB5_STRING_TO_KEY,1,
+- [Whether krb5_string_to_key is available])])
+- AC_CHECK_LIB(krb5, krb5_get_pw_salt,
+- [AC_DEFINE(HAVE_KRB5_GET_PW_SALT,1,
+- [Whether krb5_get_pw_salt is available])])
+- AC_CHECK_LIB(krb5, krb5_string_to_key_salt,
+- [AC_DEFINE(HAVE_KRB5_STRING_TO_KEY_SALT,1,
+- [Whether krb5_string_to_key_salt is available])])
+- AC_CHECK_LIB(krb5, krb5_auth_con_setkey,
+- [AC_DEFINE(HAVE_KRB5_AUTH_CON_SETKEY,1,
+- [Whether krb5_auth_con_setkey is available])])
+- AC_CHECK_LIB(krb5, krb5_auth_con_setuseruserkey,
+- [AC_DEFINE(HAVE_KRB5_AUTH_CON_SETUSERUSERKEY,1,
+- [Whether krb5_auth_con_setuseruserkey is available])])
+- AC_CHECK_LIB(krb5, krb5_locate_kdc,
+- [AC_DEFINE(HAVE_KRB5_LOCATE_KDC,1,
+- [Whether krb5_locate_kdc is available])])
+- AC_CHECK_LIB(krb5, krb5_get_permitted_enctypes,
+- [AC_DEFINE(HAVE_KRB5_GET_PERMITTED_ENCTYPES,1,
+- [Whether krb5_get_permitted_enctypes is available])])
+- AC_CHECK_LIB(krb5, krb5_get_default_in_tkt_etypes,
+- [AC_DEFINE(HAVE_KRB5_GET_DEFAULT_IN_TKT_ETYPES,1,
+- [Whether krb5_get_default_in_tkt_etypes is available])])
+- AC_CHECK_LIB(krb5, krb5_free_ktypes,
+- [AC_DEFINE(HAVE_KRB5_FREE_KTYPES,1,
+- [Whether krb5_free_ktypes 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_get_pw_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_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_free_ktypes, $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 @@
+ [Whether the ENCTYPE_ARCFOUR_HMAC_MD5 key type is available])
+ fi
+
+- ########################################################
+- # now see if we can find the krb5 libs in standard paths
+- # or as specified above
+- AC_CHECK_LIB(krb5, krb5_mk_req_extended, [KRB5_LIBS="$LIBS -lkrb5";
+- KRB5_CFLAGS="$CFLAGS";
+- AC_DEFINE(HAVE_KRB5,1,[Whether KRB5 is available])])
+-
+- ########################################################
+- # now see if we can find the gssapi libs in standard paths
+- AC_CHECK_LIB(gssapi_krb5, gss_display_status,
+- [KRB5_LIBS="$KRB5_LIBS -lgssapi_krb5";
+- AC_DEFINE(HAVE_GSSAPI,1,[Whether GSSAPI is available])])
+-
+- CFLAGS="$ac_save_CFLAGS"
+- LIBS="$ac_save_LIBS"
+-fi
+-
+-########################################################
+-# Compile with LDAP support?
+-
+-LDAP_OBJ=""
+-with_ldap_support=yes
+-AC_MSG_CHECKING([whether to use LDAP])
+-
+-AC_ARG_WITH(ldap,
+-[ --with-ldap LDAP support (default yes)],
+-[ case "$withval" in
+- no)
+- with_ldap_support=no
+- ;;
+- esac ])
+-
+-AC_MSG_RESULT($with_ldap_support)
+-
+-SMBLDAP=""
+-if test x"$with_ldap_support" = x"yes"; then
+- ac_save_LIBS="$LIBS"
+- LIBS=""
+-
+- ##################################################################
+- # we might need the lber lib on some systems. To avoid link errors
+- # this test must be before the libldap test
+- AC_CHECK_LIB(lber, ber_scanf)
+-
+- ########################################################
+- # now see if we can find the ldap libs in standard paths
+- if test x$have_ldap != xyes; then
+- AC_CHECK_LIB(ldap, ldap_init, [
+- LIBS="$LIBS -lldap";
+- AC_CHECK_LIB(ldap, ldap_domain2hostlist, [
+- AC_DEFINE(HAVE_LDAP,1,[Whether ldap is available])
+- AC_CHECK_HEADERS([ldap.h lber.h],
+- [default_static_modules="$default_static_modules pdb_ldap idmap_ldap";
+- SMBLDAP="lib/smbldap.o"])
+- ])
+- ])
+-
+- ########################################################
+- # If we have LDAP, does it's rebind procedure take 2 or 3 arguments?
+- # Check found in pam_ldap 145.
+- AC_CHECK_FUNCS(ldap_set_rebind_proc)
+- AC_CACHE_CHECK(whether ldap_set_rebind_proc takes 3 arguments, pam_ldap_cv_ldap_set_rebind_proc, [
+- AC_TRY_COMPILE([
+- #include <lber.h>
+- #include <ldap.h>], [ldap_set_rebind_proc(0, 0, 0);], [pam_ldap_cv_ldap_set_rebind_proc=3], [pam_ldap_cv_ldap_set_rebind_proc=2]) ])
+- AC_DEFINE_UNQUOTED(LDAP_SET_REBIND_PROC_ARGS, $pam_ldap_cv_ldap_set_rebind_proc, [Number of arguments to ldap_set_rebind_proc])
+- AC_CHECK_FUNCS(ldap_initialize)
+- fi
+-
+- AC_SUBST(SMBLDAP)
+- LDAP_LIBS="$LIBS";
+- LIBS="$ac_save_LIBS";
+-else
+- # Can't have ADS support without LDAP
++ if test x"$ac_cv_lib_ext_krb5_krb5_mk_req_extended" = x"yes"; then
++ AC_DEFINE(HAVE_KRB5,1,[Whether to have KRB5 support])
++ AC_DEFINE(WITH_ADS,1,[Whether to include Active Directory support])
++ AC_MSG_CHECKING(whether Active Directory and krb5 support is used)
++ AC_MSG_RESULT(yes)
++ else
+ if test x"$with_ads_support" = x"yes"; then
+- AC_MSG_ERROR(Active directory support requires LDAP)
++ AC_MSG_ERROR(libkrb5 is needed for Active Directory support)
++ else
++ AC_MSG_WARN(libkrb5 is needed for Active Directory support)
+ fi
+-fi
+-
+-if test x"$with_ads_support" = x"yes"; then
+- ADSLIBS="$LDAP_LIBS $KRB5_LIBS"
++ KRB5_LIBS=""
++ with_ads_support=no
++ fi
++ LIBS="$ac_save_LIBS"
+ fi
+
+ ########################################################
diff --git a/packaging/Debian/debian/patches/pam_smbpass_linkage.patch b/packaging/Debian/debian/patches/pam_smbpass_linkage.patch
new file mode 100644
index 0000000000..022a3a0a28
--- /dev/null
+++ b/packaging/Debian/debian/patches/pam_smbpass_linkage.patch
@@ -0,0 +1,24 @@
+diff -uNr samba-3.0.0beta2.orig/source/Makefile.in samba-3.0.0beta2/source/Makefile.in
+--- samba-3.0.0beta2.orig/source/Makefile.in 2003-07-05 16:24:34.000000000 -0500
++++ samba-3.0.0beta2/source/Makefile.in 2003-07-05 16:24:54.000000000 -0500
+@@ -579,8 +579,8 @@
+ PAM_SMBPASS_OBJ_0 = pam_smbpass/pam_smb_auth.o pam_smbpass/pam_smb_passwd.o \
+ pam_smbpass/pam_smb_acct.o pam_smbpass/support.o \
+ libsmb/smbencrypt.o libsmb/smbdes.o libsmb/nterr.o \
+- $(PARAM_OBJ) $(LIB_OBJ) $(PASSDB_OBJ) $(GROUPDB_OBJ) \
+- $(SECRETS_OBJ) $(UBIQX_OBJ)
++ $(LIBSAMBA_OBJ) $(PARAM_OBJ) $(LIB_OBJ) $(PASSDB_OBJ) \
++ $(GROUPDB_OBJ) $(SECRETS_OBJ) $(UBIQX_OBJ) $(SMBLDAP_OBJ)
+
+ PAM_SMBPASS_PICOOBJ = $(PAM_SMBPASS_OBJ_0:.o=.po)
+
+@@ -1076,7 +1076,8 @@
+
+ bin/pam_smbpass.@SHLIBEXT@: $(PAM_SMBPASS_PICOOBJ)
+ @echo "Linking shared library $@"
+- @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_SMBPASS_PICOOBJ) -lpam $(DYNEXP) $(LIBS) -lc
++ @$(SHLD) $(LDSHFLAGS) -o $@ $(PAM_SMBPASS_PICOOBJ) -lpam $(DYNEXP) \
++ $(PASSDBLIBS) $(LIBS) -lc
+
+ bin/libmsrpc.a: $(LIBMSRPC_PICOBJ)
+ @-$(AR) -rc $@ $(LIBMSRPC_PICOBJ)
diff --git a/packaging/Debian/debian/patches/smbclient-tar.patch b/packaging/Debian/debian/patches/smbclient-tar.patch
new file mode 100644
index 0000000000..e6cdcafbf8
--- /dev/null
+++ b/packaging/Debian/debian/patches/smbclient-tar.patch
@@ -0,0 +1,43 @@
+diff -uNr samba-3.0.0beta2.orig/source/client/client.c samba-3.0.0beta2/source/client/client.c
+--- samba-3.0.0beta2.orig/source/client/client.c 2003-07-01 22:36:24.000000000 -0500
++++ samba-3.0.0beta2/source/client/client.c 2003-07-06 15:17:36.000000000 -0500
+@@ -2731,6 +2731,7 @@
+ int opt;
+ pstring query_host;
+ BOOL message = False;
++ char* tar_args = NULL;
+ extern char tar_type;
+ pstring term_code;
+ static const char *new_name_resolve_order = NULL;
+@@ -2816,7 +2817,7 @@
+ max_protocol = interpret_protocol(poptGetOptArg(pc), max_protocol);
+ break;
+ case 'T':
+- if (!tar_parseargs(argc, argv, poptGetOptArg(pc), optind)) {
++ if (!(tar_args = poptGetOptArg(pc))) {
+ poptPrintUsage(pc, stderr, 0);
+ exit(1);
+ }
+@@ -2848,6 +2849,22 @@
+ pstrcpy(cmdline_auth_info.password,poptGetArg(pc));
+ }
+
++ /* The tar command may take a number of string options; pass
++ everything we have left to tar_parseargs(). */
++ if (tar_args) {
++ const char **argv2 = poptGetArgs(pc);
++ int argc2 = 0;
++
++ if (argv2) {
++ while (argv2[argc2]) argc2++;
++ }
++
++ if (!tar_parseargs(argc2, argv2, tar_args, 0)) {
++ poptPrintUsage(pc, stderr, 0);
++ exit(1);
++ }
++ }
++
+ init_names();
+
+ if(new_name_resolve_order)
diff --git a/packaging/Mandrake/swat_16.png.bz2 b/packaging/Mandrake/swat_16.png.bz2
new file mode 100644
index 0000000000..25522cab06
--- /dev/null
+++ b/packaging/Mandrake/swat_16.png.bz2
Binary files differ
diff --git a/packaging/Mandrake/swat_32.png.bz2 b/packaging/Mandrake/swat_32.png.bz2
new file mode 100644
index 0000000000..737d16034f
--- /dev/null
+++ b/packaging/Mandrake/swat_32.png.bz2
Binary files differ
diff --git a/packaging/Mandrake/swat_48.png.bz2 b/packaging/Mandrake/swat_48.png.bz2
new file mode 100644
index 0000000000..3e921c1feb
--- /dev/null
+++ b/packaging/Mandrake/swat_48.png.bz2
Binary files differ
diff --git a/packaging/RedHat/samba.spec.tmpl b/packaging/RedHat/samba.spec.tmpl
new file mode 100644
index 0000000000..4c5a480a27
--- /dev/null
+++ b/packaging/RedHat/samba.spec.tmpl
@@ -0,0 +1,440 @@
+Summary: Samba SMB client and server
+Name: samba
+Version: PVERSION
+Release: PRELEASE
+License: GNU GPL version 2
+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
+Provides: samba = %{version}
+Obsoletes: samba-common, samba-client, samba-swat
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
+Prefix: /usr
+
+%description
+Samba provides an SMB/CIFS server which can be used to provide
+network file and print services to SMB/CIFS clients, including
+various versions of MS Windows, OS/2, and other Linux machines.
+Samba also provides some SMB clients, which complement the
+built-in SMB filesystem in Linux. Samba uses NetBIOS over TCP/IP
+(NetBT) protocols and does NOT need NetBEUI (Microsoft Raw NetBIOS
+frame) protocol.
+
+Samba 3.0 also introduces UNICODE support and kerberos/ldap
+integration as a member server in a Windows 2000 domain.
+
+Please refer to the WHATSNEW.txt document for fixup information.
+docs directory for implementation details.
+
+%changelog
+* Mon Nov 18 2002 Gerald Carter <jerry@samba.org>
+ - removed change log entries since history
+ is being maintained in CVS
+
+%prep
+%setup
+
+%build
+## Build main Samba source
+cd source
+
+%ifarch ia64
+libtoolize --copy --force # get it to recognize IA-64
+autoheader
+autoconf
+EXTRA="-D_LARGEFILE64_SOURCE"
+%endif
+NUMCPU=`grep processor /proc/cpuinfo | wc -l`
+if [ ! -f "configure" ]; then
+ ./autogen.sh
+fi
+CFLAGS="$RPM_OPT_FLAGS $EXTRA" ./configure \
+ --prefix=%{prefix} \
+ --localstatedir=/var \
+ --with-configdir=/etc/samba \
+ --with-privatedir=/etc/samba \
+ --with-fhs \
+ --with-quotas \
+ --with-smbmount \
+ --with-pam \
+ --with-pam_smbpass \
+ --with-syslog \
+ --with-utmp \
+ --with-sambabook=%{prefix}/share/swat/using_samba \
+ --with-swatdir=%{prefix}/share/swat \
+ --with-libsmbclient
+make -j${NUMCPU} proto
+make -j${NUMCPU} all nsswitch/libnss_wins.so modules
+make -j${NUMCPU} debug2html
+make -j${NUMCPU} bin/smbspool
+
+# Remove some permission bits to avoid to many dependencies
+find examples docs -type f | xargs -r chmod -x
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/sbin
+mkdir -p $RPM_BUILD_ROOT/etc/samba
+mkdir -p $RPM_BUILD_ROOT/etc/{logrotate.d,pam.d,samba}
+mkdir -p $RPM_BUILD_ROOT/etc/rc.d/init.d
+mkdir -p $RPM_BUILD_ROOT%{prefix}/{bin,sbin}
+mkdir -p $RPM_BUILD_ROOT%{prefix}/share/swat/{images,help,include,using_samba}
+mkdir -p $RPM_BUILD_ROOT%{prefix}/share/swat/using_samba/{figs,gifs}
+mkdir -p $RPM_BUILD_ROOTMANDIR_MACRO
+mkdir -p $RPM_BUILD_ROOT/var/cache/samba
+mkdir -p $RPM_BUILD_ROOT/var/{log,run}/samba
+mkdir -p $RPM_BUILD_ROOT/var/spool/samba
+mkdir -p $RPM_BUILD_ROOT/lib/security
+mkdir -p $RPM_BUILD_ROOT%{prefix}/lib/samba/vfs
+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
+do
+ install -m755 source/bin/$i $RPM_BUILD_ROOT%{prefix}/bin
+done
+
+for i in mksmbpasswd.sh smbtar findsmb
+do
+ install -m755 source/script/$i $RPM_BUILD_ROOT%{prefix}/bin
+done
+
+# Install secure binary files
+for i in smbd nmbd swat smbmount smbumount debug2html winbindd
+do
+ install -m755 source/bin/$i $RPM_BUILD_ROOT%{prefix}/sbin
+done
+
+# we need a symlink for mount to recognise the smb and smbfs filesystem types
+ln -sf %{prefix}/sbin/smbmount $RPM_BUILD_ROOT/sbin/mount.smbfs
+ln -sf %{prefix}/sbin/smbmount $RPM_BUILD_ROOT/sbin/mount.smb
+
+# This allows us to get away without duplicating code that
+# sombody else can maintain for us.
+cd source
+make DESTDIR=$RPM_BUILD_ROOT \
+ BASEDIR=/usr \
+ CONFIGDIR=/etc/samba \
+ LIBDIR=%{prefix}/lib/samba \
+ VARDIR=/var \
+ SBINDIR=%{prefix}/sbin \
+ BINDIR=$%{prefix}/bin \
+ MANDIR=MANDIR_MACRO \
+ SWATDIR=%{prefix}/share/swat \
+ SAMBABOOK=%{prefix}/share/swat/using_samba \
+ installman installswat installdat installmodules
+cd ..
+
+# Install the nsswitch wins library
+install -m755 source/nsswitch/libnss_wins.so $RPM_BUILD_ROOT/lib
+( cd $RPM_BUILD_ROOT/lib; ln -sf libnss_wins.so libnss_wins.so.2; )
+
+# Install winbind shared libraries
+install -m755 source/nsswitch/libnss_winbind.so $RPM_BUILD_ROOT/lib
+( cd $RPM_BUILD_ROOT/lib; ln -sf libnss_winbind.so libnss_winbind.so.2; )
+install -m755 source/nsswitch/pam_winbind.so $RPM_BUILD_ROOT/lib/security
+
+# Install pam_smbpass.so
+install -m755 source/bin/pam_smbpass.so $RPM_BUILD_ROOT/lib/security
+
+# libsmbclient
+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
+install -m755 packaging/RedHat/smb.init $RPM_BUILD_ROOT/etc/rc.d/init.d/smb
+install -m755 packaging/RedHat/winbind.init $RPM_BUILD_ROOT/etc/rc.d/init.d/winbind
+install -m755 packaging/RedHat/smb.init $RPM_BUILD_ROOT%{prefix}/sbin/samba
+install -m644 packaging/RedHat/samba.log $RPM_BUILD_ROOT/etc/logrotate.d/samba
+install -m644 packaging/RedHat/smb.conf $RPM_BUILD_ROOT/etc/samba/smb.conf
+install -m644 packaging/RedHat/smbusers $RPM_BUILD_ROOT/etc/samba/smbusers
+install -m644 packaging/RedHat/samba.pamd $RPM_BUILD_ROOT/etc/pam.d/samba
+install -m644 packaging/RedHat/samba.pamd.stack $RPM_BUILD_ROOT/etc/samba/samba.stack
+install -m644 packaging/RedHat/samba.xinetd $RPM_BUILD_ROOT/etc/samba/samba.xinetd
+echo 127.0.0.1 localhost > $RPM_BUILD_ROOT/etc/samba/lmhosts
+
+# Remove "*.old" files
+find $RPM_BUILD_ROOT -name "*.old" -exec rm -f {} \;
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post
+if [ "$1" -eq "1" ]; then
+ /sbin/chkconfig --add smb
+ /sbin/chkconfig --add winbind
+ /sbin/chkconfig smb off
+ /sbin/chkconfig winbind off
+fi
+
+echo "Looking for old /etc/smb.conf..."
+if [ -f /etc/smb.conf -a ! -f /etc/samba/smb.conf ]; then
+ echo "Moving old /etc/smb.conf to /etc/samba/smb.conf"
+ mv /etc/smb.conf /etc/samba/smb.conf
+fi
+
+echo "Looking for old /etc/smbusers..."
+if [ -f /etc/smbusers -a ! -f /etc/samba/smbusers ]; then
+ echo "Moving old /etc/smbusers to /etc/samba/smbusers"
+ mv /etc/smbusers /etc/samba/smbusers
+fi
+
+echo "Looking for old /etc/lmhosts..."
+if [ -f /etc/lmhosts -a ! -f /etc/samba/lmhosts ]; then
+ echo "Moving old /etc/lmhosts to /etc/samba/lmhosts"
+ mv /etc/lmhosts /etc/samba/lmhosts
+fi
+
+echo "Looking for old /etc/MACHINE.SID..."
+if [ -f /etc/MACHINE.SID -a ! -f /etc/samba/MACHINE.SID ]; then
+ echo "Moving old /etc/MACHINE.SID to /etc/samba/MACHINE.SID"
+ mv /etc/MACHINE.SID /etc/samba/MACHINE.SID
+fi
+
+echo "Looking for old /etc/smbpasswd..."
+if [ -f /etc/smbpasswd -a ! -f /etc/samba/smbpasswd ]; then
+ echo "Moving old /etc/smbpasswd to /etc/samba/smbpasswd"
+ mv /etc/smbpasswd /etc/samba/smbpasswd
+fi
+
+#
+# For 2.2.1 we move the tdb files from /var/lock/samba to /var/cache/samba
+# to preserve across reboots.
+#
+echo "Moving tdb files in /var/lock/samba/*.tdb to /var/cache/samba/*.tdb"
+for i in /var/lock/samba/*.tdb
+do
+if [ -f $i ]; then
+ newname=`echo $i | sed -e's|var\/lock\/samba|var\/cache\/samba|'`
+ echo "Moving $i to $newname"
+ mv $i $newname
+fi
+done
+
+# Remove the transient tdb files.
+if [ -e /var/cache/samba/brlock.tdb ]; then
+ rm -f /var/cache/samba/brlock.tdb
+fi
+
+if [ -e /var/cache/samba/unexpected.tdb ]; then
+ rm -f /var/cache/samba/unexpected.tdb
+fi
+
+if [ -e /var/cache/samba/connections.tdb ]; then
+ rm -f /var/cache/samba/connections.tdb
+fi
+
+if [ -e /var/cache/samba/locking.tdb ]; then
+ rm -f /var/cache/samba/locking.tdb
+fi
+
+if [ -e /var/cache/samba/messages.tdb ]; then
+ rm -f /var/cache/samba/messages.tdb
+fi
+
+if [ -d /var/lock/samba ]; then
+ rm -rf /var/lock/samba
+fi
+
+# Add swat entry to /etc/services if not already there.
+if !( grep ^[:space:]*swat /etc/services > /dev/null ) then
+ echo 'swat 901/tcp # Add swat service used via inetd' >> /etc/services
+fi
+
+# Add swat entry to /etc/inetd.conf if needed.
+if [ -f /etc/inetd.conf ]; then
+ if !( grep ^[:space:]*swat /etc/inetd.conf > /dev/null ) then
+ echo 'swat stream tcp nowait.400 root %{prefix}/sbin/swat swat' >> /etc/inetd.conf
+ killall -1 inetd || :
+ fi
+fi
+
+# Add swat entry to xinetd.d if needed.
+if [ -d $RPM_BUILD_ROOT/etc/xinetd.d -a ! -f /etc/xinetd.d/swat ]; then
+ mv /etc/samba/samba.xinetd /etc/xinetd.d/swat
+else
+ rm -f /etc/samba/samba.xinetd
+fi
+
+# Install the correct version of the samba pam file, depending on pam version.
+if [ -f /lib/security/pam_stack.so ]; then
+ echo "Installing stack version of /etc/pam.d/samba..."
+ mv /etc/samba/samba.stack /etc/pam.d/samba
+else
+ echo "Installing non-stack version of /etc/pam.d/samba..."
+ 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
+
+%preun
+if [ $1 = 0 ] ; then
+ /sbin/chkconfig --del smb
+
+ # 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
+ rm -f /var/cache/samba/browse.dat
+ fi
+ if [ -e /var/cache/samba/wins.dat ]; then
+ rm -f /var/cache/samba/wins.dat
+ fi
+
+ # Remove the transient tdb files.
+ if [ -e /var/cache/samba/brlock.tdb ]; then
+ rm -f /var/cache/samba/brlock.tdb
+ fi
+
+ if [ -e /var/cache/samba/unexpected.tdb ]; then
+ rm -f /var/cache/samba/unexpected.tdb
+ fi
+
+ if [ -e /var/cache/samba/connections.tdb ]; then
+ rm -f /var/cache/samba/connections.tdb
+ fi
+
+ if [ -e /var/cache/samba/locking.tdb ]; then
+ rm -f /var/cache/samba/locking.tdb
+ fi
+
+ if [ -e /var/cache/samba/messages.tdb ]; then
+ rm -f /var/cache/samba/messages.tdb
+ fi
+
+ # Remove winbind nss client symlink
+
+ if [ -L /lib/libnss_winbind.so.2 ]; then
+ rm -f /lib/libnss_winbind.so.2
+ fi
+fi
+
+%postun
+# Only delete remnants of samba if this is the final deletion.
+if [ $1 = 0 ] ; then
+ if [ -x /etc/pam.d/samba ]; then
+ rm -f /etc/pam.d/samba
+ fi
+ if [ -e /var/log/samba ]; then
+ rm -rf /var/log/samba
+ fi
+ if [ -e /var/cache/samba ]; then
+ rm -rf /var/cache/samba
+ fi
+
+ # Remove swat entries from /etc/inetd.conf and /etc/services
+ cd /etc
+ tmpfile=/etc/tmp.$$
+ if [ -f /etc/inetd.conf ]; then
+ # preserve inetd.conf permissions.
+ cp -p /etc/inetd.conf $tmpfile
+ sed -e '/^[:space:]*swat.*$/d' /etc/inetd.conf > $tmpfile
+ mv $tmpfile inetd.conf
+ fi
+ # preserve services permissions.
+ cp -p /etc/services $tmpfile
+ sed -e '/^[:space:]*swat.*$/d' /etc/services > $tmpfile
+ mv $tmpfile /etc/services
+
+ # Remove swat entry from /etc/xinetd.d
+ if [ -f /etc/xinetd.d/swat ]; then
+ rm -r /etc/xinetd.d/swat
+ fi
+fi
+
+%files
+%defattr(-,root,root)
+%doc README COPYING Manifest Read-Manifest-Now
+%doc WHATSNEW.txt Roadmap
+%doc docs
+%doc swat/README
+%doc examples
+%{prefix}/sbin/smbd
+%{prefix}/sbin/nmbd
+%{prefix}/sbin/swat
+%{prefix}/bin/smbmnt
+%{prefix}/sbin/smbmount
+%{prefix}/sbin/smbumount
+%{prefix}/sbin/winbindd
+%{prefix}/sbin/samba
+%{prefix}/sbin/debug2html
+/sbin/mount.smbfs
+/sbin/mount.smb
+%{prefix}/bin/mksmbpasswd.sh
+%{prefix}/bin/smbclient
+%{prefix}/bin/smbspool
+%{prefix}/bin/rpcclient
+%{prefix}/bin/testparm
+%{prefix}/bin/testprns
+%{prefix}/bin/findsmb
+%{prefix}/bin/smbstatus
+%{prefix}/bin/nmblookup
+%{prefix}/bin/smbpasswd
+%{prefix}/bin/smbtar
+%{prefix}/bin/smbprint
+%{prefix}/bin/smbcontrol
+%{prefix}/bin/wbinfo
+%{prefix}/bin/net
+%{prefix}/bin/smbcacls
+%{prefix}/bin/pdbedit
+%{prefix}/bin/tdbbackup
+%{prefix}/bin/smbtree
+%attr(755,root,root) /lib/libnss_wins.s*
+%attr(755,root,root) %{prefix}/lib/samba/vfs/*.so
+#%attr(755,root,root) %{prefix}/lib/samba/pdb/*.so
+%attr(755,root,root) %{prefix}/lib/samba/*.dat
+%{prefix}/include/libsmbclient.h
+%{prefix}/lib/libsmbclient.a
+%{prefix}/lib/libsmbclient.so
+%{prefix}/share/swat/help/*
+%{prefix}/share/swat/images/*
+%{prefix}/share/swat/include/*.html
+%{prefix}/share/swat/lang/*/help/*
+%{prefix}/share/swat/lang/*/images/*
+%{prefix}/share/swat/lang/*/include/*.html
+%{prefix}/share/swat/using_samba/*
+%{prefix}/share/swat/README
+%config(noreplace) /etc/samba/lmhosts
+%config(noreplace) /etc/samba/smb.conf
+%config(noreplace) /etc/samba/smbusers
+/etc/samba/samba.stack
+/etc/samba/samba.xinetd
+/etc/rc.d/init.d/smb
+/etc/rc.d/init.d/winbind
+/etc/logrotate.d/samba
+%config(noreplace) /etc/pam.d/samba
+MANDIR_MACRO/man1/*
+MANDIR_MACRO/man5/*
+MANDIR_MACRO/man7/*
+MANDIR_MACRO/man8/*
+%attr(755,root,root) %dir /var/cache/samba
+%dir /var/log/samba
+%dir /var/run/samba
+%attr(1777,root,root) %dir /var/spool/samba
+%attr(-,root,root) /lib/libnss_winbind.so
+%attr(-,root,root) /lib/security/pam_winbind.so
+%attr(-,root,root) /lib/security/pam_smbpass.so
diff --git a/packaging/Solaris/.cvsignore b/packaging/Solaris/.cvsignore
new file mode 100644
index 0000000000..3adf27434d
--- /dev/null
+++ b/packaging/Solaris/.cvsignore
@@ -0,0 +1,4 @@
+inetd.conf
+pkginfo
+prototype
+samba.server
diff --git a/packaging/SuSE/README b/packaging/SuSE/README
new file mode 100644
index 0000000000..5d0af9944a
--- /dev/null
+++ b/packaging/SuSE/README
@@ -0,0 +1,18 @@
+Date: March 29, 2003
+
+Note: The current packaging files are NOT officially supported files.
+---------------------------------------------------------------------
+
+While the SPEC file shows who the original author was, these files imply no warranty of
+fitness what so ever. These files are NOT official SuSE files and are NOT supported by
+them. If you have ANY problems with the use of these files then please email jht@samba.org
+and NOT SuSE support.
+
+
+These files may be used to build Samba-3.0 packages for SuSE Linux 8.1 and/or for
+UnitedLinux 1.0 systems.
+
+Note2: You most likely will need to update to heimdal-0.5.1 or later if you intend to
+use any Kerberos functionality.
+
+- John T.
diff --git a/packaging/SuSE/samba-3.0.0-msdfs.diff b/packaging/SuSE/samba-3.0.0-msdfs.diff
new file mode 100644
index 0000000000..1e688e64c4
--- /dev/null
+++ b/packaging/SuSE/samba-3.0.0-msdfs.diff
@@ -0,0 +1,97 @@
+--- source/param/loadparm.c Wed Oct 9 21:17:05 2002
++++ source/param/loadparm.c Mon Oct 14 16:33:08 2002
+@@ -386,6 +386,8 @@
+ BOOL bInheritPerms;
+ BOOL bInheritACLS;
+ BOOL bMSDfsRoot;
++ BOOL bMSDfsProxy;
++ char *bMSDfsLinkName;
+ BOOL bUseClientDriver;
+ BOOL bDefaultDevmode;
+ BOOL bNTAclSupport;
+@@ -508,6 +510,8 @@
+ False, /* bInheritPerms */
+ False, /* bInheritACLS */
+ False, /* bMSDfsRoot */
++ False, /* bMSDfsProxy */
++ NULL, /* bMSDfsLinkName */
+ False, /* bUseClientDriver */
+ False, /* bDefaultDevmode */
+ True, /* bNTAclSupport */
+@@ -1079,6 +1083,8 @@
+
+
+ {"msdfs root", P_BOOL, P_LOCAL, &sDefault.bMSDfsRoot, NULL, NULL, FLAG_SHARE},
++ {"msdfs proxy", P_BOOL, P_LOCAL, &sDefault.bMSDfsProxy, NULL, NULL, FLAG_SHARE},
++ {"msdfs link name", P_STRING, P_LOCAL, &sDefault.bMSDfsLinkName, NULL, NULL, FLAG_SHARE},
+ {"host msdfs", P_BOOL, P_GLOBAL, &Globals.bHostMSDfs, NULL, NULL, FLAG_ADVANCED | FLAG_DEVELOPER},
+
+ {"Winbind options", P_SEP, P_SEPARATOR},
+@@ -1730,6 +1736,8 @@
+ FN_LOCAL_STRING(lp_veto_oplocks, szVetoOplockFiles)
+ FN_LOCAL_STRING(lp_driverlocation, szPrinterDriverLocation)
+ FN_LOCAL_BOOL(lp_msdfs_root, bMSDfsRoot)
++FN_LOCAL_BOOL(lp_msdfs_proxy, bMSDfsProxy)
++FN_LOCAL_STRING(lp_msdfs_link_name, bMSDfsLinkName)
+ FN_LOCAL_BOOL(lp_autoloaded, autoloaded)
+ FN_LOCAL_BOOL(lp_preexec_close, bPreexecClose)
+ FN_LOCAL_BOOL(lp_rootpreexec_close, bRootpreexecClose)
+--- source/msdfs/msdfs.c Tue Jul 2 08:34:24 2002
++++ source/msdfs/msdfs.c Mon Oct 14 16:49:57 2002
+@@ -600,12 +600,38 @@
+ int reply_size = 0;
+ char *pathnamep = pathname;
+
++ struct connection_struct conns;
++ struct connection_struct* conn = &conns;
++ int snum;
++ pstring conn_path;
++ struct dfs_path dpi;
++
++ struct junction_map junction2;
++ parse_dfs_path(pathname, &dpi);
++ pstrcpy(junction2.service_name, dpi.servicename);
++ snum = lp_servicenumber(junction2.service_name);
++ create_conn_struct(conn, snum, conn_path);
++
++
+ ZERO_STRUCT(junction);
+
+ /* get the junction entry */
+ if (!pathnamep)
+ return -1;
+
++ if (lp_msdfs_proxy(SNUM(conn))) {
++ DEBUG(10,("running in proxy mode\n"));
++ pstrcpy(pathnamep, "\\");
++ pstrcat(pathnamep, dpi.hostname);
++ pstrcat(pathnamep, "\\");
++ pstrcat(pathnamep, dpi.servicename);
++ pstrcat(pathnamep, "\\");
++ pstrcat(pathnamep, (char *) lp_msdfs_link_name(SNUM(conn)));
++ } else {
++ DEBUG(10,("running in normal mode\n"));
++ }
++
++
+ /* Trim pathname sent by client so it begins with only one backslash.
+ Two backslashes confuse some dfs clients
+ */
+@@ -631,6 +657,17 @@
+ }
+ }
+
++ if ( lp_msdfs_proxy(SNUM(conn)) ) {
++ DEBUG(10,("running in proxy mode\n"));
++ pstrcpy ( pathnamep, "\\" );
++ pstrcat ( pathnamep, dpi.hostname);
++ pstrcat ( pathnamep, "\\" );
++ pstrcat ( pathnamep, dpi.servicename);
++ } else {
++ DEBUG(10,("running in normal mode\n"));
++ }
++
++
+ /* create the referral depeding on version */
+ DEBUG(10,("max_referral_level :%d\n",max_referral_level));
+ if(max_referral_level<2 || max_referral_level>3)
diff --git a/packaging/SuSE/samba-3.0.0-net_ads.diff b/packaging/SuSE/samba-3.0.0-net_ads.diff
new file mode 100644
index 0000000000..b1224c0cef
--- /dev/null
+++ b/packaging/SuSE/samba-3.0.0-net_ads.diff
@@ -0,0 +1,140 @@
+diff -Nur source/utils/net.c source/utils/net.c
+--- source/utils/net.c Fri Sep 27 09:42:34 2002
++++ source/utils/net.c Tue Oct 1 12:22:00 2002
+@@ -68,6 +68,7 @@
+ int opt_port = 0;
+ int opt_maxusers = -1;
+ char *opt_comment = "";
++char *opt_container = "cn=Users";
+ int opt_flags = -1;
+ int opt_jobid = 0;
+ int opt_timeout = 0;
+@@ -459,6 +460,7 @@
+ {"myname", 'n', POPT_ARG_STRING, &opt_requester_name},
+ {"conf", 's', POPT_ARG_STRING, &servicesf},
+ {"server", 'S', POPT_ARG_STRING, &opt_host},
++ {"container", 'c', POPT_ARG_STRING, &opt_container},
+ {"comment", 'C', POPT_ARG_STRING, &opt_comment},
+ {"maxusers", 'M', POPT_ARG_INT, &opt_maxusers},
+ {"flags", 'F', POPT_ARG_INT, &opt_flags},
+diff -Nur source/utils/net.h source/utils/net.h
+--- source/utils/net.h Tue Jun 25 04:29:09 2002
++++ source/utils/net.h Tue Oct 1 12:19:51 2002
+@@ -38,10 +38,8 @@
+
+ extern int opt_maxusers;
+ extern char *opt_comment;
++extern char *opt_container;
+ extern int opt_flags;
+-
+-extern char *opt_comment;
+-
+ extern char *opt_target_workgroup;
+ extern int opt_long_list_entries;
+ extern int opt_reboot;
+diff -Nur source/utils/net_ads.c source/utils/net_ads.c
+--- source/utils/net_ads.c Tue Sep 17 14:15:52 2002
++++ source/utils/net_ads.c Tue Oct 1 12:33:44 2002
+@@ -255,7 +255,7 @@
+ goto done;
+ }
+
+- status = ads_add_user_acct(ads, argv[0], opt_comment);
++ status = ads_add_user_acct(ads, argv[0], opt_container, opt_comment);
+
+ if (!ADS_ERR_OK(status)) {
+ d_printf("Could not add user %s: %s\n", argv[0],
+@@ -431,7 +431,7 @@
+ goto done;
+ }
+
+- status = ads_add_group_acct(ads, argv[0], opt_comment);
++ status = ads_add_group_acct(ads, argv[0], opt_container, opt_comment);
+
+ if (ADS_ERR_OK(status)) {
+ d_printf("Group %s added\n", argv[0]);
+diff -Nur source/utils/net_help.c source/utils/net_help.c
+--- source/utils/net_help.c Tue Sep 24 20:10:30 2002
++++ source/utils/net_help.c Tue Oct 1 13:01:50 2002
+@@ -69,14 +69,14 @@
+ "\n\tDelete specified user\n");
+ d_printf("\nnet [<method>] user INFO <name> [misc. options] [targets]"\
+ "\n\tList the domain groups of the specified user\n");
+- d_printf("\nnet [<method>] user ADD <name> [password] "\
++ d_printf("\nnet [<method>] user ADD <name> [password] [-c container] "\
+ "[-F user flags] [misc. options]"\
+ " [targets]\n\tAdd specified user\n");
+
+ net_common_methods_usage(argc, argv);
+ net_common_flags_usage(argc, argv);
+- d_printf(
+- "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
++ d_printf("\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
++ d_printf("\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n");
+ return -1;
+ }
+
+@@ -85,12 +85,12 @@
+ "\n\tList user groups\n\n");
+ d_printf("net [<method>] group DELETE <name> [misc. options] [targets]"\
+ "\n\tDelete specified group\n");
+- d_printf("\nnet [<method>] group ADD <name> [-C comment]"\
++ d_printf("\nnet [<method>] group ADD <name> [-C comment] [-c container]"\
+ " [misc. options] [targets]\n\tCreate specified group\n");
+ net_common_methods_usage(argc, argv);
+ net_common_flags_usage(argc, argv);
+- d_printf(
+- "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
++ d_printf("\t-C or --comment=<comment>\tdescriptive comment (for add only)\n");
++ d_printf("\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n");
+ return -1;
+ }
+
+diff -Nur source/libads/ldap_user.c source/libads/ldap_user.c
+--- source/libads/ldap_user.c Wed Aug 7 12:33:22 2002
++++ source/libads/ldap_user.c Tue Oct 1 12:46:08 2002
+@@ -38,7 +38,7 @@
+ }
+
+ ADS_STATUS ads_add_user_acct(ADS_STRUCT *ads, const char *user,
+- const char *fullname)
++ const char *container, const char *fullname)
+ {
+ TALLOC_CTX *ctx;
+ ADS_MODLIST mods;
+@@ -57,7 +60,7 @@
+
+ if (!(upn = talloc_asprintf(ctx, "%s@%s", user, ads->config.realm)))
+ goto done;
+- if (!(new_dn = talloc_asprintf(ctx, "cn=%s,cn=Users,%s", name,
++ if (!(new_dn = talloc_asprintf(ctx, "cn=%s,%s,%s", name, container,
+ ads->config.bind_path)))
+ goto done;
+ if (!(controlstr = talloc_asprintf(ctx, "%u", UF_NORMAL_ACCOUNT)))
+@@ -80,7 +83,7 @@
+ }
+
+ ADS_STATUS ads_add_group_acct(ADS_STRUCT *ads, const char *group,
+- const char *comment)
++ const char *container, const char *comment)
+ {
+ TALLOC_CTX *ctx;
+ ADS_MODLIST mods;
+@@ -93,7 +96,7 @@
+
+ status = ADS_ERROR(LDAP_NO_MEMORY);
+
+- if (!(new_dn = talloc_asprintf(ctx, "cn=%s,cn=Users,%s", group,
++ if (!(new_dn = talloc_asprintf(ctx, "cn=%s,%s,%s", group, container,
+ ads->config.bind_path)))
+ goto done;
+ if (!(mods = ads_init_mods(ctx)))
+@@ -102,7 +105,7 @@
+ ads_mod_str(ctx, &mods, "cn", group);
+ ads_mod_strlist(ctx, &mods, "objectClass",objectClass);
+ ads_mod_str(ctx, &mods, "name", group);
+- if (comment)
++ if (comment && *comment)
+ ads_mod_str(ctx, &mods, "description", comment);
+ ads_mod_str(ctx, &mods, "sAMAccountName", group);
+ status = ads_gen_add(ads, new_dn, mods);
diff --git a/packaging/SuSE/samba-3.0.0-pdb.diff b/packaging/SuSE/samba-3.0.0-pdb.diff
new file mode 100644
index 0000000000..4f767c4ac4
--- /dev/null
+++ b/packaging/SuSE/samba-3.0.0-pdb.diff
@@ -0,0 +1,11 @@
+--- 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/usr/include/heimdal -I$(SAMBA_SRC) -I$(SAMBA_INCL) -I$(UBIQX_SRC) -I$(SMBWR_SRC) -Wall -g
+ PDB_OBJS = pdb_test.so
+
+ # Default target
diff --git a/packaging/SuSE/samba-3.0.0-python.diff b/packaging/SuSE/samba-3.0.0-python.diff
new file mode 100644
index 0000000000..8c5931e444
--- /dev/null
+++ b/packaging/SuSE/samba-3.0.0-python.diff
@@ -0,0 +1,44 @@
+--- source/python/py_common.c 2002-12-22 03:07:40.000000000 +0100
++++ source/python/py_common.c 2002-11-29 11:50:22.000000000 +0100
+@@ -45,9 +45,6 @@
+
+ void py_samba_init(void)
+ {
+- extern pstring global_myname;
+- char *p;
+-
+ if (initialised)
+ return;
+
+@@ -59,11 +56,7 @@
+ /* Misc other stuff */
+
+ load_interfaces();
+-
+- fstrcpy(global_myname, myhostname());
+- p = strchr(global_myname, '.');
+- if (p)
+- *p = 0;
++ init_names();
+
+ initialised = True;
+ }
+--- source/python/py_smb.c 2002-11-27 03:54:20.000000000 +0100
++++ source/python/py_smb.c 2002-11-29 11:50:22.000000000 +0100
+@@ -61,7 +61,6 @@
+ static char *kwlist[] = { "called", "calling", NULL };
+ char *calling_name = NULL, *called_name;
+ struct nmb_name calling, called;
+- extern pstring global_myname;
+ BOOL result;
+
+ if (!PyArg_ParseTupleAndKeywords(args, kw, "s|s", kwlist, &called_name,
+@@ -69,7 +68,7 @@
+ return NULL;
+
+ if (!calling_name)
+- calling_name = global_myname;
++ calling_name = global_myname();
+
+ make_nmb_name(&calling, calling_name, 0x00);
+ make_nmb_name(&called, called_name, 0x20);
diff --git a/packaging/SuSE/samba-3.0.0-vscan.diff b/packaging/SuSE/samba-3.0.0-vscan.diff
new file mode 100644
index 0000000000..cb860e3ffb
--- /dev/null
+++ b/packaging/SuSE/samba-3.0.0-vscan.diff
@@ -0,0 +1,80 @@
+--- examples/VFS/samba-vscan-0.3.1/fprot/Makefile 2002-11-26 15:20:17.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/fprot/Makefile 2002-12-19 13:26:19.000000000 +0100
+@@ -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
++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 -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 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-fprotd.lo vscan-fprotd_core.lo
+--- examples/VFS/samba-vscan-0.3.1/include/vscan-global.h 2002-11-25 16:48:10.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/include/vscan-global.h 2002-12-19 13:26:34.000000000 +0100
+@@ -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.1/kaspersky/Makefile 2002-11-28 17:40:35.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/kaspersky/Makefile 2002-12-19 13:27:23.000000000 +0100
+@@ -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
++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 -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
++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 -I/usr/include/heimdal
+ endif
+
+ ifndef USE_KAVPSHAREDLIB
+--- examples/VFS/samba-vscan-0.3.1/mks/Makefile 2002-11-26 16:29:55.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/mks/Makefile 2002-12-19 13:27:53.000000000 +0100
+@@ -13,7 +13,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
++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 -I/usr/include/heimdal
+ VFS_OBJS = vscan-mksd.so
+ SOURCES = $(SMBVS_GLB)/vscan-functions.c $(SMBVS_GLB)/vscan-message.c $(SMBVS_GLB)/vscan-quarantine.c vscan-mksd.c vscan-mksd_core.c vscan-mksd.h vscan-mksd_core.h mks.h mks_c.c
+ OBJS = vscan-functions.lo vscan-message.lo vscan-quarantine.lo vscan-mksd.lo vscan-mksd_core.lo mks_c.lo
+--- examples/VFS/samba-vscan-0.3.1/openantivirus/Makefile 2002-11-27 19:24:03.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/openantivirus/Makefile 2002-12-19 13:28:10.000000000 +0100
+@@ -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
++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 -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 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-oav.lo vscan-oav_core.lo
+--- examples/VFS/samba-vscan-0.3.1/sophos/Makefile 2002-11-27 19:24:03.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/sophos/Makefile 2002-12-19 13:29:20.000000000 +0100
+@@ -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
++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 -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 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-sophos.lo vscan-sophos_core.lo
+--- examples/VFS/samba-vscan-0.3.1/trend/Makefile 2002-11-27 19:24:03.000000000 +0100
++++ examples/VFS/samba-vscan-0.3.1/trend/Makefile 2002-12-19 13:29:31.000000000 +0100
+@@ -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
++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 -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 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-trend.lo vscan-trend_core.lo
diff --git a/packaging/SuSE/samba-3.0.0.files.tar.bz2 b/packaging/SuSE/samba-3.0.0.files.tar.bz2
new file mode 100644
index 0000000000..1e8fc9baf0
--- /dev/null
+++ b/packaging/SuSE/samba-3.0.0.files.tar.bz2
Binary files differ
diff --git a/packaging/SuSE/samba-vscan-0.3.1.tar.bz2 b/packaging/SuSE/samba-vscan-0.3.1.tar.bz2
new file mode 100644
index 0000000000..5639279374
--- /dev/null
+++ b/packaging/SuSE/samba-vscan-0.3.1.tar.bz2
Binary files differ
diff --git a/packaging/SuSE/samba3.spec b/packaging/SuSE/samba3.spec
new file mode 100644
index 0000000000..dd2860b801
--- /dev/null
+++ b/packaging/SuSE/samba3.spec
@@ -0,0 +1,764 @@
+#
+# spec file for package samba (Version HEAD) CVS
+#
+# Copyright (c) 2002 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
+
+%package client
+Summary: Samba client utilities
+Autoreqprov: on
+Requires: cups-libs
+Obsoletes: smbclnt samba-classic-client samba-ldap-client
+Group: Productivity/Networking/Samba
+
+%package winbind
+Requires: samba-client samba
+Summary: Samba Winbind-package
+Autoreqprov: on
+Group: Productivity/Networking/Samba
+
+%package utils
+Summary: Samba Testing Utilities
+Autoreqprov: on
+Group: Productivity/Networking/Samba
+
+%package doc
+Summary: Samba Documentation
+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
+%endif
+
+%package vscan
+Summary: Samba VFS-Modules for Virusscanners
+Autoreqprov: on
+Group: Productivity/Networking/Samba
+Version: 0.3.1
+
+%package python
+Summary: Samba Python-Modules
+Autoreqprov: on
+Group: Productivity/Networking/Samba
+
+
+
+
+%changelog
+* Sat Nov 3 2001 - gd@suse.de
+- start
+
+
+%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
+%patch1
+%patch51
+%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"
+%ifarch ppc64
+export CFLAGS="$CFLAGS -mminimal-toc"
+%endif
+CONF_OPTS_BASIC="\
+ --prefix=/usr \
+ --libdir=/etc/samba \
+ --localstatedir=/var/lib/samba \
+ --mandir=%{_mandir} \
+ --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 \
+ --with-automount \
+ --enable-cups \
+ --with-msdfs \
+ --with-vfs \
+ --with-pam \
+ --with-pam_smbpass \
+ --with-utmp \
+ --with-winbind \
+ --with-tdbsam \
+ --with-ldapsam \
+%if %{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="\
+ --enable-developer \
+ --enable-krb5developer \
+ --with-profiling-data \
+"
+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
+
+./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 = 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"
+for i in $EXAMPLEDIRS; do make -C ../examples/$i; done
+
+export USE_KAVPSHAREDLIB=0
+for module in %{vscan_modules}; do
+ make -C ../examples/VFS/%{name}-vscan-%{vscan_ver}/${module};
+done
+
+# tim potters python
+%if %{python} > 0
+make python_ext
+%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/var/log/samba \
+ $RPM_BUILD_ROOT/var/run/samba \
+ $RPM_BUILD_ROOT/var/lib/samba/{netlogon,drivers/{W32X86,WIN40,W32ALPHA,W32MIPS,W32PPC},profiles}
+
+cd source/
+make install \
+ LIBDIR=$RPM_BUILD_ROOT/etc/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 \
+ 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
+cd ..
+
+# utility scripts
+%if %{head} > 0
+scripts="creategroup cvslog.pl scancvslog.pl"
+%else
+scripts="scancvslog.pl"
+%endif
+for i in $scripts; do
+ cp -a source/script/$i $RPM_BUILD_ROOT/usr/share/samba/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
+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 600 smbpasswd -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
+
+# 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.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
+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
+
+# 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
+
+# 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/bin/winbindd $RPM_BUILD_ROOT/usr/sbin/
+ln -sf /lib/libnss_winbind.so $RPM_BUILD_ROOT/lib/libnss_winbind.so.2
+
+# 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
+install -m0644 source/include/libsmbclient.h $RPM_BUILD_ROOT/%{_includedir}
+
+# 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 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
+
+# install VSCAN-vfs-modules
+install -m0755 examples/VFS/%{name}-vscan-%{vscan_ver}/*/*.so $RPM_BUILD_ROOT/%{_libdir}/samba/vscan/
+
+# make examples clean
+VFS="$RPM_BUILD_DIR/%{name}-%{samba_ver}/examples/VFS"
+VSCAN="$VFS/%{name}-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"
+(for i in $dirs; do make -C $i clean; done)
+(for i in %{vscan_modules}; do make -C $VSCAN/$i clean; done)
+
+%if %{python} > 0
+# install python
+cp -a source/build/lib.*/samba $RPM_BUILD_ROOT/usr/lib/python2.2/lib-dynload/
+%endif
+
+# whats this ?
+install -m0755 source/bin/debug2html $RPM_BUILD_ROOT/usr/bin/
+
+%if %{smbwrap}
+# install smbwrapper
+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`
+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
+cp -a docs/* $RPM_BUILD_ROOT/%{DOCDIR}
+cp -a examples/ $RPM_BUILD_ROOT/%{DOCDIR}
+# save space...
+rm -r \
+ $RPM_BUILD_ROOT/%{SWATDIR}/using_samba
+ln -s %{DOCDIR}/htmldocs/using_samba $RPM_BUILD_ROOT/%{SWATDIR}
+
+
+%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
+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}
+
+%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
+%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
+%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/smbd.8.gz
+%doc %{_mandir}/man8/smbpasswd.8.gz
+%doc %{_mandir}/man8/swat.8.gz
+/usr/sbin/nmbd
+/usr/sbin/smbd
+/usr/sbin/swat
+/usr/sbin/wrepld
+/usr/sbin/rcsmb
+/usr/sbin/rcwrepl
+#/var/adm/fillup-templates/rc.config.samba
+/var/log/samba
+/var/spool/samba
+/var/run/samba
+/var/lib/samba
+/usr/share/samba
+/lib/security/pam_smbpass.so
+
+%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
+/sbin/mount.smbfs
+/usr/bin/findsmb
+/usr/bin/net
+/usr/bin/nmblookup
+/usr/bin/pdbedit
+/usr/bin/rpcclient
+/usr/bin/smbcacls
+/usr/bin/smbcontrol
+/usr/bin/smbclient
+/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/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
+%doc %{_mandir}/man1/wbinfo.1.gz
+%doc %{_mandir}/man8/winbindd.8.gz
+/usr/bin/wbinfo
+%if %{head} > 0
+/usr/bin/ntlm_auth
+%endif
+/usr/sbin/winbindd
+/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
+
+%files utils
+/usr/bin/smbtorture
+/usr/bin/msgtest
+/usr/bin/masktest
+/usr/bin/locktest
+/usr/bin/locktest2
+/usr/bin/debug2html
+/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 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*
+
+%if %{newsam} > 0
+%files sam
+/usr/lib/samba/sam
+%if %{head} > 0
+%doc examples/sam/*
+%endif
+%endif
+
+%files vscan
+/usr/lib/samba/vscan
+%doc %{name}-vscan-%{vscan_ver}/{AUTHORS,COPYING,ChangeLog,FAQ,NEWS,README,TODO}
+
+
+%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
+%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 .
+
+Authors:
+--------
+ Andrew Tridgell <Andrew.Tridgell@anu.edu.au>
+ Karl Auer <Karl.Auer@anu.edu.au>
+ Jeremy Allison <jeremy@netcom.com>
+
+SuSE series: n
+
+
+%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
+
+
+%description winbind
+This is the winbind-daemon and the wbinfo-tool.
+
+%description utils
+Some of the debug-tools for developpers.
+Contains:
+ - debug2html
+ - locktest
+ - locktest2
+ - masktest
+ - msgtest
+ - smbtorture
+ - talloctort
+ - several tdb-tools
+
+%description doc
+The Samba Documentation.
+
+%description vfs
+The Samba VFS-Modules.
+
+%description pdb
+The Samba PDB-Modules.
+
+%if %{newsam} > 0
+%description sam
+The Samba SAM-Modules.
+%endif
+
+%description vscan
+The Samba VFS-Modules for Virusscanners.
+
+%description python
+The Samba python-Modules.