[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Tue Feb 9 22:27:46 MST 2010


The branch, master has been updated
       via  f299fe5... s4:provision Just 'do the right thing' with empty smb.conf files
      from  f8778ba... s4-smbtorture: use test_GetPrinter_level in RPC-SPOOLSS-NOTIFY.

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


- Log -----------------------------------------------------------------
commit f299fe565ae5dba76ffc708da9a47405d61b0af9
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Feb 10 13:56:24 2010 +1100

    s4:provision Just 'do the right thing' with empty smb.conf files
    
    For some reason, JHT keeps on creating an empty smb.conf file,
    expecting it to be the same as a non-existant one.  It is easier to
    just realise what he meant.
    
    Andrew Bartlett

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

Summary of changes:
 source4/scripting/python/samba/provision.py |   12 ++++++++++--
 source4/setup/tests/blackbox_provision.sh   |   16 ++++++++++++++++
 2 files changed, 26 insertions(+), 2 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source4/scripting/python/samba/provision.py b/source4/scripting/python/samba/provision.py
index 58c172f..b02d94d 100644
--- a/source4/scripting/python/samba/provision.py
+++ b/source4/scripting/python/samba/provision.py
@@ -1172,9 +1172,17 @@ def provision(setup_dir, message, session_info,
         smbconf = param.default_path()
 
     # only install a new smb.conf if there isn't one there already
-    if not os.path.exists(smbconf):
+    if os.path.exists(smbconf):
+        # JHT calls me up often enough with weird errors, because he
+        # uses an empty smb.conf. --abartlet
+        data = open(smbconf, 'r').read()
+        data = data.lstrip()
+        if data is None or data == "":
+            make_smbconf(smbconf, setup_path, hostname, domain, realm, serverrole, 
+                         targetdir, sid_generator, useeadb)
+    else: 
         make_smbconf(smbconf, setup_path, hostname, domain, realm, serverrole, 
-                     targetdir, sid_generator,useeadb)
+                     targetdir, sid_generator, useeadb)
 
     lp = param.LoadParm()
     lp.load(smbconf)
diff --git a/source4/setup/tests/blackbox_provision.sh b/source4/setup/tests/blackbox_provision.sh
index 22d062d..6b2c227 100755
--- a/source4/setup/tests/blackbox_provision.sh
+++ b/source4/setup/tests/blackbox_provision.sh
@@ -12,15 +12,31 @@ shift 1
 
 . `dirname $0`/../../../testprogs/blackbox/subunit.sh
 
+#Prepare an empty smb.conf to ensure it is overwritten
+rm -rf $PREFIX/simple-default
+mkdir -p $PREFIX/simple-default/etc
+touch $PREFIX/simple-default/etc/smb.conf
 testit "simple-default" $PYTHON ./setup/provision --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-default
+#And try with just whitespace
+rm -rf $PREFIX/simple-dc
+mkdir -p $PREFIX/simple-dc/etc
+echo "  " > $PREFIX/simple-dc/etc/smb.conf
 testit "simple-dc" $PYTHON ./setup/provision --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/simple-dc
+#The rest of these tests are with no smb.conf file present
+
+rm -rf $PREFIX/simple-dc
 testit "simple-dc-guids" $PYTHON ./setup/provision --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --domain-guid=6054d36d-2bfd-44f1-a9cd-32cfbb06480b --ntds-guid=b838f255-c8aa-4fe8-9402-b7d61ca3bd1b --invocationid=6d4cff9a-2bbf-4b4c-98a2-36242ddb0bd6 --targetdir=$PREFIX/simple-dc
+rm -rf $PREFIX/simple-member
 testit "simple-member" $PYTHON ./setup/provision --server-role="member" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-member
+rm -rf $PREFIX/simple-standalone
 testit "simple-standalone" $PYTHON ./setup/provision --server-role="standalone" --domain=FOO --realm=foo.example.com --targetdir=$PREFIX/simple-standalone
+rm -rf $PREFIX/blank-dc
 testit "blank-dc" $PYTHON ./setup/provision --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/blank-dc --blank
+rm -rf $PREFIX/partitions-only-dc
 testit "partitions-only-dc" $PYTHON ./setup/provision --server-role="dc" --domain=FOO --realm=foo.example.com --domain-sid=S-1-5-21-4177067393-1453636373-93818738 --targetdir=$PREFIX/partitions-only-dc --partitions-only
 
 reprovision() {
+        rm -rf $PREFIX/reprovision
 	$PYTHON ./setup/provision --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/reprovision"
 	$PYTHON ./setup/provision --domain=FOO --realm=foo.example.com --targetdir="$PREFIX/reprovision"
 }


-- 
Samba Shared Repository


More information about the samba-cvs mailing list