[SCM] Samba Shared Repository - branch master updated - 52571a0333d50c58675e858774c6d5eb68a48658

Jelmer Vernooij jelmer at samba.org
Thu Dec 11 18:03:35 GMT 2008


The branch, master has been updated
       via  52571a0333d50c58675e858774c6d5eb68a48658 (commit)
      from  792f769e969da156bbc6330118e200f2eae19d7c (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 52571a0333d50c58675e858774c6d5eb68a48658
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Thu Dec 11 18:51:28 2008 +0100

    Add interactive flag to setup/provision (also the default when no arguments are given).

-----------------------------------------------------------------------

Summary of changes:
 source4/setup/provision |   29 +++++++++++++++++++++++++++--
 1 files changed, 27 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/setup/provision b/source4/setup/provision
index 7bd61fc..882a92a 100755
--- a/source4/setup/provision
+++ b/source4/setup/provision
@@ -24,7 +24,8 @@
 
 import getopt
 import optparse
-import os, sys
+import os
+import sys
 
 # Find right directory when running from source tree
 sys.path.insert(0, "bin/python")
@@ -46,6 +47,7 @@ parser.add_option_group(sambaopts)
 parser.add_option_group(options.VersionOptions(parser))
 credopts = options.CredentialsOptions(parser)
 parser.add_option_group(credopts)
+parser.add_option("--interactive", help="Ask for names")
 parser.add_option("--setupdir", type="string", metavar="DIR", 
 		help="directory with setup files")
 parser.add_option("--realm", type="string", metavar="REALM", help="set realm")
@@ -108,7 +110,10 @@ def message(text):
 	if not opts.quiet:
 		print text
 
-if opts.realm is None or opts.domain is None:
+if len(sys.argv) == 1:
+	opts.interactive = True
+
+if not opts.interactive and (opts.realm is None or opts.domain is None):
 	if opts.realm is None:
 		print >>sys.stderr, "No realm set"
 	if opts.domain is None:
@@ -116,6 +121,26 @@ if opts.realm is None or opts.domain is None:
 	parser.print_usage()
 	sys.exit(1)
 
+if opts.interactive:
+	from getpass import getpass
+	import readline
+	import socket
+	def ask(prompt, default=None):
+		if default is not None:
+			print "%s [%s]: " % (prompt,default),
+		else:
+			print "%s: " % (prompt,),
+		return sys.stdin.readline().rstrip("\n") or default
+	opts.realm = ask("Realm", socket.gethostname().split(".", 1)[1])
+	opts.domain = ask("Domain", opts.realm)
+	opts.server_role = ask("Server Role (dc, member, standalone)", "dc")
+	for i in range(3):
+		opts.adminpass = getpass("Administrator password: ")
+		if not opts.adminpass:
+			print >>sys.stderr, "Invalid administrator password."
+		else:
+			break
+
 lp = sambaopts.get_loadparm()
 smbconf = lp.configfile()
 


-- 
Samba Shared Repository


More information about the samba-cvs mailing list