s4-provision: set "setup_dir" to the right path
authorAndrew Tridgell <tridge@samba.org>
Wed, 21 Apr 2010 02:01:16 +0000 (12:01 +1000)
committerAndrew Tridgell <tridge@samba.org>
Wed, 21 Apr 2010 03:35:56 +0000 (13:35 +1000)
This needs to cope with both running from the build tree or running
from the install tree. We use the provision.smb.conf.dc as a sentinal
to detect if we are in the build tree.

Pair-Programmed-With: Andrew Bartlett <abartlet@samba.org>

source4/param/provision.c

index 91260c6326f74284ea1ece5157f810c1b1ae3e27..68c87239c107e6ba06cbb1616f4408d3afe01022 100644 (file)
@@ -35,6 +35,7 @@
 #include "scripting/python/modules.h"
 #include "lib/ldb/pyldb.h"
 #include "param/pyparam.h"
+#include "dynconfig/dynconfig.h"
 
 static PyObject *provision_module(void)
 {
@@ -138,8 +139,13 @@ NTSTATUS provision_bare(TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx,
        if (settings->targetdir != NULL)
                PyDict_SetItemString(parameters, "targetdir", 
                                                         PyString_FromString(settings->targetdir));
-       PyDict_SetItemString(parameters, "setup_dir", 
-                            PyString_FromString("setup"));
+       if (file_exist("setup/provision.smb.conf.dc")) {
+               PyDict_SetItemString(parameters, "setup_dir",
+                                    PyString_FromString("setup"));
+       } else {
+               PyDict_SetItemString(parameters, "setup_dir",
+                                    PyString_FromString(dyn_SETUPDIR));
+       }
        PyDict_SetItemString(parameters, "hostname", 
                                                 PyString_FromString(settings->netbios_name));
        PyDict_SetItemString(parameters, "domain",