Hello community,

here is the log from the commit of package talloc for openSUSE:Factory checked 
in at 2018-04-04 11:13:17
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/talloc (Old)
 and      /work/SRC/openSUSE:Factory/.talloc.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "talloc"

Wed Apr  4 11:13:17 2018 rev:30 rq:593144 version:2.1.11

Changes:
--------
--- /work/SRC/openSUSE:Factory/talloc/talloc-man.changes        2017-10-25 
17:46:19.182798921 +0200
+++ /work/SRC/openSUSE:Factory/.talloc.new/talloc-man.changes   2018-04-04 
11:13:25.390630537 +0200
@@ -1,0 +2,18 @@
+Tue Mar 27 16:24:11 UTC 2018 - [email protected]
+
+- Eliminate usage of %__cp and %__mkdir_p.
+
+-------------------------------------------------------------------
+Fri Mar 16 17:49:24 UTC 2018 - [email protected]
+
+- Update to version 2.1.11
+  + disable-python - fix talloc wscript if bundling disabled
+  + Do not disclose the random talloc magic in free()'ed memory
+
+-------------------------------------------------------------------
+Mon Oct  9 06:55:51 UTC 2017 - [email protected]
+
+- Reference library name directly instead of using variables to 
+  pass obs source validator.
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/talloc/talloc.changes    2017-10-25 
17:46:19.474785216 +0200
+++ /work/SRC/openSUSE:Factory/.talloc.new/talloc.changes       2018-04-04 
11:13:26.974572813 +0200
@@ -1,0 +2,12 @@
+Tue Mar 27 16:24:11 UTC 2018 - [email protected]
+
+- Eliminate usage of %__cp and %__mkdir_p.
+
+-------------------------------------------------------------------
+Fri Mar 16 17:49:24 UTC 2018 - [email protected]
+
+- Update to version 2.1.11
+  + disable-python - fix talloc wscript if bundling disabled
+  + Do not disclose the random talloc magic in free()'ed memory
+
+-------------------------------------------------------------------

Old:
----
  talloc-2.1.10.tar.asc
  talloc-2.1.10.tar.gz

New:
----
  talloc-2.1.11.tar.asc
  talloc-2.1.11.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ talloc-man.spec ++++++
--- /var/tmp/diff_new_pack.7zq3t2/_old  2018-04-04 11:13:29.654475148 +0200
+++ /var/tmp/diff_new_pack.7zq3t2/_new  2018-04-04 11:13:29.654475148 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package talloc-man
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,6 +18,8 @@
 
 %{!?python_sitearch:  %global python_sitearch %(%{__python} -c "from 
distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
 %{!?py3_soflags:  %global py3_soflags cpython-%{python3_version_nodots}m}
+%{!?py3_soflags_dash:   %global py3_soflags_dash %(echo %{py3_soflags} | sed 
"s/_/-/g")}
+%{!?py3_incdir:  %global py3_incdir %(%{__python3} -c "import sysconfig as s; 
print(s.get_path('include'))")}
 %if 0%{?suse_version} > 1310 || 0%{?fedora_version} > 20
 %define with_python3 1
 %else
@@ -36,12 +38,13 @@
 BuildRequires:  pkg-config
 BuildRequires:  python-devel
 %if %{with_python3}
+BuildRequires:  python3-base
 BuildRequires:  python3-devel
 %endif
 #!BuildIgnore:  python
 %endif # build_man
 Url:            http://talloc.samba.org/
-Version:        2.1.10
+Version:        2.1.11
 Release:        0
 Summary:        Samba talloc Library
 License:        LGPL-3.0+
@@ -61,17 +64,12 @@
 
 %if ! %{build_man}
 
-%if 0%{?suse_version} > 0
-%define libtalloc_name libtalloc2
-%else
-%define libtalloc_name libtalloc
-%endif
-%package -n %{libtalloc_name}
+%package -n libtalloc2
 Summary:        Samba talloc library
 Group:          System/Libraries
 Provides:       bundled(libreplace)
 
-%description -n %{libtalloc_name}
+%description -n libtalloc2
 Talloc is a hierarchical, reference counted memory pool system with
 destructors.
 
@@ -87,7 +85,7 @@
 %if 0%{?suse_version} > 1030
 Recommends:     %{name}-man
 %endif
-Requires:       %{libtalloc_name} = %{version}
+Requires:       libtalloc2 = %{version}
 Requires:       pkg-config
 
 %description -n libtalloc-devel
@@ -102,7 +100,7 @@
 %package -n python-talloc
 Summary:        Python bindings for the Talloc library
 Group:          Development/Libraries/Python
-Requires:       %{libtalloc_name} = %{version}
+Requires:       libtalloc2 = %{version}
 Provides:       pytalloc = %{version}
 Obsoletes:      pytalloc < %{version}
 
@@ -117,32 +115,26 @@
 Requires:       python-talloc = %{version}
 Provides:       pytalloc-devel = %{version}
 Obsoletes:      pytalloc-devel < %{version}
-Conflicts:      python3-talloc-devel
 
 %description -n python-talloc-devel
 Libraries and Header Files to Develop Programs with python-talloc Support
 
-
-%if %{with_python3}
 %package -n python3-talloc
 Summary:        Python3 bindings for the Talloc library
 Group:          Development/Libraries/Python
-Requires:       %{libtalloc_name} = %{version}
+Requires:       libtalloc2 = %{version}
 
 %description -n python3-talloc
 This package contains the Python3 bindings for the Talloc library.
 
-
 %package -n python3-talloc-devel
 Summary:        Developer tools for the Talloc library
 Group:          Development/Libraries/Python
 Requires:       pkg-config
 Requires:       python3-talloc = %{version}
-Conflicts:      python-talloc-devel
 
 %description -n python3-talloc-devel
 Libraries and Header Files to Develop Programs with python3-talloc Support
-%endif
 
 %endif # ! build_man
 
@@ -192,7 +184,12 @@
 %if ! %{build_man}
 %make_install
 rm -r "%{buildroot}/%{_mandir}"
-
+%if %{with_python3}
+mkdir -p %{buildroot}/%{py3_incdir}
+cp %{buildroot}/%{_includedir}/pytalloc.h %{buildroot}/%{py3_incdir}/pytalloc.h
+sed -i 's;${prefix}/include;%{py3_incdir};g' 
%{buildroot}/%{_libdir}/pkgconfig/pytalloc-util.%{py3_soflags}.pc
+sed -i 
's;-lpytalloc-util.%{py3_soflags_dash};-lpytalloc-util.%{py3_soflags};g' 
%{buildroot}/%{_libdir}/pkgconfig/pytalloc-util.%{py3_soflags}.pc
+%endif
 %else
 
 # Install API documentation
@@ -202,9 +199,9 @@
 %endif  # ! build_man
 
 %if ! %{build_man}
-%post -n %{libtalloc_name} -p /sbin/ldconfig
+%post -n libtalloc2 -p /sbin/ldconfig
 
-%postun -n %{libtalloc_name} -p /sbin/ldconfig
+%postun -n libtalloc2 -p /sbin/ldconfig
 
 %post -n python-talloc -p /sbin/ldconfig
 
@@ -214,7 +211,7 @@
 
 %postun -n python3-talloc -p /sbin/ldconfig
 
-%files -n %{libtalloc_name}
+%files -n libtalloc2
 %defattr(-,root,root)
 %{_libdir}/libtalloc.so.*
 
@@ -243,8 +240,7 @@
 
 %files -n python3-talloc-devel
 %defattr(-,root,root)
-%{_includedir}/pytalloc.h
-%{_libdir}/pkgconfig/pytalloc-util.pc
+%{py3_incdir}/pytalloc.h
 %{_libdir}/pkgconfig/pytalloc-util.%{py3_soflags}.pc
 %{_libdir}/libpytalloc-util.%{py3_soflags}.so
 %endif

++++++ talloc.spec ++++++
--- /var/tmp/diff_new_pack.7zq3t2/_old  2018-04-04 11:13:29.678474274 +0200
+++ /var/tmp/diff_new_pack.7zq3t2/_new  2018-04-04 11:13:29.682474128 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package talloc-man
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,6 +18,8 @@
 
 %{!?python_sitearch:  %global python_sitearch %(%{__python} -c "from 
distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
 %{!?py3_soflags:  %global py3_soflags cpython-%{python3_version_nodots}m}
+%{!?py3_soflags_dash:   %global py3_soflags_dash %(echo %{py3_soflags} | sed 
"s/_/-/g")}
+%{!?py3_incdir:  %global py3_incdir %(%{__python3} -c "import sysconfig as s; 
print(s.get_path('include'))")}
 %if 0%{?suse_version} > 1310 || 0%{?fedora_version} > 20
 %define with_python3 1
 %else
@@ -36,12 +38,13 @@
 BuildRequires:  pkg-config
 BuildRequires:  python-devel
 %if %{with_python3}
+BuildRequires:  python3-base
 BuildRequires:  python3-devel
 %endif
 #!BuildIgnore:  python
 %endif # build_man
 Url:            http://talloc.samba.org/
-Version:        2.1.10
+Version:        2.1.11
 Release:        0
 Summary:        Samba talloc Library
 License:        LGPL-3.0+
@@ -112,7 +115,6 @@
 Requires:       python-talloc = %{version}
 Provides:       pytalloc-devel = %{version}
 Obsoletes:      pytalloc-devel < %{version}
-Conflicts:      python3-talloc-devel
 
 %description -n python-talloc-devel
 Libraries and Header Files to Develop Programs with python-talloc Support
@@ -130,7 +132,6 @@
 Group:          Development/Libraries/Python
 Requires:       pkg-config
 Requires:       python3-talloc = %{version}
-Conflicts:      python-talloc-devel
 
 %description -n python3-talloc-devel
 Libraries and Header Files to Develop Programs with python3-talloc Support
@@ -183,7 +184,12 @@
 %if ! %{build_man}
 %make_install
 rm -r "%{buildroot}/%{_mandir}"
-
+%if %{with_python3}
+mkdir -p %{buildroot}/%{py3_incdir}
+cp %{buildroot}/%{_includedir}/pytalloc.h %{buildroot}/%{py3_incdir}/pytalloc.h
+sed -i 's;${prefix}/include;%{py3_incdir};g' 
%{buildroot}/%{_libdir}/pkgconfig/pytalloc-util.%{py3_soflags}.pc
+sed -i 
's;-lpytalloc-util.%{py3_soflags_dash};-lpytalloc-util.%{py3_soflags};g' 
%{buildroot}/%{_libdir}/pkgconfig/pytalloc-util.%{py3_soflags}.pc
+%endif
 %else
 
 # Install API documentation
@@ -234,8 +240,7 @@
 
 %files -n python3-talloc-devel
 %defattr(-,root,root)
-%{_includedir}/pytalloc.h
-%{_libdir}/pkgconfig/pytalloc-util.pc
+%{py3_incdir}/pytalloc.h
 %{_libdir}/pkgconfig/pytalloc-util.%{py3_soflags}.pc
 %{_libdir}/libpytalloc-util.%{py3_soflags}.so
 %endif

++++++ talloc-2.1.10.tar.gz -> talloc-2.1.11.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/ABI/pytalloc-util-2.1.11.sigs 
new/talloc-2.1.11/ABI/pytalloc-util-2.1.11.sigs
--- old/talloc-2.1.10/ABI/pytalloc-util-2.1.11.sigs     1970-01-01 
01:00:00.000000000 +0100
+++ new/talloc-2.1.11/ABI/pytalloc-util-2.1.11.sigs     2018-01-13 
08:07:51.000000000 +0100
@@ -0,0 +1,16 @@
+_pytalloc_check_type: int (PyObject *, const char *)
+_pytalloc_get_mem_ctx: TALLOC_CTX *(PyObject *)
+_pytalloc_get_ptr: void *(PyObject *)
+_pytalloc_get_type: void *(PyObject *, const char *)
+pytalloc_BaseObject_PyType_Ready: int (PyTypeObject *)
+pytalloc_BaseObject_check: int (PyObject *)
+pytalloc_BaseObject_size: size_t (void)
+pytalloc_CObject_FromTallocPtr: PyObject *(void *)
+pytalloc_Check: int (PyObject *)
+pytalloc_GenericObject_reference_ex: PyObject *(TALLOC_CTX *, void *)
+pytalloc_GenericObject_steal_ex: PyObject *(TALLOC_CTX *, void *)
+pytalloc_GetBaseObjectType: PyTypeObject *(void)
+pytalloc_GetObjectType: PyTypeObject *(void)
+pytalloc_reference_ex: PyObject *(PyTypeObject *, TALLOC_CTX *, void *)
+pytalloc_steal: PyObject *(PyTypeObject *, void *)
+pytalloc_steal_ex: PyObject *(PyTypeObject *, TALLOC_CTX *, void *)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/ABI/pytalloc-util.py3-2.1.11.sigs 
new/talloc-2.1.11/ABI/pytalloc-util.py3-2.1.11.sigs
--- old/talloc-2.1.10/ABI/pytalloc-util.py3-2.1.11.sigs 1970-01-01 
01:00:00.000000000 +0100
+++ new/talloc-2.1.11/ABI/pytalloc-util.py3-2.1.11.sigs 2018-01-13 
08:07:51.000000000 +0100
@@ -0,0 +1,15 @@
+_pytalloc_check_type: int (PyObject *, const char *)
+_pytalloc_get_mem_ctx: TALLOC_CTX *(PyObject *)
+_pytalloc_get_ptr: void *(PyObject *)
+_pytalloc_get_type: void *(PyObject *, const char *)
+pytalloc_BaseObject_PyType_Ready: int (PyTypeObject *)
+pytalloc_BaseObject_check: int (PyObject *)
+pytalloc_BaseObject_size: size_t (void)
+pytalloc_Check: int (PyObject *)
+pytalloc_GenericObject_reference_ex: PyObject *(TALLOC_CTX *, void *)
+pytalloc_GenericObject_steal_ex: PyObject *(TALLOC_CTX *, void *)
+pytalloc_GetBaseObjectType: PyTypeObject *(void)
+pytalloc_GetObjectType: PyTypeObject *(void)
+pytalloc_reference_ex: PyObject *(PyTypeObject *, TALLOC_CTX *, void *)
+pytalloc_steal: PyObject *(PyTypeObject *, void *)
+pytalloc_steal_ex: PyObject *(PyTypeObject *, TALLOC_CTX *, void *)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/ABI/talloc-2.1.11.sigs 
new/talloc-2.1.11/ABI/talloc-2.1.11.sigs
--- old/talloc-2.1.10/ABI/talloc-2.1.11.sigs    1970-01-01 01:00:00.000000000 
+0100
+++ new/talloc-2.1.11/ABI/talloc-2.1.11.sigs    2018-01-13 08:07:51.000000000 
+0100
@@ -0,0 +1,65 @@
+_talloc: void *(const void *, size_t)
+_talloc_array: void *(const void *, size_t, unsigned int, const char *)
+_talloc_free: int (void *, const char *)
+_talloc_get_type_abort: void *(const void *, const char *, const char *)
+_talloc_memdup: void *(const void *, const void *, size_t, const char *)
+_talloc_move: void *(const void *, const void *)
+_talloc_pooled_object: void *(const void *, size_t, const char *, unsigned 
int, size_t)
+_talloc_realloc: void *(const void *, void *, size_t, const char *)
+_talloc_realloc_array: void *(const void *, void *, size_t, unsigned int, 
const char *)
+_talloc_reference_loc: void *(const void *, const void *, const char *)
+_talloc_set_destructor: void (const void *, int (*)(void *))
+_talloc_steal_loc: void *(const void *, const void *, const char *)
+_talloc_zero: void *(const void *, size_t, const char *)
+_talloc_zero_array: void *(const void *, size_t, unsigned int, const char *)
+talloc_asprintf: char *(const void *, const char *, ...)
+talloc_asprintf_append: char *(char *, const char *, ...)
+talloc_asprintf_append_buffer: char *(char *, const char *, ...)
+talloc_autofree_context: void *(void)
+talloc_check_name: void *(const void *, const char *)
+talloc_disable_null_tracking: void (void)
+talloc_enable_leak_report: void (void)
+talloc_enable_leak_report_full: void (void)
+talloc_enable_null_tracking: void (void)
+talloc_enable_null_tracking_no_autofree: void (void)
+talloc_find_parent_byname: void *(const void *, const char *)
+talloc_free_children: void (void *)
+talloc_get_name: const char *(const void *)
+talloc_get_size: size_t (const void *)
+talloc_increase_ref_count: int (const void *)
+talloc_init: void *(const char *, ...)
+talloc_is_parent: int (const void *, const void *)
+talloc_named: void *(const void *, size_t, const char *, ...)
+talloc_named_const: void *(const void *, size_t, const char *)
+talloc_parent: void *(const void *)
+talloc_parent_name: const char *(const void *)
+talloc_pool: void *(const void *, size_t)
+talloc_realloc_fn: void *(const void *, void *, size_t)
+talloc_reference_count: size_t (const void *)
+talloc_reparent: void *(const void *, const void *, const void *)
+talloc_report: void (const void *, FILE *)
+talloc_report_depth_cb: void (const void *, int, int, void (*)(const void *, 
int, int, int, void *), void *)
+talloc_report_depth_file: void (const void *, int, int, FILE *)
+talloc_report_full: void (const void *, FILE *)
+talloc_set_abort_fn: void (void (*)(const char *))
+talloc_set_log_fn: void (void (*)(const char *))
+talloc_set_log_stderr: void (void)
+talloc_set_memlimit: int (const void *, size_t)
+talloc_set_name: const char *(const void *, const char *, ...)
+talloc_set_name_const: void (const void *, const char *)
+talloc_show_parents: void (const void *, FILE *)
+talloc_strdup: char *(const void *, const char *)
+talloc_strdup_append: char *(char *, const char *)
+talloc_strdup_append_buffer: char *(char *, const char *)
+talloc_strndup: char *(const void *, const char *, size_t)
+talloc_strndup_append: char *(char *, const char *, size_t)
+talloc_strndup_append_buffer: char *(char *, const char *, size_t)
+talloc_test_get_magic: int (void)
+talloc_total_blocks: size_t (const void *)
+talloc_total_size: size_t (const void *)
+talloc_unlink: int (const void *, void *)
+talloc_vasprintf: char *(const void *, const char *, va_list)
+talloc_vasprintf_append: char *(char *, const char *, va_list)
+talloc_vasprintf_append_buffer: char *(char *, const char *, va_list)
+talloc_version_major: int (void)
+talloc_version_minor: int (void)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/buildtools/wafsamba/samba_autoconf.py 
new/talloc-2.1.11/buildtools/wafsamba/samba_autoconf.py
--- old/talloc-2.1.10/buildtools/wafsamba/samba_autoconf.py     2016-10-07 
06:45:35.000000000 +0200
+++ new/talloc-2.1.11/buildtools/wafsamba/samba_autoconf.py     2018-01-13 
08:07:51.000000000 +0100
@@ -473,10 +473,13 @@
 def CHECK_CFLAGS(conf, cflags, fragment='int main(void) { return 0; }\n'):
     '''check if the given cflags are accepted by the compiler
     '''
+    check_cflags = TO_LIST(cflags)
+    if 'WERROR_CFLAGS' in conf.env:
+        check_cflags.extend(conf.env['WERROR_CFLAGS'])
     return conf.check(fragment=fragment,
                       execute=0,
                       type='nolink',
-                      ccflags=cflags,
+                      ccflags=check_cflags,
                       msg="Checking compiler accepts %s" % cflags)
 
 @conf
@@ -708,7 +711,9 @@
                         testflags=True)
 
         conf.ADD_CFLAGS('-Wformat=2 -Wno-format-y2k', testflags=True)
-        conf.ADD_CFLAGS('-Werror=format-security -Wformat-security', 
testflags=True)
+        conf.ADD_CFLAGS('-Wno-format-zero-length', testflags=True)
+        conf.ADD_CFLAGS('-Werror=format-security -Wformat-security',
+                        testflags=True, prereq_flags='-Wformat')
         # This check is because for ldb_search(), a NULL format string
         # is not an error, but some compilers complain about that.
         if CHECK_CFLAGS(conf, ["-Werror=format", "-Wformat=2"], '''
@@ -769,14 +774,15 @@
             conf.env[name] = conf.env['PREFIX'] + default
 
 @conf
-def ADD_NAMED_CFLAGS(conf, name, flags, testflags=False):
+def ADD_NAMED_CFLAGS(conf, name, flags, testflags=False, prereq_flags=[]):
     '''add some CFLAGS to the command line
        optionally set testflags to ensure all the flags work
     '''
+    prereq_flags = TO_LIST(prereq_flags)
     if testflags:
         ok_flags=[]
         for f in flags.split():
-            if CHECK_CFLAGS(conf, f):
+            if CHECK_CFLAGS(conf, [f] + prereq_flags):
                 ok_flags.append(f)
         flags = ok_flags
     if not name in conf.env:
@@ -784,11 +790,12 @@
     conf.env[name].extend(TO_LIST(flags))
 
 @conf
-def ADD_CFLAGS(conf, flags, testflags=False):
+def ADD_CFLAGS(conf, flags, testflags=False, prereq_flags=[]):
     '''add some CFLAGS to the command line
        optionally set testflags to ensure all the flags work
     '''
-    ADD_NAMED_CFLAGS(conf, 'EXTRA_CFLAGS', flags, testflags=testflags)
+    ADD_NAMED_CFLAGS(conf, 'EXTRA_CFLAGS', flags, testflags=testflags,
+                     prereq_flags=prereq_flags)
 
 @conf
 def ADD_LDFLAGS(conf, flags, testflags=False):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/buildtools/wafsamba/samba_dist.py 
new/talloc-2.1.11/buildtools/wafsamba/samba_dist.py
--- old/talloc-2.1.10/buildtools/wafsamba/samba_dist.py 2015-11-06 
14:28:25.000000000 +0100
+++ new/talloc-2.1.11/buildtools/wafsamba/samba_dist.py 2018-01-13 
08:07:51.000000000 +0100
@@ -115,7 +115,7 @@
                     blacklisted = True
             if blacklisted:
                 continue
-            if os.path.isdir(abspath):
+            if os.path.isdir(abspath) and not os.path.islink(abspath):
                 continue
             if dstsubdir != '.':
                 f = dstsubdir + '/' + f
@@ -182,7 +182,7 @@
 
             absfile = os.path.join(srcdir, file)
 
-            if os.path.isdir(absfile):
+            if os.path.isdir(absfile) and not os.path.islink(absfile):
                 destdir = destfile
                 dir = file
                 files = list_directory_files(dir)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/buildtools/wafsamba/samba_patterns.py 
new/talloc-2.1.11/buildtools/wafsamba/samba_patterns.py
--- old/talloc-2.1.10/buildtools/wafsamba/samba_patterns.py     2017-07-23 
00:23:56.000000000 +0200
+++ new/talloc-2.1.11/buildtools/wafsamba/samba_patterns.py     2018-01-13 
08:07:51.000000000 +0100
@@ -108,6 +108,7 @@
     fp.write("       output(screen,\"   PIDDIR: %s\\n\", get_dyn_PIDDIR());\n")
     fp.write("       output(screen,\"   SMB_PASSWD_FILE: 
%s\\n\",get_dyn_SMB_PASSWD_FILE());\n")
     fp.write("       output(screen,\"   PRIVATE_DIR: 
%s\\n\",get_dyn_PRIVATE_DIR());\n")
+    fp.write("       output(screen,\"   BINDDNS_DIR: 
%s\\n\",get_dyn_BINDDNS_DIR());\n")
     fp.write("\n")
 
 def write_build_options_footer(fp):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/buildtools/wafsamba/samba_python.py 
new/talloc-2.1.11/buildtools/wafsamba/samba_python.py
--- old/talloc-2.1.10/buildtools/wafsamba/samba_python.py       2017-04-28 
10:57:26.000000000 +0200
+++ new/talloc-2.1.11/buildtools/wafsamba/samba_python.py       2018-01-13 
08:07:51.000000000 +0100
@@ -109,6 +109,7 @@
                  public_deps='',
                  realname=None,
                  cflags='',
+                 cflags_end=None,
                  includes='',
                  init_function_sentinel=None,
                  local_include=True,
@@ -154,6 +155,7 @@
                       public_deps=public_deps,
                       includes=includes,
                       cflags=cflags,
+                      cflags_end=cflags_end,
                       local_include=local_include,
                       vars=vars,
                       realname=realname,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/talloc-2.1.10/buildtools/wafsamba/samba_third_party.py 
new/talloc-2.1.11/buildtools/wafsamba/samba_third_party.py
--- old/talloc-2.1.10/buildtools/wafsamba/samba_third_party.py  2017-04-28 
10:57:26.000000000 +0200
+++ new/talloc-2.1.11/buildtools/wafsamba/samba_third_party.py  2018-01-13 
08:07:51.000000000 +0100
@@ -39,3 +39,28 @@
     return conf.CHECK_BUNDLED_SYSTEM_PKG('cmocka', minversion='1.1.1')
 
 Build.BuildContext.CHECK_CMOCKA = CHECK_CMOCKA
+
+@conf
+def CHECK_SOCKET_WRAPPER(conf):
+    return conf.CHECK_BUNDLED_SYSTEM_PKG('socket_wrapper', minversion='1.1.9')
+Build.BuildContext.CHECK_SOCKET_WRAPPER = CHECK_SOCKET_WRAPPER
+
+@conf
+def CHECK_NSS_WRAPPER(conf):
+    return conf.CHECK_BUNDLED_SYSTEM_PKG('nss_wrapper', minversion='1.1.3')
+Build.BuildContext.CHECK_NSS_WRAPPER = CHECK_NSS_WRAPPER
+
+@conf
+def CHECK_RESOLV_WRAPPER(conf):
+    return conf.CHECK_BUNDLED_SYSTEM_PKG('resolv_wrapper', minversion='1.1.4')
+Build.BuildContext.CHECK_RESOLV_WRAPPER = CHECK_RESOLV_WRAPPER
+
+@conf
+def CHECK_UID_WRAPPER(conf):
+    return conf.CHECK_BUNDLED_SYSTEM_PKG('uid_wrapper', minversion='1.2.4')
+Build.BuildContext.CHECK_UID_WRAPPER = CHECK_UID_WRAPPER
+
+@conf
+def CHECK_PAM_WRAPPER(conf):
+    return conf.CHECK_BUNDLED_SYSTEM_PKG('pam_wrapper', minversion='1.0.4')
+Build.BuildContext.CHECK_PAM_WRAPPER = CHECK_PAM_WRAPPER
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/buildtools/wafsamba/wafsamba.py 
new/talloc-2.1.11/buildtools/wafsamba/wafsamba.py
--- old/talloc-2.1.10/buildtools/wafsamba/wafsamba.py   2017-06-15 
23:19:32.000000000 +0200
+++ new/talloc-2.1.11/buildtools/wafsamba/wafsamba.py   2018-01-13 
08:07:51.000000000 +0100
@@ -112,6 +112,7 @@
                   vnum=None,
                   soname=None,
                   cflags='',
+                  cflags_end=None,
                   ldflags='',
                   external_library=False,
                   realname=None,
@@ -195,6 +196,7 @@
                         private_headers= private_headers,
                         header_path    = header_path,
                         cflags         = cflags,
+                        cflags_end     = cflags_end,
                         group          = subsystem_group,
                         autoproto      = autoproto,
                         autoproto_extra_source=autoproto_extra_source,
@@ -885,13 +887,30 @@
                   python_fixup=python_fixup, base_name=trim_path)
 Build.BuildContext.INSTALL_WILDCARD = INSTALL_WILDCARD
 
+def INSTALL_DIR(bld, path, chmod=0o755, env=None):
+    """Install a directory if it doesn't exist, always set permissions."""
 
-def INSTALL_DIRS(bld, destdir, dirs):
+    if not path:
+        return []
+
+    destpath = bld.get_install_path(path, env)
+
+    if bld.is_install > 0:
+        if not os.path.isdir(destpath):
+            try:
+                os.makedirs(destpath)
+                os.chmod(destpath, chmod)
+            except OSError, e:
+                if not os.path.isdir(destpath):
+                    raise Utils.WafError("Cannot create the folder '%s' 
(error: %s)" % (path, e))
+Build.BuildContext.INSTALL_DIR = INSTALL_DIR
+
+def INSTALL_DIRS(bld, destdir, dirs, chmod=0o755, env=None):
     '''install a set of directories'''
     destdir = bld.EXPAND_VARIABLES(destdir)
     dirs = bld.EXPAND_VARIABLES(dirs)
     for d in TO_LIST(dirs):
-        bld.install_dir(os.path.join(destdir, d))
+        INSTALL_DIR(bld, os.path.join(destdir, d), chmod, env)
 Build.BuildContext.INSTALL_DIRS = INSTALL_DIRS
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/lib/replace/replace.c 
new/talloc-2.1.11/lib/replace/replace.c
--- old/talloc-2.1.10/lib/replace/replace.c     2017-06-15 23:19:32.000000000 
+0200
+++ new/talloc-2.1.11/lib/replace/replace.c     2018-01-13 08:07:51.000000000 
+0100
@@ -942,3 +942,8 @@
 {
 }
 #endif
+#ifndef HAVE_SETPROCTITLE_INIT
+void rep_setproctitle_init(int argc, char *argv[], char *envp[])
+{
+}
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/lib/replace/replace.h 
new/talloc-2.1.11/lib/replace/replace.h
--- old/talloc-2.1.10/lib/replace/replace.h     2017-06-15 23:19:32.000000000 
+0200
+++ new/talloc-2.1.11/lib/replace/replace.h     2018-01-13 08:07:51.000000000 
+0100
@@ -918,6 +918,10 @@
 void rep_setproctitle(const char *fmt, ...) PRINTF_ATTRIBUTE(1, 2);
 #endif
 
+#ifndef HAVE_SETPROCTITLE_INIT
+#define setproctitle_init rep_setproctitle_init
+void rep_setproctitle_init(int argc, char *argv[], char *envp[]);
+#endif
 bool nss_wrapper_enabled(void);
 bool nss_wrapper_hosts_enabled(void);
 bool socket_wrapper_enabled(void);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/lib/replace/system/readline.h 
new/talloc-2.1.11/lib/replace/system/readline.h
--- old/talloc-2.1.10/lib/replace/system/readline.h     2014-09-16 
20:04:31.000000000 +0200
+++ new/talloc-2.1.11/lib/replace/system/readline.h     2018-01-13 
08:07:51.000000000 +0100
@@ -26,6 +26,9 @@
 
 #ifdef HAVE_LIBREADLINE
 #  ifdef HAVE_READLINE_READLINE_H
+#    ifdef HAVE_READLINE_READLINE_WORKAROUND
+#      define _FUNCTION_DEF
+#    endif
 #    include <readline/readline.h>
 #    ifdef HAVE_READLINE_HISTORY_H
 #      include <readline/history.h>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/lib/replace/wscript 
new/talloc-2.1.11/lib/replace/wscript
--- old/talloc-2.1.10/lib/replace/wscript       2017-07-02 22:22:14.000000000 
+0200
+++ new/talloc-2.1.11/lib/replace/wscript       2018-01-13 08:07:51.000000000 
+0100
@@ -84,6 +84,9 @@
     if conf.CHECK_CFLAGS('-Wno-format-truncation'):
         conf.define('HAVE_WNO_FORMAT_TRUNCATION', '1')
 
+    if conf.CHECK_CFLAGS('-Wno-unused-function'):
+        conf.define('HAVE_WNO_UNUSED_FUNCTION', '1')
+
     # Check for process set name support
     conf.CHECK_CODE('''
                     #include <sys/prctl.h>
@@ -249,16 +252,33 @@
     if conf.CONFIG_SET('HAVE_MEMALIGN'):
         conf.CHECK_DECLS('memalign', headers='malloc.h')
 
+    # glibc up to 2.3.6 had dangerously broken posix_fallocate(). DON'T USE IT.
+    if conf.CHECK_CODE('''
+#define _XOPEN_SOURCE 600
+#include <stdlib.h>
+#if defined(__GLIBC__) && ((__GLIBC__ < 2) || (__GLIBC__ == 2 && 
__GLIBC_MINOR__ < 4))
+#error probably broken posix_fallocate
+#endif
+''',
+                       '_POSIX_FALLOCATE_CAPABLE_LIBC',
+                       msg='Checking for posix_fallocate-capable libc'):
+        conf.CHECK_FUNCS('posix_fallocate')
+
     conf.CHECK_FUNCS('prctl dirname basename')
 
+    strlcpy_in_bsd = False
+
     # libbsd on some platforms provides strlcpy and strlcat
     if not conf.CHECK_FUNCS('strlcpy strlcat'):
-        conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', headers='bsd/string.h',
-                checklibc=True)
+        if conf.CHECK_FUNCS_IN('strlcpy strlcat', 'bsd', 
headers='bsd/string.h',
+                               checklibc=True):
+            strlcpy_in_bsd = True
     if not conf.CHECK_FUNCS('getpeereid'):
         conf.CHECK_FUNCS_IN('getpeereid', 'bsd', headers='sys/types.h 
bsd/unistd.h')
     if not conf.CHECK_FUNCS_IN('setproctitle', 'setproctitle', 
headers='setproctitle.h'):
         conf.CHECK_FUNCS_IN('setproctitle', 'bsd', headers='sys/types.h 
bsd/unistd.h')
+    if not conf.CHECK_FUNCS('setproctitle_init'):
+        conf.CHECK_FUNCS_IN('setproctitle_init', 'bsd', headers='sys/types.h 
bsd/unistd.h')
 
     if not conf.CHECK_FUNCS('closefrom'):
         conf.CHECK_FUNCS_IN('closefrom', 'bsd', headers='bsd/unistd.h')
@@ -611,6 +631,9 @@
 
     # look for a method of finding the list of network interfaces
     for method in ['HAVE_IFACE_GETIFADDRS', 'HAVE_IFACE_AIX', 
'HAVE_IFACE_IFCONF', 'HAVE_IFACE_IFREQ']:
+        bsd_for_strlcpy = ''
+        if strlcpy_in_bsd:
+            bsd_for_strlcpy = ' bsd'
         if conf.CHECK_CODE('''
                            #define %s 1
                            #define NO_CONFIG_H 1
@@ -623,7 +646,7 @@
                            #include "test/getifaddrs.c"
                            ''' % method,
                            method,
-                           lib='nsl socket',
+                           lib='nsl socket' + bsd_for_strlcpy,
                            addmain=False,
                            execute=True):
             break
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/talloc.c new/talloc-2.1.11/talloc.c
--- old/talloc-2.1.10/talloc.c  2017-02-27 20:23:11.000000000 +0100
+++ new/talloc-2.1.11/talloc.c  2018-01-13 08:07:51.000000000 +0100
@@ -75,12 +75,13 @@
 #define TALLOC_MAGIC_REFERENCE ((const char *)1)
 
 #define TALLOC_MAGIC_BASE 0xe814ec70
-static unsigned int talloc_magic = (
-       ~TALLOC_FLAG_MASK & (
-               TALLOC_MAGIC_BASE +
-               (TALLOC_BUILD_VERSION_MAJOR << 24) +
-               (TALLOC_BUILD_VERSION_MINOR << 16) +
-               (TALLOC_BUILD_VERSION_RELEASE << 8)));
+#define TALLOC_MAGIC_NON_RANDOM ( \
+       ~TALLOC_FLAG_MASK & ( \
+               TALLOC_MAGIC_BASE + \
+               (TALLOC_BUILD_VERSION_MAJOR << 24) + \
+               (TALLOC_BUILD_VERSION_MINOR << 16) + \
+               (TALLOC_BUILD_VERSION_RELEASE << 8)))
+static unsigned int talloc_magic = TALLOC_MAGIC_NON_RANDOM;
 
 /* by default we abort when given a bad pointer (such as when talloc_free() is 
called
    on a pointer that came from malloc() */
@@ -332,6 +333,48 @@
        return talloc_magic;
 }
 
+static inline void _talloc_chunk_set_free(struct talloc_chunk *tc,
+                             const char *location)
+{
+       /*
+        * Mark this memory as free, and also over-stamp the talloc
+        * magic with the old-style magic.
+        *
+        * Why?  This tries to avoid a memory read use-after-free from
+        * disclosing our talloc magic, which would then allow an
+        * attacker to prepare a valid header and so run a destructor.
+        *
+        */
+       tc->flags = TALLOC_MAGIC_NON_RANDOM | TALLOC_FLAG_FREE
+               | (tc->flags & TALLOC_FLAG_MASK);
+
+       /* we mark the freed memory with where we called the free
+        * from. This means on a double free error we can report where
+        * the first free came from
+        */
+       if (location) {
+               tc->name = location;
+       }
+}
+
+static inline void _talloc_chunk_set_not_free(struct talloc_chunk *tc)
+{
+       /*
+        * Mark this memory as not free.
+        *
+        * Why? This is memory either in a pool (and so available for
+        * talloc's re-use or after the realloc().  We need to mark
+        * the memory as free() before any realloc() call as we can't
+        * write to the memory after that.
+        *
+        * We put back the normal magic instead of the 'not random'
+        * magic.
+        */
+
+       tc->flags = talloc_magic |
+               ((tc->flags & TALLOC_FLAG_MASK) & ~TALLOC_FLAG_FREE);
+}
+
 static void (*talloc_log_fn)(const char *message);
 
 _PUBLIC_ void talloc_set_log_fn(void (*log_fn)(const char *message))
@@ -429,11 +472,6 @@
        talloc_abort_fn(reason);
 }
 
-static void talloc_abort_magic(unsigned magic)
-{
-       talloc_abort("Bad talloc magic value - wrong talloc version 
used/mixed");
-}
-
 static void talloc_abort_access_after_free(void)
 {
        talloc_abort("Bad talloc magic value - access after free");
@@ -450,19 +488,15 @@
        const char *pp = (const char *)ptr;
        struct talloc_chunk *tc = discard_const_p(struct talloc_chunk, pp - 
TC_HDR_SIZE);
        if (unlikely((tc->flags & (TALLOC_FLAG_FREE | ~TALLOC_FLAG_MASK)) != 
talloc_magic)) {
-               if ((tc->flags & (~TALLOC_FLAG_MASK)) == talloc_magic) {
-                       talloc_abort_magic(tc->flags & (~TALLOC_FLAG_MASK));
-                       return NULL;
-               }
-
-               if (tc->flags & TALLOC_FLAG_FREE) {
+               if ((tc->flags & (TALLOC_FLAG_FREE | ~TALLOC_FLAG_MASK))
+                   == (TALLOC_MAGIC_NON_RANDOM | TALLOC_FLAG_FREE)) {
                        talloc_log("talloc: access after free error - first 
free may be at %s\n", tc->name);
                        talloc_abort_access_after_free();
                        return NULL;
-               } else {
-                       talloc_abort_unknown_value();
-                       return NULL;
                }
+
+               talloc_abort_unknown_value();
+               return NULL;
        }
        return tc;
 }
@@ -947,13 +981,7 @@
        pool_tc = talloc_chunk_from_pool(pool);
        next_tc = tc_next_chunk(tc);
 
-       tc->flags |= TALLOC_FLAG_FREE;
-
-       /* we mark the freed memory with where we called the free
-        * from. This means on a double free error we can report where
-        * the first free came from
-        */
-       tc->name = location;
+       _talloc_chunk_set_free(tc, location);
 
        TC_INVALIDATE_FULL_CHUNK(tc);
 
@@ -1103,13 +1131,7 @@
 
        _tc_free_children_internal(tc, ptr, location);
 
-       tc->flags |= TALLOC_FLAG_FREE;
-
-       /* we mark the freed memory with where we called the free
-        * from. This means on a double free error we can report where
-        * the first free came from
-        */
-       tc->name = location;
+       _talloc_chunk_set_free(tc, location);
 
        if (tc->flags & TALLOC_FLAG_POOL) {
                struct talloc_pool_hdr *pool;
@@ -1806,8 +1828,22 @@
        }
 #endif
 
-       /* by resetting magic we catch users of the old memory */
-       tc->flags |= TALLOC_FLAG_FREE;
+       /*
+        * by resetting magic we catch users of the old memory
+        *
+        * We mark this memory as free, and also over-stamp the talloc
+        * magic with the old-style magic.
+        *
+        * Why?  This tries to avoid a memory read use-after-free from
+        * disclosing our talloc magic, which would then allow an
+        * attacker to prepare a valid header and so run a destructor.
+        *
+        * What else?  We have to re-stamp back a valid normal magic
+        * on this memory once realloc() is done, as it will have done
+        * a memcpy() into the new valid memory.  We can't do this in
+        * reverse as that would be a real use-after-free.
+        */
+       _talloc_chunk_set_free(tc, NULL);
 
 #if ALWAYS_REALLOC
        if (pool_hdr) {
@@ -1906,7 +1942,7 @@
 
                if (new_chunk_size == old_chunk_size) {
                        TC_UNDEFINE_GROW_CHUNK(tc, size);
-                       tc->flags &= ~TALLOC_FLAG_FREE;
+                       _talloc_chunk_set_not_free(tc);
                        tc->size = size;
                        return ptr;
                }
@@ -1921,7 +1957,7 @@
 
                        if (space_left >= space_needed) {
                                TC_UNDEFINE_GROW_CHUNK(tc, size);
-                               tc->flags &= ~TALLOC_FLAG_FREE;
+                               _talloc_chunk_set_not_free(tc);
                                tc->size = size;
                                pool_hdr->end = tc_next_chunk(tc);
                                return ptr;
@@ -1951,12 +1987,24 @@
 got_new_ptr:
 #endif
        if (unlikely(!new_ptr)) {
-               tc->flags &= ~TALLOC_FLAG_FREE;
+               /*
+                * Ok, this is a strange spot.  We have to put back
+                * the old talloc_magic and any flags, except the
+                * TALLOC_FLAG_FREE as this was not free'ed by the
+                * realloc() call after all
+                */
+               _talloc_chunk_set_not_free(tc);
                return NULL;
        }
 
+       /*
+        * tc is now the new value from realloc(), the old memory we
+        * can't access any more and was preemptively marked as
+        * TALLOC_FLAG_FREE before the call.  Now we mark it as not
+        * free again
+        */
        tc = (struct talloc_chunk *)new_ptr;
-       tc->flags &= ~TALLOC_FLAG_FREE;
+       _talloc_chunk_set_not_free(tc);
        if (malloced) {
                tc->flags &= ~TALLOC_FLAG_POOLMEM;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/testsuite.c 
new/talloc-2.1.11/testsuite.c
--- old/talloc-2.1.10/testsuite.c       2017-02-27 20:23:11.000000000 +0100
+++ new/talloc-2.1.11/testsuite.c       2018-01-13 08:07:51.000000000 +0100
@@ -2006,6 +2006,72 @@
        return true;
 }
 
+static void test_magic_free_protection_abort(const char *reason)
+{
+       /* exit with errcode 42 to communicate successful test to the parent 
process */
+       if (strcmp(reason, "Bad talloc magic value - access after free") == 0) {
+               _exit(42);
+       }
+       /* not 42 */
+       _exit(404);
+}
+
+static bool test_magic_free_protection(void)
+{
+       void *pool = talloc_pool(NULL, 1024);
+       int *p1, *p2, *p3;
+       pid_t pid;
+       int exit_status;
+
+       printf("test: magic_free_protection\n");
+       p1 = talloc(pool, int);
+       p2 = talloc(pool, int);
+
+       /* To avoid complaints from the compiler assign values to the p1 & p2. 
*/
+       *p1 = 6;
+       *p2 = 9;
+
+       p3 = talloc_realloc(pool, p2, int, 2048);
+       torture_assert("pool realloc 2048",
+                      p3 != p2,
+                      "failed: pointer not changed");
+
+       /*
+        * Now access the memory in the pool after the realloc().  It
+        * should be marked as free, so use of the old pointer should
+        * trigger the abort function
+        */
+       pid = fork();
+       if (pid == 0) {
+               talloc_set_abort_fn(test_magic_free_protection_abort);
+
+               talloc_get_name(p2);
+
+               /* Never reached. Make compilers happy */
+               return true;
+       }
+
+       while (wait(&exit_status) != pid);
+
+       if (!WIFEXITED(exit_status)) {
+               printf("Child exited through unexpected abnormal means\n");
+               return false;
+       }
+       if (WEXITSTATUS(exit_status) != 42) {
+               printf("Child exited with wrong exit status\n");
+               return false;
+       }
+       if (WIFSIGNALED(exit_status)) {
+               printf("Child recieved unexpected signal\n");
+               return false;
+       }
+
+       talloc_free(pool);
+
+       printf("success: magic_free_protection\n");
+       return true;
+}
+
 static void test_reset(void)
 {
        talloc_set_log_fn(test_log_stdout);
@@ -2092,6 +2158,8 @@
        ret &= test_autofree();
        test_reset();
        ret &= test_magic_protection();
+       test_reset();
+       ret &= test_magic_free_protection();
 
        test_reset();
        talloc_disable_null_tracking();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/talloc-2.1.10/wscript new/talloc-2.1.11/wscript
--- old/talloc-2.1.10/wscript   2017-07-23 00:23:56.000000000 +0200
+++ new/talloc-2.1.11/wscript   2018-01-13 08:07:51.000000000 +0100
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 APPNAME = 'talloc'
-VERSION = '2.1.10'
+VERSION = '2.1.11'
 
 
 blddir = 'bin'
@@ -74,19 +74,22 @@
                                      implied_deps='replace'):
             conf.define('USING_SYSTEM_TALLOC', 1)
 
-        using_system_pytalloc_util = True
-        if not conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', 
minversion=VERSION,
-                                             implied_deps='talloc replace'):
+        if conf.env.disable_python:
             using_system_pytalloc_util = False
-
-        # We need to get a pytalloc-util for all the python versions
-        # we are building for
-        if conf.env['EXTRA_PYTHON']:
-            name = 'pytalloc-util' + 
conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG']
-            if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION,
+        else:
+            using_system_pytalloc_util = True
+            if not conf.CHECK_BUNDLED_SYSTEM_PKG('pytalloc-util', 
minversion=VERSION,
                                                  implied_deps='talloc 
replace'):
                 using_system_pytalloc_util = False
 
+            # We need to get a pytalloc-util for all the python versions
+            # we are building for
+            if conf.env['EXTRA_PYTHON']:
+                name = 'pytalloc-util' + 
conf.all_envs['extrapython']['PYTHON_SO_ABI_FLAG']
+                if not conf.CHECK_BUNDLED_SYSTEM_PKG(name, minversion=VERSION,
+                                                     implied_deps='talloc 
replace'):
+                    using_system_pytalloc_util = False
+
         if using_system_pytalloc_util:
             conf.define('USING_SYSTEM_PYTALLOC_UTIL', 1)
 



Reply via email to