summaryrefslogtreecommitdiff
path: root/source4
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-12-23 22:06:29 -0600
committerStefan Metzmacher <metze@samba.org>2007-12-24 01:51:04 -0600
commit1ab5bcfb93c9fc7b18d55e6c5995efddf97fea09 (patch)
tree8e7a7ce729322ae1e6b57e839837e19b9dfc454f /source4
parent2d400c1dd1ba1c5a49d2d79bdf7593d430da92e8 (diff)
downloadsamba-1ab5bcfb93c9fc7b18d55e6c5995efddf97fea09.tar.gz
samba-1ab5bcfb93c9fc7b18d55e6c5995efddf97fea09.tar.bz2
samba-1ab5bcfb93c9fc7b18d55e6c5995efddf97fea09.zip
r26575: Build a private copy of the Python executable for Samba 4, so we know we're always using the same library we build the modules for.
(This used to be commit 03270c5ffdb1476bef5eba846c2ea008111375fc)
Diffstat (limited to 'source4')
-rw-r--r--source4/scripting/python/config.m43
-rw-r--r--source4/scripting/python/config.mk5
-rw-r--r--source4/scripting/python/smbpython.c25
-rwxr-xr-xsource4/selftest/samba4_tests.sh26
4 files changed, 46 insertions, 13 deletions
diff --git a/source4/scripting/python/config.m4 b/source4/scripting/python/config.m4
index 8951b4da08..49ad7273a4 100644
--- a/source4/scripting/python/config.m4
+++ b/source4/scripting/python/config.m4
@@ -41,9 +41,11 @@ then
Py_InitModule(NULL, NULL);
],[
SMB_ENABLE(LIBPYTHON,YES)
+ SMB_ENABLE(smbpython,YES)
AC_MSG_RESULT([yes])
],[
SMB_ENABLE(LIBPYTHON,NO)
+ SMB_ENABLE(smbpython,NO)
AC_MSG_RESULT([no])
])
@@ -51,5 +53,6 @@ then
CFLAGS="$ac_save_CFLAGS"
else
SMB_ENABLE(LIBPYTHON,NO)
+ SMB_ENABLE(smbpython,NO)
AC_MSG_RESULT([no])
fi
diff --git a/source4/scripting/python/config.mk b/source4/scripting/python/config.mk
index d0d3829eef..ac923cb8d1 100644
--- a/source4/scripting/python/config.mk
+++ b/source4/scripting/python/config.mk
@@ -1,3 +1,8 @@
+[BINARY::smbpython]
+PRIVATE_DEPENDENCIES = LIBPYTHON
+OBJ_FILES = \
+ smbpython.o
+
[PYTHON::python_uuid]
PRIVATE_DEPENDENCIES = LIBNDR
OBJ_FILES = uuidmodule.o
diff --git a/source4/scripting/python/smbpython.c b/source4/scripting/python/smbpython.c
new file mode 100644
index 0000000000..43785765c1
--- /dev/null
+++ b/source4/scripting/python/smbpython.c
@@ -0,0 +1,25 @@
+/*
+ Unix SMB/CIFS implementation.
+ Samba utility functions
+ Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#include "includes.h"
+#include <Python.h>
+
+int main(int argc, char **argv) {
+ return Py_Main(argc,argv);
+}
diff --git a/source4/selftest/samba4_tests.sh b/source4/selftest/samba4_tests.sh
index 16dd38802a..edcf51a8e0 100755
--- a/source4/selftest/samba4_tests.sh
+++ b/source4/selftest/samba4_tests.sh
@@ -285,20 +285,20 @@ then
fi
# if python is available, run the python tests:
-if which python 2>/dev/null >/dev/null
+if test -f $samba4bindir/smbpython
then
- PYTHON=python
- plantest "ldb.python" none PYTHONPATH=bin/python:scripting/python:lib/ldb/tests/python/ scripting/bin/subunitrun api
- plantest "credentials.python" none PYTHONPATH=bin/python:scripting/python:auth/credentials/tests scripting/bin/subunitrun bindings
- plantest "registry.python" none PYTHONPATH=bin/python:scripting/python:lib/registry/tests/ scripting/bin/subunitrun bindings
- plantest "tdb.python" none PYTHONPATH=bin/python:scripting/python:lib/tdb/python/tests scripting/bin/subunitrun simple
- plantest "auth.python" none PYTHONPATH=bin/python:scripting/python:auth/tests/ scripting/bin/subunitrun bindings
- plantest "security.python" none PYTHONPATH=bin/python:scripting/python:libcli/security/tests/ scripting/bin/subunitrun bindings
- plantest "param.python" none PYTHONPATH=bin/python:scripting/python:param/tests scripting/bin/subunitrun bindings
- plantest "upgrade.python" none PYTHONPATH=bin/python:scripting/python scripting/bin/subunitrun samba.tests.upgrade
- plantest "samba.python" none PYTHONPATH=bin/python:scripting/python scripting/bin/subunitrun samba.tests
- plantest "provision.python" none PYTHONPATH=bin/python:scripting/python scripting/bin/subunitrun samba.tests.provision
- plantest "samba3.python" none PYTHONPATH=bin/python:scripting/python scripting/bin/subunitrun samba.tests.samba3
+ PYTHON=bin/smbpython
+ plantest "ldb.python" none PYTHONPATH=bin/python:scripting/python:lib/ldb/tests/python/ $PYTHON scripting/bin/subunitrun api
+ plantest "credentials.python" none PYTHONPATH=bin/python:scripting/python:auth/credentials/tests $PYTHON scripting/bin/subunitrun bindings
+ plantest "registry.python" none PYTHONPATH=bin/python:scripting/python:lib/registry/tests/ $PYTHON scripting/bin/subunitrun bindings
+ plantest "tdb.python" none PYTHONPATH=bin/python:scripting/python:lib/tdb/python/tests $PYTHON scripting/bin/subunitrun simple
+ plantest "auth.python" none PYTHONPATH=bin/python:scripting/python:auth/tests/ $PYTHON scripting/bin/subunitrun bindings
+ plantest "security.python" none PYTHONPATH=bin/python:scripting/python:libcli/security/tests/ $PYTHON scripting/bin/subunitrun bindings
+ plantest "param.python" none PYTHONPATH=bin/python:scripting/python:param/tests $PYTHON scripting/bin/subunitrun bindings
+ plantest "upgrade.python" none PYTHONPATH=bin/python:scripting/python $PYTHON scripting/bin/subunitrun samba.tests.upgrade
+ plantest "samba.python" none PYTHONPATH=bin/python:scripting/python $PYTHON scripting/bin/subunitrun samba.tests
+ plantest "provision.python" none PYTHONPATH=bin/python:scripting/python $PYTHON scripting/bin/subunitrun samba.tests.provision
+ plantest "samba3.python" none PYTHONPATH=bin/python:scripting/python $PYTHON scripting/bin/subunitrun samba.tests.samba3
plantest "samba3sam.python" none PYTHONPATH=bin/python:scripting/python $PYTHON dsdb/samdb/ldb_modules/tests/samba3sam.py `pwd` $DATADIR/samba3/
plantest "ldap.python" dc $PYTHON $samba4srcdir/lib/ldb/tests/python/ldap.py \$SERVER -U\$USERNAME%\$PASSWORD
fi