diff options
author | Andrew Bartlett <abartlet@samba.org> | 2008-05-12 09:44:27 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2008-05-12 09:44:27 +1000 |
commit | b869a525b1f40baf881a725e5632b39c99268d67 (patch) | |
tree | 594e53b6f5ad26e28ad8fe78d9119275e4ac319d /source4/setup/upgrade | |
parent | 00ebe3df811a9eb7737fa6278d8784500c35bd14 (diff) | |
parent | 5d02514f72c6c89bc28b4c5de3d95bb8a439b56e (diff) | |
download | samba-b869a525b1f40baf881a725e5632b39c99268d67.tar.gz samba-b869a525b1f40baf881a725e5632b39c99268d67.tar.bz2 samba-b869a525b1f40baf881a725e5632b39c99268d67.zip |
Merge branch 'v4-0-test' of ssh://git.samba.org/data/git/samba into 4-0-local
(This used to be commit 61c31dc7cf649bc6f2d14bc8637e50ead9b9210a)
Diffstat (limited to 'source4/setup/upgrade')
-rwxr-xr-x | source4/setup/upgrade | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/source4/setup/upgrade b/source4/setup/upgrade new file mode 100755 index 0000000000..3bcc57ab64 --- /dev/null +++ b/source4/setup/upgrade @@ -0,0 +1,65 @@ +#!/usr/bin/python +# +# Upgrade from Samba3 +# Copyright Jelmer Vernooij 2005-2007 +# Released under the GNU GPL v3 or later +# +import getopt +import optparse +import os, sys +import param +import samba +import samba.getopt as options +from auth import system_session + +parser = optparse.OptionParser("upgrade [options] <libdir> <smbconf>") +sambaopts = options.SambaOptions(parser) +parser.add_option_group(sambaopts) +parser.add_option_group(options.VersionOptions(parser)) +credopts = options.CredentialsOptions(parser) +parser.add_option_group(credopts) +parser.add_option("--setupdir", type="string", metavar="DIR", + help="directory with setup files") +parser.add_option("--realm", type="string", metavar="REALM", help="set realm") +parser.add_option("--quiet", help="Be quiet") +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") + +opts, args = parser.parse_args() + +def message(text): + """Print a message if quiet is not set.""" + if opts.quiet: + print text + +if len(args) < 1: + parser.print_usage() + sys.exit(1) +from samba.samba3 import Samba3 +message("Reading Samba3 databases and smb.conf\n") +libdir = args[0] +if not os.path.isdir(libdir): + print "error: %s is not a directory" + sys.exit(1) +if len(args) > 1: + smbconf = args[1] +else: + smbconf = os.path.join(libdir, "smb.conf") +samba3 = Samba3(libdir, smbconf) + +from samba.upgrade import upgrade_provision + +message("Provisioning\n") + +setup_dir = opts.setupdir +if setup_dir is None: + setup_dir = "setup" + +lp = sambaopts.get_loadparm() +smbconf = lp.configfile() +creds = credopts.get_credentials(lp) + +upgrade_provision(samba3, setup_dir, message, credentials=creds, session_info=system_session(), + smbconf=smbconf, targetdir=opts.targetdir) |