os.path.join(bbdir, "dbcheck-links.sh"),
'$PREFIX_ABS/provision', 'release-4-5-0-pre1', configuration])
planpythontestsuite("none", "samba.tests.upgradeprovision")
-planpythontestsuite("none", "samba.tests.xattr")
+planpythontestsuite("none", "samba.tests.xattr", py3_compatible=True)
planpythontestsuite("none", "samba.tests.ntacls")
planpythontestsuite("none", "samba.tests.policy")
planpythontestsuite("none", "samba.tests.kcc.graph")
*/
#include <Python.h>
+#include "python/py3compat.h"
#include "includes.h"
#include "system/filesys.h"
#include <tdb.h>
#include "libcli/util/pyerrors.h"
#include "param/pyparam.h"
-void initposix_eadb(void);
-
static PyObject *py_is_xattr_supported(PyObject *self)
{
return Py_True;
talloc_free(mem_ctx);
return NULL;
}
- ret = PyString_FromStringAndSize((char *)blob.data, blob.length);
+ ret = PyStr_FromStringAndSize((char *)blob.data, blob.length);
talloc_free(mem_ctx);
return ret;
}
{ NULL }
};
-void initposix_eadb(void)
+static struct PyModuleDef moduledef = {
+ PyModuleDef_HEAD_INIT,
+ .m_name = "posix_eadb",
+ .m_doc = "Python bindings for xattr manipulation.",
+ .m_size = -1,
+ .m_methods = py_posix_eadb_methods,
+};
+
+MODULE_INIT_FUNC(posix_eadb)
{
PyObject *m;
- m = Py_InitModule3("posix_eadb", py_posix_eadb_methods,
- "Python bindings for xattr manipulation.");
+ m = PyModule_Create(&moduledef);
+
if (m == NULL)
- return;
+ return NULL;
+
+ return m;
}
*/
#include <Python.h>
+#include "python/py3compat.h"
#include "includes.h"
#include "librpc/ndr/libndr.h"
#include "system/filesys.h"
#include "lib/util/base64.h"
-void initxattr_native(void);
-
static PyObject *py_is_xattr_supported(PyObject *self)
{
#if !defined(HAVE_XATTR_SUPPORT)
talloc_free(mem_ctx);
return NULL;
}
- ret = PyString_FromStringAndSize(buf, len);
+ ret = PyStr_FromStringAndSize(buf, len);
talloc_free(mem_ctx);
return ret;
}
{ NULL }
};
-void initxattr_native(void)
+static struct PyModuleDef moduledef = {
+ PyModuleDef_HEAD_INIT,
+ .m_name = "xattr_native",
+ .m_doc = "Python bindings for xattr manipulation.",
+ .m_size = -1,
+ .m_methods = py_xattr_methods,
+};
+
+MODULE_INIT_FUNC(xattr_native)
{
PyObject *m;
- m = Py_InitModule3("xattr_native", py_xattr_methods,
- "Python bindings for xattr manipulation.");
+ m = PyModule_Create(&moduledef);
if (m == NULL)
- return;
-}
+ return NULL;
+ return m;
+}
*/
#include <Python.h>
+#include "python/py3compat.h"
#include "includes.h"
#include "system/filesys.h"
#include <tdb.h>
#include "lib/dbwrap/dbwrap_tdb.h"
#include "source3/lib/xattr_tdb.h"
-void initxattr_tdb(void);
-
static PyObject *py_is_xattr_supported(PyObject *self)
{
return Py_True;
talloc_free(mem_ctx);
return NULL;
}
- ret_obj = PyString_FromStringAndSize((char *)blob.data, xattr_size);
+ ret_obj = PyStr_FromStringAndSize((char *)blob.data, xattr_size);
talloc_free(mem_ctx);
return ret_obj;
}
{ NULL }
};
-void initxattr_tdb(void)
+static struct PyModuleDef moduledef = {
+ PyModuleDef_HEAD_INIT,
+ .m_name = "xattr_tdb",
+ .m_doc = "Python bindings for xattr manipulation.",
+ .m_size = -1,
+ .m_methods = py_xattr_methods,
+};
+
+MODULE_INIT_FUNC(xattr_tdb)
{
PyObject *m;
- m = Py_InitModule3("xattr_tdb", py_xattr_methods,
- "Python bindings for xattr manipulation.");
+ m = PyModule_Create(&moduledef);
+
if (m == NULL)
- return;
+ return NULL;
+
+ return m;
}
)
-bld.SAMBA_PYTHON('python_xattr_native',
- source='python/pyxattr_native.c',
- deps='ndr ldb samdb samba-credentials pyparam_util attr',
- realname='samba/xattr_native.so'
- )
-
bld.SAMBA_LIBRARY('posix_eadb',
source='posix_eadb.c',
deps='tdb tdb-wrap samba-util',
autoproto='posix_eadb_proto.h',
private_library=True)
-bld.SAMBA_PYTHON('python_posix_eadb',
+for env in bld.gen_python_environments():
+ pyparam_util = bld.pyembed_libname('pyparam_util')
+
+ bld.SAMBA_PYTHON('python_xattr_native',
+ source='python/pyxattr_native.c',
+ deps='ndr ldb samdb samba-credentials %s attr' % pyparam_util,
+ realname='samba/xattr_native.so'
+ )
+
+ bld.SAMBA_PYTHON('python_posix_eadb',
source='python/pyposix_eadb.c',
- deps='pyparam_util posix_eadb tdb',
+ deps='%s posix_eadb tdb' % pyparam_util,
realname='samba/posix_eadb.so'
)
-bld.SAMBA_PYTHON('python_xattr_tdb',
+ bld.SAMBA_PYTHON('python_xattr_tdb',
source='python/pyxattr_tdb.c',
- deps='pyparam_util xattr_tdb',
+ deps='%s xattr_tdb' % pyparam_util,
realname='samba/xattr_tdb.so'
)
-