[SCM] Samba Shared Repository - branch master updated

Stefan Metzmacher metze at samba.org
Wed Dec 8 12:14:02 MST 2010


The branch, master has been updated
       via  461d100 dcerpc.idl: fix typo 0x800000000 => 0x80000000
       via  cfef64a s4:ldb: add ABI/ldb-0.9.20.sigs
       via  6596556 s4:ldb: build libldb and pyldb-util as private libraries when building for samba4
       via  658f459 talloc: build pytalloc-util with the same logic as libtalloc
       via  8c6b756 talloc: mark pytalloc-util functions as _PUBLIC_
       via  288383a talloc: remove unused PyString_FromString_check_null() from pytalloc-util
       via  12c5e3f pidl:Samba4/Python.pm: use PyString_FromStringOrNULL() from pyrpc_util
       via  63574fd s4:python: add PyString_FromStringOrNULL() to pyrpc_util
       via  e3a7a08 buildtools: private_libraries should not have a version in the soname
       via  aee086c buildtools: add the PRIVATE_EXTENSION for private libraries
       via  3d289fe buildtools: make sure we have no '+' in the version scripts
      from  02f3567 smbtorture: use xxxULL notation instead of INT64_C(xxx)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 461d100a355038b6925e8b061e4d848fc380dd52
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Dec 8 19:01:45 2010 +0100

    dcerpc.idl: fix typo 0x800000000 => 0x80000000
    
    metze
    
    Autobuild-User: Stefan Metzmacher <metze at samba.org>
    Autobuild-Date: Wed Dec  8 20:13:03 CET 2010 on sn-devel-104

commit cfef64a5b08828dfa1120e75878a8dc823c13f83
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Dec 8 16:08:19 2010 +0100

    s4:ldb: add ABI/ldb-0.9.20.sigs
    
    metze

commit 65965566d23cd74ce8a86978864c4a7ed26b2f59
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Dec 8 15:12:57 2010 +0100

    s4:ldb: build libldb and pyldb-util as private libraries when building for samba4
    
    This matches the behavior of the talloc and tdb builds.
    
    metze

commit 658f4597ee88cc51bb73ac88df0d28b335e358af
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Dec 8 12:42:02 2010 +0100

    talloc: build pytalloc-util with the same logic as libtalloc
    
    metze

commit 8c6b756aa792cc058938820a64a308b3dd380eee
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Dec 8 15:10:21 2010 +0100

    talloc: mark pytalloc-util functions as _PUBLIC_
    
    metze

commit 288383aa83617baa3c17ac3a2ba997a4a9bbc462
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Dec 8 15:09:33 2010 +0100

    talloc: remove unused PyString_FromString_check_null() from pytalloc-util
    
    metze

commit 12c5e3fe26e729a4a01e66f5418d0977ef6de025
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Dec 8 15:08:45 2010 +0100

    pidl:Samba4/Python.pm: use PyString_FromStringOrNULL() from pyrpc_util
    
    metze

commit 63574fda0e43c18e5379654ee53e62ff7657de66
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Dec 8 15:07:32 2010 +0100

    s4:python: add PyString_FromStringOrNULL() to pyrpc_util
    
    metze

commit e3a7a080b453529c296528b4343c1d0f8ba390bc
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Dec 8 12:40:19 2010 +0100

    buildtools: private_libraries should not have a version in the soname
    
    metze

commit aee086c4d5a5b591814e7e78b3f24420a8ffff48
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Dec 8 12:02:51 2010 +0100

    buildtools: add the PRIVATE_EXTENSION for private libraries
    
    metze

commit 3d289fe14db89b4e9fb97d8bcc3aa29aeb03bc67
Author: Stefan Metzmacher <metze at samba.org>
Date:   Wed Dec 8 12:40:59 2010 +0100

    buildtools: make sure we have no '+' in the version scripts
    
    This happens if '--git-local-changes' was used.
    
    metze

-----------------------------------------------------------------------

Summary of changes:
 buildtools/wafsamba/samba_bundled.py               |    3 ---
 buildtools/wafsamba/wafsamba.py                    |    4 ++--
 lib/talloc/pytalloc_util.c                         |   20 ++++++--------------
 lib/talloc/wscript                                 |    5 ++++-
 librpc/idl/dcerpc.idl                              |    2 +-
 pidl/lib/Parse/Pidl/Samba4/Python.pm               |   12 ++++++------
 .../ldb/ABI/{ldb-0.9.19.sigs => ldb-0.9.20.sigs}   |    0
 source4/lib/ldb/wscript                            |   15 ++++++++++++---
 source4/librpc/rpc/pyrpc_util.c                    |    8 ++++++++
 source4/librpc/rpc/pyrpc_util.h                    |    2 ++
 10 files changed, 41 insertions(+), 30 deletions(-)
 copy source4/lib/ldb/ABI/{ldb-0.9.19.sigs => ldb-0.9.20.sigs} (100%)


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/samba_bundled.py b/buildtools/wafsamba/samba_bundled.py
index 4f6590e..324721f 100644
--- a/buildtools/wafsamba/samba_bundled.py
+++ b/buildtools/wafsamba/samba_bundled.py
@@ -10,9 +10,6 @@ def PRIVATE_NAME(bld, name, private_extension, private_library):
         return name
     if name in bld.env.PRIVATE_EXTENSION_EXCEPTION and not private_library:
         return name
-    if private_library and bld.EXPAND_VARIABLES(bld.env.LIBDIR) != bld.EXPAND_VARIABLES(bld.env.PRIVATELIBDIR):
-        # Private libraries already have their own namespace in another way
-        return name
     extension = getattr(bld.env, 'PRIVATE_EXTENSION', '')
     if extension:
         return name + '-' + extension
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 3ce4455..e7a23fb 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -195,7 +195,7 @@ def SAMBA_LIBRARY(bld, libname, source,
         if vnum:
             Logs.error("vnum is invalid for private libraries")
             sys.exit(1)
-        vnum = Utils.g_module.VERSION.split(".")[0]
+        vnum = None
         version = "%s_%s" % (Utils.g_module.APPNAME, Utils.g_module.VERSION)
     else:
         version = "%s_%s" % (Utils.g_module.APPNAME, Utils.g_module.VERSION.split(".")[0])
@@ -203,7 +203,7 @@ def SAMBA_LIBRARY(bld, libname, source,
     if bld.env.HAVE_LD_VERSION_SCRIPT:
         vscript = "%s.vscript" % libname
         bld.SAMBA_GENERATOR(vscript,
-                            rule="echo %s \{ global: \*\; \}\; > ${TGT}" % version.replace("-","_").upper(),
+                            rule="echo %s \{ global: \*\; \}\; > ${TGT}" % version.replace("-","_").replace("+","_").upper(),
                             group='vscripts',
                             target=vscript)
         ldflags.append("-Wl,--version-script=%s/%s" % (bld.path.abspath(bld.env), vscript))
diff --git a/lib/talloc/pytalloc_util.c b/lib/talloc/pytalloc_util.c
index d082ee8..c8a7e6a 100644
--- a/lib/talloc/pytalloc_util.c
+++ b/lib/talloc/pytalloc_util.c
@@ -23,7 +23,7 @@
 #include "pytalloc.h"
 #include <assert.h>
 
-PyTypeObject *PyTalloc_GetObjectType(void)
+_PUBLIC_ PyTypeObject *PyTalloc_GetObjectType(void)
 {
 	static PyTypeObject *type = NULL;
 	PyObject *mod;
@@ -46,7 +46,7 @@ PyTypeObject *PyTalloc_GetObjectType(void)
 /**
  * Import an existing talloc pointer into a Python object.
  */
-PyObject *py_talloc_steal_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, 
+_PUBLIC_ PyObject *py_talloc_steal_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx,
 						   void *ptr)
 {
 	py_talloc_Object *ret = (py_talloc_Object *)py_type->tp_alloc(py_type, 0);
@@ -65,7 +65,7 @@ PyObject *py_talloc_steal_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx,
 /**
  * Import an existing talloc pointer into a Python object.
  */
-PyObject *py_talloc_steal(PyTypeObject *py_type, void *ptr)
+_PUBLIC_ PyObject *py_talloc_steal(PyTypeObject *py_type, void *ptr)
 {
 	return py_talloc_steal_ex(py_type, ptr, ptr);
 }
@@ -76,7 +76,7 @@ PyObject *py_talloc_steal(PyTypeObject *py_type, void *ptr)
  * original parent, and creating a reference to the object in the python
  * object
  */
-PyObject *py_talloc_reference_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, void *ptr)
+_PUBLIC_ PyObject *py_talloc_reference_ex(PyTypeObject *py_type, TALLOC_CTX *mem_ctx, void *ptr)
 {
 	py_talloc_Object *ret;
 
@@ -102,7 +102,7 @@ static void py_cobject_talloc_free(void *ptr)
 	talloc_free(ptr);
 }
 
-PyObject *PyCObject_FromTallocPtr(void *ptr)
+_PUBLIC_ PyObject *PyCObject_FromTallocPtr(void *ptr)
 {
 	if (ptr == NULL) {
 		Py_RETURN_NONE;
@@ -110,15 +110,7 @@ PyObject *PyCObject_FromTallocPtr(void *ptr)
 	return PyCObject_FromVoidPtr(ptr, py_cobject_talloc_free);
 }
 
-PyObject *PyString_FromString_check_null(const char *ptr)
-{
-	if (ptr == NULL) {
-		Py_RETURN_NONE;
-	}
-	return PyString_FromString(ptr);
-}
-
-int PyTalloc_Check(PyObject *obj)
+_PUBLIC_ int PyTalloc_Check(PyObject *obj)
 {
 	PyTypeObject *tp = PyTalloc_GetObjectType();
 
diff --git a/lib/talloc/wscript b/lib/talloc/wscript
index 9d7fcc2..e83caa5 100644
--- a/lib/talloc/wscript
+++ b/lib/talloc/wscript
@@ -108,8 +108,11 @@ def build(bld):
         bld.SAMBA_LIBRARY('pytalloc-util',
             source='pytalloc_util.c',
             public_deps='talloc',
+            abi_file='ABI/pytalloc-util-%s.sigs' % VERSION,
+            abi_match='py* Py*',
             pyext=True,
-            vnum=VERSION,
+            vnum=vnum,
+            private_library=private_library,
             )
         bld.INSTALL_FILES('${INCLUDEDIR}', 'pytalloc.h')
         bld.SAMBA_PYTHON('pytalloc',
diff --git a/librpc/idl/dcerpc.idl b/librpc/idl/dcerpc.idl
index 68838ad..712d3a2 100644
--- a/librpc/idl/dcerpc.idl
+++ b/librpc/idl/dcerpc.idl
@@ -310,7 +310,7 @@ interface dcerpc
 
 	/* RTS command: 0x4 */
 	typedef [public] struct {
-		[range(0x20000,0x800000000)] uint32	ChannelLifetime;
+		[range(0x20000,0x80000000)] uint32	ChannelLifetime;
 	} dcerpc_rts_cmd_ChannelLifetime;
 
 	/* RTS command: 0x5 */
diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm
index 3e9178b..1ed75ae 100644
--- a/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -1107,19 +1107,19 @@ sub ConvertScalarToPython($$$)
 	}
 
 	if (($ctypename eq "string" or $ctypename eq "nbt_string" or $ctypename eq "nbt_name" or $ctypename eq "wrepl_nbt_name")) {
-		return "PyString_FromString_check_null($cvar)";
+		return "PyString_FromStringOrNULL($cvar)";
 	}
 
 	if (($ctypename eq "dns_string" or $ctypename eq "dns_name")) {
-		return "PyString_FromString_check_null($cvar)";
+		return "PyString_FromStringOrNULL($cvar)";
 	}
 
 	# Not yet supported
 	if ($ctypename eq "string_array") { return "PyCObject_FromTallocPtr($cvar)"; }
-	if ($ctypename eq "ipv4address") { return "PyString_FromString_check_null($cvar)"; }
-	if ($ctypename eq "ipv6address") { return "PyString_FromString_check_null($cvar)"; }
-	if ($ctypename eq "dnsp_name") { return "PyString_FromString_check_null($cvar)"; }
-	if ($ctypename eq "dnsp_string") { return "PyString_FromString_check_null($cvar)"; }
+	if ($ctypename eq "ipv4address") { return "PyString_FromStringOrNULL($cvar)"; }
+	if ($ctypename eq "ipv6address") { return "PyString_FromStringOrNULL($cvar)"; }
+	if ($ctypename eq "dnsp_name") { return "PyString_FromStringOrNULL($cvar)"; }
+	if ($ctypename eq "dnsp_string") { return "PyString_FromStringOrNULL($cvar)"; }
 	if ($ctypename eq "pointer") {
 		return "PyCObject_FromTallocPtr($cvar)";
 	}
diff --git a/source4/lib/ldb/ABI/ldb-0.9.19.sigs b/source4/lib/ldb/ABI/ldb-0.9.20.sigs
similarity index 100%
copy from source4/lib/ldb/ABI/ldb-0.9.19.sigs
copy to source4/lib/ldb/ABI/ldb-0.9.20.sigs
diff --git a/source4/lib/ldb/wscript b/source4/lib/ldb/wscript
index 223df2f..8a4e83b 100644
--- a/source4/lib/ldb/wscript
+++ b/source4/lib/ldb/wscript
@@ -72,6 +72,13 @@ def build(bld):
     bld.RECURSE('lib/popt')
     bld.RECURSE('lib/replace')
 
+    if bld.env.standalone_ldb:
+        private_library = False
+        vnum = VERSION
+    else:
+        private_library = True
+        vnum = None
+
     LDB_MAP_SRC = bld.SUBDIR('ldb_map',
                              'ldb_map.c ldb_map_inbound.c ldb_map_outbound.c')
 
@@ -101,7 +108,8 @@ def build(bld):
                           deps='ldb',
                           source='pyldb_util.c',
                           public_headers='pyldb.h',
-                          vnum=VERSION,
+                          vnum=vnum,
+                          private_library=private_library,
                           pc_files='pyldb-util.pc',
                           pyext=True)
 
@@ -123,10 +131,11 @@ def build(bld):
                           public_headers='include/ldb.h include/ldb_errors.h '\
                           'include/ldb_module.h include/ldb_handlers.h',
                           pc_files='ldb.pc',
-                          vnum=VERSION,
+                          vnum=vnum,
+                          private_library=private_library,
                           manpages='man/ldb.3',
                           abi_file = abi_file,
-                         abi_match = abi_match)
+                          abi_match = abi_match)
 
 
         bld.SAMBA_PYTHON('pyldb', 'pyldb.c',
diff --git a/source4/librpc/rpc/pyrpc_util.c b/source4/librpc/rpc/pyrpc_util.c
index 33bce38..5ad8d2f 100644
--- a/source4/librpc/rpc/pyrpc_util.c
+++ b/source4/librpc/rpc/pyrpc_util.c
@@ -300,3 +300,11 @@ PyObject *py_return_ndr_struct(const char *module_name, const char *type_name,
 
 	return py_talloc_reference_ex(py_type, r_ctx, r);
 }
+
+PyObject *PyString_FromStringOrNULL(const char *str)
+{
+	if (str == NULL) {
+		Py_RETURN_NONE;
+	}
+	return PyString_FromString(str);
+}
diff --git a/source4/librpc/rpc/pyrpc_util.h b/source4/librpc/rpc/pyrpc_util.h
index f102014..445138b 100644
--- a/source4/librpc/rpc/pyrpc_util.h
+++ b/source4/librpc/rpc/pyrpc_util.h
@@ -53,4 +53,6 @@ PyObject *py_dcerpc_interface_init_helper(PyTypeObject *type, PyObject *args, Py
 PyObject *py_return_ndr_struct(const char *module_name, const char *type_name,
 			       TALLOC_CTX *r_ctx, void *r);
 
+PyObject *PyString_FromStringOrNULL(const char *str);
+
 #endif /* __PYRPC_UTIL_H__ */


-- 
Samba Shared Repository


More information about the samba-cvs mailing list