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

Reply via email to