svn commit: samba r25339 - in branches/4.0-python: . source/setup

jelmer at samba.org jelmer at samba.org
Wed Sep 26 01:34:43 GMT 2007


Author: jelmer
Date: 2007-09-26 01:34:42 +0000 (Wed, 26 Sep 2007)
New Revision: 25339

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=25339

Log:
Start converting provision to python.
Modified:
   branches/4.0-python/
   branches/4.0-python/source/setup/provision


Changeset:

Property changes on: branches/4.0-python
___________________________________________________________________
Name: bzr:revision-info
...skipped...
Name: bzr:revision-id:v3-trunk0
...skipped...

Modified: branches/4.0-python/source/setup/provision
===================================================================
--- branches/4.0-python/source/setup/provision	2007-09-26 01:34:35 UTC (rev 25338)
+++ branches/4.0-python/source/setup/provision	2007-09-26 01:34:42 UTC (rev 25339)
@@ -1,12 +1,13 @@
-#!/bin/sh
-exec smbscript "$0" ${1+"$@"}
-/*
-	provision a Samba4 server
-	Copyright Andrew Tridgell 2005
-	Released under the GNU GPL v2 or later
-*/
+#!/usr/bin/python
+#
+#	provision a Samba4 server
+#	Copyright Andrew Tridgell 2005
+#	Released under the GNU GPL v2 or later
+#
 
-options = GetOptions(ARGV,
+from samba import getopt
+
+options = getopt(
 		"POPT_AUTOHELP",
 		"POPT_COMMON_SAMBA",
 		"POPT_COMMON_VERSION",
@@ -35,33 +36,23 @@
 		'partitions-only',
 		'ldap-base',
 		'ldap-backend=s',
-                'ldap-module=s',
-                'aci=s');
+        'ldap-module=s',
+        'aci=s');
 
-if (options == undefined) {
-   println("Failed to parse options");
-   return -1;
-}
+from provision import provision
 
-libinclude("base.js");
-libinclude("provision.js");
+#
+#  print a message if quiet is not set
+#
+def message(text):
+	if options["quiet"] == undefined:
+		print text
 
-/*
-  print a message if quiet is not set
-*/
-function message()
-{
-	if (options["quiet"] == undefined) {
-		print(vsprintf(arguments));
-	}
-}
-
-/*
- show some help
-*/
-function ShowHelp()
-{
-	print("
+#
+# show some help
+#
+def ShowHelp():
+	print "
 Samba4 provisioning
 
 provision [options]
@@ -100,16 +91,16 @@
 	options['host-name'] = hostname();
 }
 
-/*
-   main program
-*/
+#
+#   main program
+#
 if (options["realm"] == undefined ||
     options["domain"] == undefined ||
     options["host-name"] == undefined) {
 	ShowHelp();
 }
 
-/* cope with an initially blank smb.conf */
+# cope with an initially blank smb.conf 
 var lp = loadparm_init();
 lp.set("realm", options.realm);
 lp.set("workgroup", options.domain);
@@ -152,34 +143,31 @@
 	message("LDAP module: %s on backend: %s\n", subobj.LDAPMODULE, subobj.LDAPBACKEND);
 }
 
-if (!provision_validate(subobj, message)) {
-	return -1;
-}
+if not provision_validate(subobj, message):
+	return -1
 
-var system_session = system_session();
-var creds = options.get_credentials();
-message("Provisioning for %s in realm %s\n", subobj.DOMAIN, subobj.REALM);
-message("Using administrator password: %s\n", subobj.ADMINPASS);
-if (ldapbase) {
-	provision_ldapbase(subobj, message, paths);
-	message("Please install the LDIF located in " + paths.ldap_basedn_ldif + ", " + paths.ldap_config_basedn_ldif + " and " + paths.ldap_schema_basedn_ldif + " into your LDAP server, and re-run with --ldap-backend=ldap://my.ldap.server\n");
-} else if (partitions_only) {
-	provision_become_dc(subobj, message, false, paths, system_session);
-} else {
-	provision(subobj, message, blank, paths, system_session, creds, ldapbackend);
-	provision_dns(subobj, message, paths, system_session, creds);
-	message("To reproduce this provision, run with:\n");
-	message("--realm='" + subobj.REALM_CONF + "' --domain='" + subobj.DOMAIN_CONF + "' --domain-guid='" + subobj.DOMAINGUID + "' \\\n");
-	message("--policy-guid='" + subobj.POLICYGUID + "' --host-name='" + subobj.HOSTNAME + "' --host-ip='" + subobj.HOSTIP + "' \\\n");
-	message("--host-guid='" + subobj.HOSTGUID + "' --invocationid='" + subobj.INVOCATIONID + "' \\\n");
-	message("--adminpass='" + subobj.ADMINPASS + "' --krbtgtpass='" + subobj.KRBTGTPASS + "' \\\n");
-	message("--machinepass='" + subobj.MACHINEPASS + "' --dnspass='" + subobj.DNSPASS + "' \\\n");
-	message("--root='" + subobj.ROOT + "' --nobody='" + subobj.NOBODY + "' --nogroup-'" + subobj.NOGROUP + "' \\\n");
-	message("--wheel='" + subobj.WHEEL + "' --users='" + subobj.USERS + "' --server-role='" + subobj.SERVERROLE + "' \\\n");
-	message("--ldap-backend='" + subobj.LDAPBACKEND + "' --ldap-mdoule='" + subobj.LDAPMODULE + "' \\\n");
+system_session = system_session()
+creds = options.get_credentials()
+message("Provisioning for %s in realm %s\n", subobj.DOMAIN, subobj.REALM)
+message("Using administrator password: %s\n", subobj.ADMINPASS)
+if ldapbase:
+	provision_ldapbase(subobj, message, paths)
+	message("Please install the LDIF located in " + paths.ldap_basedn_ldif + ", " + paths.ldap_config_basedn_ldif + " and " + paths.ldap_schema_basedn_ldif + " into your LDAP server, and re-run with --ldap-backend=ldap://my.ldap.server\n")
+elif partitions_only:
+	provision_become_dc(subobj, message, false, paths, system_session)
+else:
+	provision(subobj, message, blank, paths, system_session, creds, ldapbackend)
+	provision_dns(subobj, message, paths, system_session, creds)
+	message("To reproduce this provision, run with:\n")
+	message("--realm='" + subobj.REALM_CONF + "' --domain='" + subobj.DOMAIN_CONF + "' --domain-guid='" + subobj.DOMAINGUID + "' \\\n")
+	message("--policy-guid='" + subobj.POLICYGUID + "' --host-name='" + subobj.HOSTNAME + "' --host-ip='" + subobj.HOSTIP + "' \\\n")
+	message("--host-guid='" + subobj.HOSTGUID + "' --invocationid='" + subobj.INVOCATIONID + "' \\\n")
+	message("--adminpass='" + subobj.ADMINPASS + "' --krbtgtpass='" + subobj.KRBTGTPASS + "' \\\n")
+	message("--machinepass='" + subobj.MACHINEPASS + "' --dnspass='" + subobj.DNSPASS + "' \\\n")
+	message("--root='" + subobj.ROOT + "' --nobody='" + subobj.NOBODY + "' --nogroup-'" + subobj.NOGROUP + "' \\\n")
+	message("--wheel='" + subobj.WHEEL + "' --users='" + subobj.USERS + "' --server-role='" + subobj.SERVERROLE + "' \\\n")
+	message("--ldap-backend='" + subobj.LDAPBACKEND + "' --ldap-mdoule='" + subobj.LDAPMODULE + "' \\\n")
 	message("--aci='" + subobj.ACI + "' \\\n")
-}
 
-
-message("All OK\n");
-return 0;
+message("All OK\n")
+return 0



More information about the samba-cvs mailing list