python3 port for smbd module
authorNoel Power <noel.power@suse.com>
Mon, 5 Feb 2018 11:10:46 +0000 (11:10 +0000)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 5 Apr 2018 06:59:09 +0000 (08:59 +0200)
Signed-off-by: Noel Power <noel.power@suse.com>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
source3/smbd/pysmbd.c
source3/wscript_build

index be30b866e2067e5cfa2183ffe97ed5514286fc15..daaf95cb6658c348e9eb9cb85c2fe7dfcb8af554 100644 (file)
@@ -25,6 +25,7 @@
 
 #include <Python.h>
 #include "includes.h"
+#include "python/py3compat.h"
 #include "smbd/smbd.h"
 #include "libcli/util/pyerrors.h"
 #include "librpc/rpc/pyrpc_util.h"
@@ -739,13 +740,19 @@ static PyMethodDef py_smbd_methods[] = {
 };
 
 void initsmbd(void);
-void initsmbd(void)
-{
-       PyObject *m;
 
-       m = Py_InitModule3("smbd", py_smbd_methods,
-                          "Python bindings for the smbd file server.");
-       if (m == NULL)
-               return;
+static struct PyModuleDef moduledef = {
+    PyModuleDef_HEAD_INIT,
+    .m_name = "smbd",
+    .m_doc = "Python bindings for the smbd file server.",
+    .m_size = -1,
+    .m_methods = py_smbd_methods,
+};
+
+MODULE_INIT_FUNC(smbd)
+{
+       PyObject *m = NULL;
 
+       m = PyModule_Create(&moduledef);
+       return m;
 }
index 254738e69eaa151e8f6a705463495a1205e55592..f0eb23cc3f7d3038e30aeb318fbbc1cf5f23d66a 100644 (file)
@@ -1296,7 +1296,9 @@ bld.SAMBA3_BINARY('vlp',
                       ''',
                  install=False)
 
-bld.SAMBA3_PYTHON('pysmbd',
+
+for env in bld.gen_python_environments():
+    bld.SAMBA3_PYTHON('pysmbd',
                   source='smbd/pysmbd.c',
                   deps='smbd_base pyrpc_util pytalloc-util',
                   realname='samba/samba3/smbd.so'