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