summaryrefslogtreecommitdiff
path: root/source4/scripting/python
diff options
context:
space:
mode:
Diffstat (limited to 'source4/scripting/python')
-rw-r--r--source4/scripting/python/config.m45
-rw-r--r--source4/scripting/python/config.mk16
-rw-r--r--source4/scripting/python/modules.c3
-rw-r--r--source4/scripting/python/samba/provision.py5
-rw-r--r--source4/scripting/python/samba/tests/samdb.py8
-rw-r--r--source4/scripting/python/uuidmodule.c2
6 files changed, 22 insertions, 17 deletions
diff --git a/source4/scripting/python/config.m4 b/source4/scripting/python/config.m4
index 3790071ba8..a61d541049 100644
--- a/source4/scripting/python/config.m4
+++ b/source4/scripting/python/config.m4
@@ -71,3 +71,8 @@ else
AC_MSG_ERROR([Python not found. Please install Python 2.x and its development headers/libraries.])
fi
+AC_MSG_CHECKING(python library directory)
+pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1, 0, '\\${prefix}')"`
+AC_MSG_RESULT($pythondir)
+
+AC_SUBST(pythondir)
diff --git a/source4/scripting/python/config.mk b/source4/scripting/python/config.mk
index 59f628fe18..e57ff1d1ac 100644
--- a/source4/scripting/python/config.mk
+++ b/source4/scripting/python/config.mk
@@ -5,9 +5,15 @@ smbpython_OBJ_FILES = scripting/python/smbpython.o
[SUBSYSTEM::LIBPYTHON]
PUBLIC_DEPENDENCIES = EXT_LIB_PYTHON
+PRIVATE_DEPENDENCIES = PYTALLOC
INIT_FUNCTION_SENTINEL = { NULL, NULL }
-LIBPYTHON_OBJ_FILES = $(addprefix scripting/python/, modules.o pytalloc.o)
+LIBPYTHON_OBJ_FILES = $(addprefix scripting/python/, modules.o)
+
+[SUBSYSTEM::PYTALLOC]
+PUBLIC_DEPENDENCIES = EXT_LIB_PYTHON
+
+PYTALLOC_OBJ_FILES = $(addprefix scripting/python/, pytalloc.o)
[PYTHON::python_uuid]
PRIVATE_DEPENDENCIES = LIBNDR
@@ -20,10 +26,6 @@ SWIG_FILE = misc.i
python_misc_OBJ_FILES = scripting/python/misc_wrap.o
-PYDOCTOR_MODULES=bin/python/ldb.py bin/python/auth.py bin/python/credentials.py bin/python/registry.py bin/python/tdb.py bin/python/security.py bin/python/events.py bin/python/net.py
+_PY_FILES = $(shell find scripting/python -name "*.py")
-installpython:: pythonmods
- @$(SHELL) $(srcdir)/script/installpython.sh \
- $(INSTALLPERMS) \
- $(DESTDIR)$(PYTHONDIR) \
- scripting/python bin/python
+$(foreach pyfile, $(_PY_FILES),$(eval $(call python_py_module_template,$(patsubst scripting/python/%,%,$(pyfile)),$(pyfile))))
diff --git a/source4/scripting/python/modules.c b/source4/scripting/python/modules.c
index 6cd975c1a9..0fe15b2fda 100644
--- a/source4/scripting/python/modules.c
+++ b/source4/scripting/python/modules.c
@@ -19,7 +19,6 @@
#include "includes.h"
#include <Python.h>
-#include "build.h"
extern void init_ldb(void);
extern void init_security(void);
@@ -40,12 +39,10 @@ extern void initdrsuapi(void);
extern void initwinreg(void);
extern void initepmapper(void);
extern void initinitshutdown(void);
-static void initdcerpc_misc(void) {}
extern void initmgmt(void);
extern void initnet(void);
extern void initatsvc(void);
extern void initsamr(void);
-static void initdcerpc_security(void) {}
extern void initlsa(void);
extern void initsvcctl(void);
extern void initwkssvc(void);
diff --git a/source4/scripting/python/samba/provision.py b/source4/scripting/python/samba/provision.py
index 0e8840646c..ad8eb8bffd 100644
--- a/source4/scripting/python/samba/provision.py
+++ b/source4/scripting/python/samba/provision.py
@@ -689,6 +689,7 @@ def setup_self_join(samdb, names,
domainsid, invocationid, setup_path,
policyguid):
"""Join a host to its own domain."""
+ assert isinstance(invocationid, str)
setup_add_ldif(samdb, setup_path("provision_self_join.ldif"), {
"CONFIGDN": names.configdn,
"SCHEMADN": names.schemadn,
@@ -910,7 +911,7 @@ def provision(setup_dir, message, session_info,
domainsid = security.Sid(domainsid)
if policyguid is None:
- policyguid = uuid.random()
+ policyguid = str(uuid.uuid4())
if adminpass is None:
adminpass = misc.random_password(12)
if krbtgtpass is None:
@@ -960,7 +961,7 @@ def provision(setup_dir, message, session_info,
assert serverrole in ("domain controller", "member server", "standalone")
if invocationid is None and serverrole == "domain controller":
- invocationid = uuid.random()
+ invocationid = str(uuid.uuid4())
if not os.path.exists(paths.private_dir):
os.mkdir(paths.private_dir)
diff --git a/source4/scripting/python/samba/tests/samdb.py b/source4/scripting/python/samba/tests/samdb.py
index 0e175bf936..0d4f7bde0e 100644
--- a/source4/scripting/python/samba/tests/samdb.py
+++ b/source4/scripting/python/samba/tests/samdb.py
@@ -29,18 +29,18 @@ import uuid
class SamDBTestCase(TestCaseInTempDir):
def setUp(self):
super(SamDBTestCase, self).setUp()
- invocationid = uuid.random()
+ invocationid = str(uuid.uuid4())
domaindn = "DC=COM,DC=EXAMPLE"
self.domaindn = domaindn
configdn = "CN=Configuration," + domaindn
schemadn = "CN=Schema," + configdn
- domainguid = uuid.random()
- policyguid = uuid.random()
+ domainguid = str(uuid.uuid4())
+ policyguid = str(uuid.uuid4())
setup_path = lambda x: os.path.join("setup", x)
creds = Credentials()
creds.set_anonymous()
domainsid = security.random_sid()
- hostguid = uuid.random()
+ hostguid = str(uuid.uuid4())
path = os.path.join(self.tempdir, "samdb.ldb")
self.samdb = setup_samdb(path, setup_path, system_session(), creds,
cmdline_loadparm, schemadn, configdn,
diff --git a/source4/scripting/python/uuidmodule.c b/source4/scripting/python/uuidmodule.c
index 18cfb6ce32..98ef9adaa9 100644
--- a/source4/scripting/python/uuidmodule.c
+++ b/source4/scripting/python/uuidmodule.c
@@ -46,7 +46,7 @@ static PyObject *uuid_random(PyObject *self, PyObject *args)
}
static PyMethodDef methods[] = {
- { "random", (PyCFunction)uuid_random, METH_VARARGS, NULL},
+ { "uuid4", (PyCFunction)uuid_random, METH_VARARGS, NULL},
{ NULL, NULL }
};