svn commit: samba r26370 - in branches/SAMBA_4_0: . source/setup
jelmer at samba.org
jelmer at samba.org
Mon Dec 10 10:29:27 GMT 2007
Author: jelmer
Date: 2007-12-10 10:29:26 +0000 (Mon, 10 Dec 2007)
New Revision: 26370
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26370
Log:
Import upgrade script in Python.
Added:
branches/SAMBA_4_0/source/setup/upgrade.py
Modified:
branches/SAMBA_4_0/
Changeset:
Property changes on: branches/SAMBA_4_0
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:file-ids
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...
Added: branches/SAMBA_4_0/source/setup/upgrade.py
===================================================================
--- branches/SAMBA_4_0/source/setup/upgrade.py 2007-12-10 10:29:20 UTC (rev 26369)
+++ branches/SAMBA_4_0/source/setup/upgrade.py 2007-12-10 10:29:26 UTC (rev 26370)
@@ -0,0 +1,61 @@
+#!/usr/bin/python
+#
+# Upgrade from Samba3
+# Copyright Jelmer Vernooij 2005-2007
+# Released under the GNU GPL v3 or later
+#
+import getopt
+import optparse
+import samba.options
+
+parser = optparse.OptionParser("upgrade [options]")
+parser.add_option_group(options.SambaOptions(parser))
+parser.add_option_group(options.VersionOptions(parser))
+parser.add_option_group(options.CredentialsOptions(parser))
+parser.add_option("--realm", type="string", metavar="REALM", help="set realm")
+parser.add_option("--quiet", help="Be quiet")
+parser.add_option("--verify", help="Verify resulting configuration")
+parser.add_option("--blank",
+ help="do not add users or groups, just the structure")
+parser.add_option("--targetdir", type="string", metavar="DIR",
+ help="Set target directory")
+
+def message(text):
+ """Print a message if quiet is not set."""
+ if opts.quiet:
+ print text
+
+message("Reading Samba3 databases and smb.conf\n")
+samba3 = samba3_read(options.ARGV[0], options.ARGV[1])
+
+message("Provisioning\n")
+subobj = upgrade_provision(samba3)
+if options.targetdir is not None:
+ paths = ProvisionPaths()
+ paths.smbconf = os.path.join(options.targetdir, "smb.conf")
+ ldbs = ["hklm","hkcr","hku","hkcu","hkpd","hkpt","samdb","rootdse","secrets","wins"]
+ for n in ldbs:
+ paths[n] = sprintf("tdb://%s/%s.ldb", options.targetdir, n)
+ paths.dns = os.path.join(options.targetdir, "dns.zone")
+else:
+ paths = provision_default_paths(subobj)
+
+creds = options.get_credentials()
+system_session = system_session()
+paths = provision_default_paths(subobj)
+
+if options.realm:
+ subobj.realm = options.realm
+
+provision(lp, subobj, message, options.blank, paths, system_session, creds, undefined)
+
+ret = upgrade(subobj,samba3,message,paths, system_session, creds)
+if ret > 0:
+ message("Failed to import %d entries\n", ret)
+else:
+ provision_dns(subobj, message, paths, system_session, creds)
+ message("All OK\n")
+
+if options.verify:
+ message("Verifying...\n")
+ ret = upgrade_verify(subobj, samba3, paths, message)
Property changes on: branches/SAMBA_4_0/source/setup/upgrade.py
___________________________________________________________________
Name: svn:executable
+ *
More information about the samba-cvs
mailing list