From 0549763600b26fadac443555e1cbec5680f91340 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Mon, 29 Aug 2005 12:31:32 +0000 Subject: r9735: More work on generating a valid Samba4 configuration using the Samba3 data (both console and SWAT) (This used to be commit d569465dc4def55c27878028f2fc762960f453d8) --- source4/setup/upgrade | 85 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 source4/setup/upgrade (limited to 'source4/setup/upgrade') diff --git a/source4/setup/upgrade b/source4/setup/upgrade new file mode 100644 index 0000000000..447e5ee4f9 --- /dev/null +++ b/source4/setup/upgrade @@ -0,0 +1,85 @@ +#!/bin/sh +exec smbscript "$0" ${1+"$@"} +/* + Upgrade from Samba3 + Copyright Jelmer Vernooij 2005 + Released under the GNU GPL v2 or later +*/ + +options = GetOptions(ARGV, + "POPT_AUTOHELP", + "POPT_COMMON_SAMBA", + "POPT_COMMON_VERSION", + 'quiet', 'blank'); + +if (options == undefined) { + println("Failed to parse options"); + return -1; +} + +libinclude("base.js"); +libinclude("provision.js"); +libinclude("upgrade.js"); + +/* + print a message if quiet is not set +*/ +function message() +{ + if (options["quiet"] == undefined) { + print(vsprintf(arguments)); + } +} + +/* + show some help +*/ +function ShowHelp() +{ + print(" +Samba4 import tool + +provision [options] + --quiet Be quiet + --blank do not add users or groups, just the structure + +You must provide at least a realm and domain + +"); + exit(1); +} + +if (options.ARGV.length != 2) { + ShowHelp(); + exit(1); +} + +message("Reading Samba3 databases and smb.conf\n"); +var samba3 = samba3_read(options.ARGV[0], options.ARGV[1]); + +if (samba3 == undefined) { + println("Error reading Samba3 data"); + exit(1); +} + +message("Writing smb.conf\n"); +// FIXME + +message("Provisioning\n"); +var subobj = upgrade_provision(samba3); +provision(subobj, message, blank); + +message("Importing account policies\n"); +// FIXME + +message("Importing users\n"); +// FIXME + +message("Importing groups\n"); +// FIXME + +message("Importing WINS data\n"); +// FIXME + +message("All OK\n"); +return 0; -- cgit