svn commit: samba r17704 - in branches/SAMBA_4_0/source/scripting/libjs: .

abartlet at samba.org abartlet at samba.org
Tue Aug 22 10:19:46 GMT 2006


Author: abartlet
Date: 2006-08-22 10:19:46 +0000 (Tue, 22 Aug 2006)
New Revision: 17704

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=17704

Log:
Add comments suggesting how to get the LDAP backend working.

Shutdown and reload the LDB, so the entryUUID module knows to read the
schema (will be changed once we have a central schema store and
notifications).

Andrew Bartlett

Modified:
   branches/SAMBA_4_0/source/scripting/libjs/provision.js


Changeset:
Modified: branches/SAMBA_4_0/source/scripting/libjs/provision.js
===================================================================
--- branches/SAMBA_4_0/source/scripting/libjs/provision.js	2006-08-22 10:05:20 UTC (rev 17703)
+++ branches/SAMBA_4_0/source/scripting/libjs/provision.js	2006-08-22 10:19:46 UTC (rev 17704)
@@ -236,6 +236,7 @@
 
 	var connect_ok = ldb.connect(dbname);
 	if (!connect_ok) {
+		var lp = loadparm_init();
 		sys.unlink(sprintf("%s/%s", lp.get("private dir"), dbname));
 		connect_ok = ldb.connect(dbname);
 		assert(connect_ok);
@@ -307,8 +308,9 @@
 	var mod_ok = ldb.modify(data);
 	if (!mod_ok) {
 		info.message("ldb load failed: " + ldb.errstring() + "\n");
-		assert(mod_ok);
+		return mod_ok;
 	}
+	return mod_ok;
 }
 
 /*
@@ -453,14 +455,32 @@
 	ldb_erase_partitions(info, samdb);
 	
 	message("Adding baseDN: " + subobj.BASEDN + " (permitted to fail)\n");
-	setup_add_ldif("provision_basedn.ldif", info, samdb, true);
+	var add_ok = setup_add_ldif("provision_basedn.ldif", info, samdb, true);
 	message("Modifying baseDN: " + subobj.BASEDN + "\n");
-	setup_ldb_modify("provision_basedn_modify.ldif", info, samdb);
+	var modify_ok = setup_ldb_modify("provision_basedn_modify.ldif", info, samdb);
+	if (!modify_ok) {
+		if (!add_ok) {
+			message("Failed to both add and modify " + subobj.BASEDN + " in target " + subobj.LDAPBACKEND + "\n");
+			message("Perhaps you need to run the provision script with the --ldap-base-dn option, and add this record to the backend manually\n"); 
+		};
+		assert(modify_ok);
+	};
 
 	message("Setting up sam.ldb Samba4 schema\n");
 	setup_add_ldif("schema_samba4.ldif", info, samdb, false);
 	message("Setting up sam.ldb AD schema\n");
 	setup_add_ldif("schema.ldif", info, samdb, false);
+
+	// (hack) Reload, now we have the schema loaded.  
+	var commit_ok = samdb.transaction_commit();
+	if (!commit_ok) {
+		info.message("samdb commit failed: " + samdb.errstring() + "\n");
+		assert(commit_ok);
+	}
+	samdb.close();
+
+	samdb = open_ldb(info, paths.samdb, false);
+
 	message("Setting up display specifiers\n");
 	setup_add_ldif("display_specifiers.ldif", info, samdb, false);
 	message("Setting up sam.ldb templates\n");



More information about the samba-cvs mailing list