From 4bf01670244bd48c185e144ad0487716bff7fac7 Mon Sep 17 00:00:00 2001 From: John Terpstra Date: Tue, 12 Aug 2003 01:30:40 +0000 Subject: Updating SuSE build files for Samba3 (This used to be commit 934fefa688fe735e2287c701ed8f913fc6147447) --- packaging/SuSE/samba-mutual-auth.diff | 247 +++++ packaging/SuSE/samba-vscan-0.3.2b.tar.bz2 | Bin 0 -> 69479 bytes packaging/SuSE/samba3-3.0.0-Makefiles-heimdal.diff | 22 + packaging/SuSE/samba3-3.0.0-pdb.diff | 13 + packaging/SuSE/samba3-Makefile.diff | 16 + packaging/SuSE/samba3-com_err.diff | 60 ++ packaging/SuSE/samba3-net_ads_password.diff | 58 ++ packaging/SuSE/samba3-smbwrapper.diff | 11 + packaging/SuSE/samba3-vscan.diff | 269 ++++++ packaging/SuSE/samba3.spec | 1007 ++++++++++---------- 10 files changed, 1200 insertions(+), 503 deletions(-) create mode 100644 packaging/SuSE/samba-mutual-auth.diff create mode 100755 packaging/SuSE/samba-vscan-0.3.2b.tar.bz2 create mode 100644 packaging/SuSE/samba3-3.0.0-Makefiles-heimdal.diff create mode 100644 packaging/SuSE/samba3-3.0.0-pdb.diff create mode 100644 packaging/SuSE/samba3-Makefile.diff create mode 100644 packaging/SuSE/samba3-com_err.diff create mode 100644 packaging/SuSE/samba3-net_ads_password.diff create mode 100644 packaging/SuSE/samba3-smbwrapper.diff create mode 100644 packaging/SuSE/samba3-vscan.diff (limited to 'packaging/SuSE') diff --git a/packaging/SuSE/samba-mutual-auth.diff b/packaging/SuSE/samba-mutual-auth.diff new file mode 100644 index 0000000000..865f91682a --- /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 0000000000..2680bed82f Binary files /dev/null and b/packaging/SuSE/samba-vscan-0.3.2b.tar.bz2 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 0000000000..13da47e740 --- /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-pdb.diff b/packaging/SuSE/samba3-3.0.0-pdb.diff new file mode 100644 index 0000000000..0c811b57c5 --- /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 0000000000..bc1ad142d9 --- /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 0000000000..c5d04cebe1 --- /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 0000000000..cc800fb7bf --- /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 -Uadmin_username@realm%%admin_pass"\ ++"\nnet ads 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] "\ +@@ -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 0000000000..0f7b391de0 --- /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 0000000000..330b470af2 --- /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 dd2860b801..1b620e60c2 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 - 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 - Karl Auer - Jeremy Allison +%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 - Karl Auer - Jeremy Allison - -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 + + +%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 + + -- cgit