"POPT_AUTOHELP",
"POPT_COMMON_SAMBA",
"POPT_COMMON_VERSION",
- 'ldif',
+ 'verify',
+ 'targetdir=s',
'quiet', 'blank');
if (options == undefined) {
}
}
-function ldifprint(data)
-{
- if (options.ldif != undefined) {
- print(data);
- }
-}
-
/*
show some help
*/
Samba4 import tool
provision [options] <libdir> <smbconf>
- --ldif Dump LDIF
+ --targetdir=DIR Output to specified directory
--quiet Be quiet
--blank do not add users or groups, just the structure
exit(1);
}
-message("Writing smb.conf\n");
-var smbconf = upgrade_smbconf(samba3);
-// FIXME: Write!
+
message("Provisioning\n");
var subobj = upgrade_provision(samba3);
-provision(subobj, message, options.blank);
+var paths;
+if (options.targetdir != undefined) {
+ paths = new Object();
+ paths.smbconf = sprintf("%s/smb.conf", options.targetdir);
+ var ldbs = new Array("hklm","hkcr","hku","hkcu","hkpd","hkpt","samdb","rootdse","secrets","winsdb");
+ for (var i in ldbs) {
+ var n = ldbs[i];
+ paths[n] = sprintf("tdb://%s/%s.ldb", options.targetdir, n);
+ }
+ paths.dns = options.targetdir+"/dns.zone";
+} else {
+ paths = provision_default_paths(subobj);;
+}
+
+provision(subobj, message, options.blank,paths);
-ok = upgrade(subobj,samba3,message);
-assert(ok);
+var ret = upgrade(subobj,samba3,message,paths);
+if (ret > 0) {
+ message("Failed to import %d entries\n", ret);
+} else {
+ message("All OK\n");
+}
+
+if (options.verify != undefined) {
+ message("Verifying...\n");
+ ret = upgrade_verify(subobj, samba3,paths,message);
+}
-message("All OK\n");
-return 0;
+return ret;