diff -urN samba-3.4.3.orig/lib/talloc/libtalloc.m4 samba-3.4.3/lib/talloc/libtalloc.m4 --- samba-3.4.3.orig/lib/talloc/libtalloc.m4 2009-10-29 08:47:16.000000000 +0100 +++ samba-3.4.3/lib/talloc/libtalloc.m4 2009-12-01 18:02:36.037158416 +0100 @@ -15,7 +15,7 @@ TALLOC_OBJ="talloc.o" AC_SUBST(TALLOC_OBJ) -TALLOC_CFLAGS="-I$srcdir/$tallocdir" +TALLOC_CFLAGS="-I$srcdir/$tallocdir -I$srcdir/$tallocdir/python" AC_SUBST(TALLOC_CFLAGS) TALLOC_LIBS="" diff -urN samba-3.4.3.orig/lib/talloc/pytalloc.h samba-3.4.3/lib/talloc/pytalloc.h --- samba-3.4.3.orig/lib/talloc/pytalloc.h 2009-10-29 08:47:16.000000000 +0100 +++ samba-3.4.3/lib/talloc/pytalloc.h 1970-01-01 01:00:00.000000000 +0100 @@ -1,53 +0,0 @@ -/* - Unix SMB/CIFS implementation. - Samba utility functions - Copyright (C) Jelmer Vernooij 2008 - - 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 . -*/ - -#ifndef _PY_TALLOC_H_ -#define _PY_TALLOC_H_ - -#include -#include - -typedef struct { - PyObject_HEAD - TALLOC_CTX *talloc_ctx; - void *ptr; -} py_talloc_Object; - -/* Deallocate a py_talloc_Object */ -void py_talloc_dealloc(PyObject* self); - -/* Retrieve the pointer for a py_talloc_object. Like talloc_get_type() - * but for py_talloc_Objects. */ - -/* FIXME: Call PyErr_SetString(PyExc_TypeError, "expected " __STR(type) ") - * when talloc_get_type() returns NULL. */ -#define py_talloc_get_type(py_obj, type) (talloc_get_type(py_talloc_get_ptr(py_obj), type)) - -#define py_talloc_get_ptr(py_obj) (((py_talloc_Object *)py_obj)->ptr) -#define py_talloc_get_mem_ctx(py_obj) ((py_talloc_Object *)py_obj)->talloc_ctx - -PyObject *py_talloc_import_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, void *ptr); -#define py_talloc_import(py_type, talloc_ptr) py_talloc_import_ex(py_type, talloc_ptr, talloc_ptr) - -/* Sane default implementation of reprfunc. */ -PyObject *py_talloc_default_repr(PyObject *py_obj); - -#define py_talloc_new(type, typeobj) py_talloc_import(typeobj, talloc_zero(NULL, type)) - -#endif /* _PY_TALLOC_H_ */ diff -urN samba-3.4.3.orig/lib/talloc/python/pytalloc.h samba-3.4.3/lib/talloc/python/pytalloc.h --- samba-3.4.3.orig/lib/talloc/python/pytalloc.h 1970-01-01 01:00:00.000000000 +0100 +++ samba-3.4.3/lib/talloc/python/pytalloc.h 2009-10-29 08:47:16.000000000 +0100 @@ -0,0 +1,53 @@ +/* + Unix SMB/CIFS implementation. + Samba utility functions + Copyright (C) Jelmer Vernooij 2008 + + 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 . +*/ + +#ifndef _PY_TALLOC_H_ +#define _PY_TALLOC_H_ + +#include +#include + +typedef struct { + PyObject_HEAD + TALLOC_CTX *talloc_ctx; + void *ptr; +} py_talloc_Object; + +/* Deallocate a py_talloc_Object */ +void py_talloc_dealloc(PyObject* self); + +/* Retrieve the pointer for a py_talloc_object. Like talloc_get_type() + * but for py_talloc_Objects. */ + +/* FIXME: Call PyErr_SetString(PyExc_TypeError, "expected " __STR(type) ") + * when talloc_get_type() returns NULL. */ +#define py_talloc_get_type(py_obj, type) (talloc_get_type(py_talloc_get_ptr(py_obj), type)) + +#define py_talloc_get_ptr(py_obj) (((py_talloc_Object *)py_obj)->ptr) +#define py_talloc_get_mem_ctx(py_obj) ((py_talloc_Object *)py_obj)->talloc_ctx + +PyObject *py_talloc_import_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, void *ptr); +#define py_talloc_import(py_type, talloc_ptr) py_talloc_import_ex(py_type, talloc_ptr, talloc_ptr) + +/* Sane default implementation of reprfunc. */ +PyObject *py_talloc_default_repr(PyObject *py_obj); + +#define py_talloc_new(type, typeobj) py_talloc_import(typeobj, talloc_zero(NULL, type)) + +#endif /* _PY_TALLOC_H_ */ diff -urN samba-3.4.3.orig/source3/samba4.mk samba-3.4.3/source3/samba4.mk --- samba-3.4.3.orig/source3/samba4.mk 2009-10-29 08:47:16.000000000 +0100 +++ samba-3.4.3/source3/samba4.mk 2009-12-01 18:05:16.063808470 +0100 @@ -14,9 +14,14 @@ # $(srcdir)/include is required for config.h SAMBA4_CFLAGS = -I.. -I$(samba4srcdir) -I$(samba4srcdir)/include \ -I$(samba4srcdir)/../lib/replace -I$(samba4srcdir)/lib \ - -I$(heimdalsrcdir)/lib/hcrypto -I$(tallocdir) \ + -I$(heimdalsrcdir)/lib/hcrypto \ + -I$(samba4srcdir)/../lib/talloc/python \ -I$(srcdir)/include -D_SAMBA_BUILD_=4 -DHAVE_CONFIG_H +ifneq ("$(tallocdir)x", "x") +SAMBA4CFLAGS = $(SAMBA4_CFLAGS) -I$(tallocdir) +endif + .SUFFIXES: .ho # No cross compilation for now, thanks @@ -143,6 +148,11 @@ @cp $< $@ @chmod $(INSTALLPERMS) $@ +basics:: regen_version4 + +regen_version4:: + @$(SHELL) script/mkversion.sh $(samba4srcdir)/VERSION $(samba4srcdir)/version.h + clean:: @echo Removing samba 4 objects @-find $(samba4srcdir) -name '*.o' -exec rm -f '{}' \;