[SCM] Samba Shared Repository - branch master updated

Andrew Bartlett abartlet at samba.org
Thu Dec 13 04:01:02 UTC 2018


The branch, master has been updated
       via  57783d6295d pidl: Fix unsigned integer comparison warning
       via  5508c19c5cb pidl: Fix function for py_<name>_ndr_print_(in|out)
       via  676a8fdefc9 pidl: Use C99 initializers for last element in ndr_interface_call(_pipes)
       via  19a4d3ca692 build: Workaround python3 hash order issues (for now)
       via  a42f18cc3e6 selftest: Run waf build --dup-symbol-check under $PYTHON
       via  c71417a0ebf waf-py3: Allow waf build --dup-symbol-check to operate in python3
      from  9c507e98f03 libcli:security: Return early if there are no aces to duplicate

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


- Log -----------------------------------------------------------------
commit 57783d6295d1dcfcd4bd99951599c0765ae8c61b
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Dec 12 20:58:23 2018 +0100

    pidl: Fix unsigned integer comparison warning
    
    bin/default/librpc/gen_ndr/py_wkssvc.c:27344:33: warning:
    comparison of integer expressions of different signedness: ‘long int’
    and ‘long long unsigned int’ [-Wsign-compare] <--[gcc]
        if (test_var < 0 || test_var > uint_max) {
                                     ^
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>
    
    Autobuild-User(master): Andrew Bartlett <abartlet at samba.org>
    Autobuild-Date(master): Thu Dec 13 05:00:20 CET 2018 on sn-devel-144

commit 5508c19c5cbcde13f1239e1e2f167bdaf894b8dc
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Dec 12 20:53:00 2018 +0100

    pidl: Fix function for py_<name>_ndr_print_(in|out)
    
    The function takes two PyObject arguments, See:
    
    https://docs.python.org/3/c-api/structures.html#c.PyCFunction
    
    and
    
    https://docs.python.org/2/c-api/structures.html#c.PyCFunction
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 676a8fdefc9977535b1b28fedd3c567b252b0693
Author: Andreas Schneider <asn at samba.org>
Date:   Wed Dec 12 19:10:32 2018 +0100

    pidl: Use C99 initializers for last element in ndr_interface_call(_pipes)
    
    librpc/gen_ndr/ndr_witness.c:1421:2: warning: missing initializer for
    field ‘in_pipes’ of ‘const struct ndr_interface_call’
    [-Wmissing-field-initializers] <--[gcc]
      { NULL, 0, NULL, NULL, NULL }
      ^
    
    Signed-off-by: Andreas Schneider <asn at samba.org>
    Reviewed-by: Andrew Bartlett <abartlet at samba.org>

commit 19a4d3ca692e864a2ae6c8c496e7eb08cded612f
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Thu Dec 13 13:06:48 2018 +1300

    build: Workaround python3 hash order issues (for now)
    
    This works around python3 having a new hash seed each time it starts to allow
    a second "make" not to rebuild the world.
    
    This should probably be reverted once we find the hash that is causing
    the issue, but should reduce frustration for now.
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Douglas Bagnall <douglas.bagnall at catalyst.net.nz>

commit a42f18cc3e671242329a22dc53044fe8ff3e6d4b
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Dec 12 17:08:21 2018 +1300

    selftest: Run waf build --dup-symbol-check under $PYTHON
    
    This would often be python3 in the new build
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Noel Power <npower at samba.org>

commit c71417a0ebf563f649e1a8fdc599b33cd33e62dd
Author: Andrew Bartlett <abartlet at samba.org>
Date:   Wed Dec 12 10:54:47 2018 +1300

    waf-py3: Allow waf build --dup-symbol-check to operate in python3
    
    Use the b prefix on output from subcommands to match bytes with bytes.
    
    Signed-off-by: Andrew Bartlett <abartlet at samba.org>
    Reviewed-by: Noel Power <npower at samba.org>

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

Summary of changes:
 Makefile                                     |  2 +-
 buildtools/wafsamba/symbols.py               | 20 ++++++++++----------
 buildtools/wafsamba/test_duplicate_symbol.sh |  2 +-
 lib/ldb/Makefile                             |  2 +-
 lib/replace/Makefile                         |  2 +-
 lib/talloc/Makefile                          |  2 +-
 lib/tdb/Makefile                             |  2 +-
 lib/tevent/Makefile                          |  2 +-
 pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm     |  4 ++--
 pidl/lib/Parse/Pidl/Samba4/Python.pm         |  6 +++---
 10 files changed, 22 insertions(+), 22 deletions(-)


Changeset truncated at 500 lines:

diff --git a/Makefile b/Makefile
index 4290986a939..c13843d3a4b 100644
--- a/Makefile
+++ b/Makefile
@@ -2,7 +2,7 @@
 
 PYTHON?=python3
 WAF_BINARY=$(PYTHON) ./buildtools/bin/waf
-WAF=WAF_MAKE=1 $(WAF_BINARY)
+WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
 
 all:
 	$(WAF) build
diff --git a/buildtools/wafsamba/symbols.py b/buildtools/wafsamba/symbols.py
index 502407c60c6..4eab8e4a059 100644
--- a/buildtools/wafsamba/symbols.py
+++ b/buildtools/wafsamba/symbols.py
@@ -59,12 +59,12 @@ def symbols_extract(bld, objfiles, dynamic=False):
 
     for line in nmpipe:
         line = line.strip()
-        if line.endswith(':'):
+        if line.endswith(b':'):
             filename = line[:-1]
             ret[filename] = { "PUBLIC": set(), "UNDEFINED" : set() }
             continue
-        cols = line.split(" ")
-        if cols == ['']:
+        cols = line.split(b" ")
+        if cols == [b'']:
             continue
         # see if the line starts with an address
         if len(cols) == 3:
@@ -73,10 +73,10 @@ def symbols_extract(bld, objfiles, dynamic=False):
         else:
             symbol_type = cols[0]
             symbol = cols[1]
-        if symbol_type in "BDGTRVWSi":
+        if symbol_type in b"BDGTRVWSi":
             # its a public symbol
             ret[filename]["PUBLIC"].add(symbol)
-        elif symbol_type in "U":
+        elif symbol_type in b"U":
             ret[filename]["UNDEFINED"].add(symbol)
 
     # add to the cache
@@ -106,10 +106,10 @@ def find_ldd_path(bld, libname, binary):
     lddpipe = subprocess.Popen(['ldd', binary], stdout=subprocess.PIPE).stdout
     for line in lddpipe:
         line = line.strip()
-        cols = line.split(" ")
-        if len(cols) < 3 or cols[1] != "=>":
+        cols = line.split(b" ")
+        if len(cols) < 3 or cols[1] != b"=>":
             continue
-        if cols[0].startswith("libc."):
+        if cols[0].startswith(b"libc."):
             # save this one too
             bld.env.libc_path = cols[2]
         if cols[0].startswith(libname):
@@ -119,8 +119,8 @@ def find_ldd_path(bld, libname, binary):
 
 
 # some regular expressions for parsing readelf output
-re_sharedlib = re.compile('Shared library: \[(.*)\]')
-re_rpath     = re.compile('Library rpath: \[(.*)\]')
+re_sharedlib = re.compile(b'Shared library: \[(.*)\]')
+re_rpath     = re.compile(b'Library rpath: \[(.*)\]')
 
 def get_libs(bld, binname):
     '''find the list of linked libraries for any binary or library
diff --git a/buildtools/wafsamba/test_duplicate_symbol.sh b/buildtools/wafsamba/test_duplicate_symbol.sh
index 89a4027df23..46f44a67dcf 100755
--- a/buildtools/wafsamba/test_duplicate_symbol.sh
+++ b/buildtools/wafsamba/test_duplicate_symbol.sh
@@ -5,7 +5,7 @@
 
 subunit_start_test duplicate_symbols
 
-if ./buildtools/bin/waf build --dup-symbol-check; then
+if $PYTHON ./buildtools/bin/waf build --dup-symbol-check; then
 	subunit_pass_test duplicate_symbols
 else
 	echo | subunit_fail_test duplicate_symbols
diff --git a/lib/ldb/Makefile b/lib/ldb/Makefile
index 75517a774d3..0ac14aae74e 100644
--- a/lib/ldb/Makefile
+++ b/lib/ldb/Makefile
@@ -2,7 +2,7 @@
 
 PYTHON?=python3
 WAF_BINARY=$(PYTHON) ../../buildtools/bin/waf
-WAF=WAF_MAKE=1 $(WAF_BINARY)
+WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
 
 all:
 	$(WAF) build
diff --git a/lib/replace/Makefile b/lib/replace/Makefile
index 923605f9a13..3e54a16927c 100644
--- a/lib/replace/Makefile
+++ b/lib/replace/Makefile
@@ -2,7 +2,7 @@
 
 PYTHON?=python3
 WAF_BINARY=$(PYTHON) ../../buildtools/bin/waf
-WAF=WAF_MAKE=1 $(WAF_BINARY)
+WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
 
 all:
 	$(WAF) build
diff --git a/lib/talloc/Makefile b/lib/talloc/Makefile
index b8e6d6ca288..7cfac0cafc9 100644
--- a/lib/talloc/Makefile
+++ b/lib/talloc/Makefile
@@ -2,7 +2,7 @@
 
 PYTHON?=python3
 WAF_BINARY=$(PYTHON) ../../buildtools/bin/waf
-WAF=WAF_MAKE=1 $(WAF_BINARY)
+WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
 
 all:
 	$(WAF) build
diff --git a/lib/tdb/Makefile b/lib/tdb/Makefile
index 9066e5ba03e..0f088ea2231 100644
--- a/lib/tdb/Makefile
+++ b/lib/tdb/Makefile
@@ -2,7 +2,7 @@
 
 PYTHON?=python3
 WAF_BINARY=$(PYTHON) ../../buildtools/bin/waf
-WAF=WAF_MAKE=1 $(WAF_BINARY)
+WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
 
 all:
 	$(WAF) build
diff --git a/lib/tevent/Makefile b/lib/tevent/Makefile
index 8bbf3cdbab7..989f4b9845c 100644
--- a/lib/tevent/Makefile
+++ b/lib/tevent/Makefile
@@ -1,7 +1,7 @@
 # simple makefile wrapper to run waf
 PYTHON?=python3
 WAF_BINARY=$(PYTHON) ../../buildtools/bin/waf
-WAF=WAF_MAKE=1 $(WAF_BINARY)
+WAF=PYTHONHASHSEED=1 WAF_MAKE=1 $(WAF_BINARY)
 
 all:
 	$(WAF) build
diff --git a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
index cfcd29e25a7..eae58a9a432 100644
--- a/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
@@ -2676,7 +2676,7 @@ sub ParseGeneratePipeArray($$$)
 		$self->deindent;
 		$self->pidl("},");
 	}
-	$self->pidl("{ NULL, NULL, 0, NULL, NULL, NULL }");
+	$self->pidl("{ .name = NULL }");
 	$self->deindent;
 	$self->pidl("};");
 	$self->pidl("");
@@ -2772,7 +2772,7 @@ sub FunctionTable($$)
 	foreach my $d (@{$interface->{INHERITED_FUNCTIONS}},@{$interface->{FUNCTIONS}}) {
 		$count += $self->FunctionCallEntry($d);
 	}
-	$self->pidl("\t{ NULL, 0, NULL, NULL, NULL }");
+	$self->pidl("\t{ .name = NULL }");
 	$self->pidl("};");
 	$self->pidl("");
 
diff --git a/pidl/lib/Parse/Pidl/Samba4/Python.pm b/pidl/lib/Parse/Pidl/Samba4/Python.pm
index f418ac489ae..1ef64db14ee 100644
--- a/pidl/lib/Parse/Pidl/Samba4/Python.pm
+++ b/pidl/lib/Parse/Pidl/Samba4/Python.pm
@@ -817,7 +817,7 @@ sub PythonFunctionStruct($$$$)
 	$self->pidl("}");
 	$self->pidl("");
 
-	$self->pidl("static PyObject *py_$name\_ndr_print_in(PyObject *py_obj)");
+	$self->pidl("static PyObject *py_$name\_ndr_print_in(PyObject *py_obj, PyObject *py_obj2)");
 	$self->pidl("{");
 	$self->indent;
 	$self->pidl("return py_$name\_ndr_print(py_obj, \"$name\_in\", NDR_IN);");
@@ -825,7 +825,7 @@ sub PythonFunctionStruct($$$$)
 	$self->pidl("}");
 	$self->pidl("");
 
-	$self->pidl("static PyObject *py_$name\_ndr_print_out(PyObject *py_obj)");
+	$self->pidl("static PyObject *py_$name\_ndr_print_out(PyObject *py_obj, PyObject *py_obj2)");
 	$self->pidl("{");
 	$self->indent;
 	$self->pidl("return py_$name\_ndr_print(py_obj, \"$name\_out\", NDR_OUT);");
@@ -1726,7 +1726,7 @@ sub ConvertObjectFromPythonData($$$$$$;$$)
 		$self->indent;
 		$self->pidl("long test_var;");
 		$self->pidl("test_var = PyInt_AsLong($cvar);");
-		$self->pidl("if (test_var < 0 || test_var > uint_max) {");
+		$self->pidl("if (test_var < 0 || (unsigned long long)test_var > uint_max) {");
 		$self->indent;
 		$self->pidl("PyErr_Format(PyExc_OverflowError, \"Expected type %s or %s within range 0 - %llu, got %ld\",\\");
 		$self->pidl("  PyInt_Type.tp_name, PyLong_Type.tp_name, uint_max, test_var);");


-- 
Samba Shared Repository



More information about the samba-cvs mailing list