From 1ab5bcfb93c9fc7b18d55e6c5995efddf97fea09 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Sun, 23 Dec 2007 22:06:29 -0600 Subject: 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) --- source4/scripting/python/config.m4 | 3 +++ source4/scripting/python/config.mk | 5 +++++ source4/scripting/python/smbpython.c | 25 +++++++++++++++++++++++++ source4/selftest/samba4_tests.sh | 26 +++++++++++++------------- 4 files changed, 46 insertions(+), 13 deletions(-) create mode 100644 source4/scripting/python/smbpython.c 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 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 . +*/ + +#include "includes.h" +#include + +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 -- cgit