svn commit: samba r26594 - in branches/SAMBA_4_0: . source/scripting/python

jelmer at samba.org jelmer at samba.org
Tue Dec 25 16:36:36 GMT 2007


Author: jelmer
Date: 2007-12-25 16:36:36 +0000 (Tue, 25 Dec 2007)
New Revision: 26594

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

Log:
Add right paths to the Python sys.path setting so we don't have to set magic environment variables when running from the build directory.
Modified:
   branches/SAMBA_4_0/
   branches/SAMBA_4_0/source/scripting/python/modules.c
   branches/SAMBA_4_0/source/scripting/python/smbpython.c


Changeset:

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

Modified: branches/SAMBA_4_0/source/scripting/python/modules.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/python/modules.c	2007-12-25 16:36:31 UTC (rev 26593)
+++ branches/SAMBA_4_0/source/scripting/python/modules.c	2007-12-25 16:36:36 UTC (rev 26594)
@@ -43,3 +43,11 @@
 		PyImport_ExtendInittab(&py_modules[i]);
 	}
 }
+
+void py_update_path(const char *bindir)
+{
+	char *newpath;
+	asprintf(&newpath, "%s:%s/python:%s/../scripting/python", Py_GetPath(), bindir, bindir);
+	PySys_SetPath(newpath);
+	free(newpath);
+}

Modified: branches/SAMBA_4_0/source/scripting/python/smbpython.c
===================================================================
--- branches/SAMBA_4_0/source/scripting/python/smbpython.c	2007-12-25 16:36:31 UTC (rev 26593)
+++ branches/SAMBA_4_0/source/scripting/python/smbpython.c	2007-12-25 16:36:36 UTC (rev 26594)
@@ -21,9 +21,16 @@
 #include <Python.h>
 
 void py_load_samba_modules(void);
+void py_update_path(const char *bindir);
 
 int main(int argc, char **argv) 
 {
 	py_load_samba_modules();
+	Py_Initialize();
+	if (strchr(argv[0], '/') != NULL) {
+		char *bindir = strndup(argv[0], strrchr(argv[0], '/')-argv[0]);
+		py_update_path(bindir);
+		free(bindir);
+	}
 	return Py_Main(argc,argv);
 }



More information about the samba-cvs mailing list