Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package tbb for openSUSE:Factory checked in 
at 2021-11-20 02:38:16
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tbb (Old)
 and      /work/SRC/openSUSE:Factory/.tbb.new.1895 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "tbb"

Sat Nov 20 02:38:16 2021 rev:24 rq:925616 version:2021.4.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/tbb/tbb.changes  2020-12-30 17:12:12.544838581 
+0100
+++ /work/SRC/openSUSE:Factory/.tbb.new.1895/tbb.changes        2021-11-20 
02:38:49.772841657 +0100
@@ -1,0 +2,23 @@
+Fri Oct  8 08:11:54 UTC 2021 - Ben Greiner <c...@bnavigator.de>
+
+- Allow gcc11
+- Add tbb-pr609-32bit-mwaitpkg.patch gh#oneapi-src/oneTBB#609
+  * fixes 32-bit build with gcc11
+- Only run ctest when --with test is given
+
+-------------------------------------------------------------------
+Tue Oct  5 09:41:04 UTC 2021 - Ben Greiner <c...@bnavigator.de>
+
+- Update to version 2021.4
+  * Large release notes since 2020.3:
+    
https://software.intel.com/content/www/us/en/develop/articles/intel-oneapi-threading-building-blocks-release-notes.html
+- Drop python2 package
+- Drop patches:
+  * disable-irml.patch -- install the library
+  * optflags.patch -- build system change
+  * reproducible.patch -- build system change
+- Refresh cmake-remove-include-path.patch
+- Add libirml subpackage for python module
+- Add libtbbbind library package for NUMA support
+
+-------------------------------------------------------------------

Old:
----
  disable-irml.patch
  optflags.patch
  reproducible.patch
  tbb-2020.3.tar.gz

New:
----
  _constraints
  tbb-2021.4.0.tar.gz
  tbb-pr609-32bit-mwaitpkg.patch
  tbb-rpmlintrc

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

Other differences:
------------------
++++++ tbb.spec ++++++
--- /var/tmp/diff_new_pack.QHyueJ/_old  2021-11-20 02:38:51.212836905 +0100
+++ /var/tmp/diff_new_pack.QHyueJ/_new  2021-11-20 02:38:51.216836892 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package tbb
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,38 +16,54 @@
 #
 
 
-%define so_ver 2
+%define so_ver 12
+%define so_ver_malloc 2
+%define so_ver_irml 1
+%define so_ver_bind 3
+%if %{pkg_vcmp hwloc-devel >= 2.5}
+%define tbbbind_suffix _2_5
+%else
+%if %{pkg_vcmp hwloc-devel >= 2}
+%define tbbbind_suffix _2_0
+%else
+%define tbbbind_suffix %{nil}
+%endif
+%endif
+# by default, don't compile all the tests
+%bcond_with test
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
-%bcond_with python2
+%if 0%{suse_version} >= 1500
+%{?!python_module:%define python_module() python3-%{**}}
 %bcond_without python3
-%if ! %{with python2}
 %define skip_python2 1
+%else
+%bcond_with python3
 %endif
 Name:           tbb
-Version:        2020.3
+Version:        2021.4.0
 Release:        0
 Summary:        Threading Building Blocks (TBB)
 License:        Apache-2.0
 Group:          Development/Libraries/C and C++
 URL:            https://www.threadingbuildingblocks.org/
 Source0:        
https://github.com/oneapi-src/oneTBB/archive/v%{version}.tar.gz#/tbb-%{version}.tar.gz
-# PATCH-FIX-OPENSUSE optflags.patch -- Use rpm optflags
-Patch1:         optflags.patch
-# PATCH-FIX-OPENSUSE reproducible.patch -- Do not compile build 
hostname+kernel into binary
-Patch2:         reproducible.patch
-# PATCH-FIX-OPENSUSE disable-irml.patch -- Don't try to link to irml
-Patch3:         disable-irml.patch
+Source99:       tbb-rpmlintrc
+# PATCH-FIX-UPSTREAM tbb-pr609-32bit-mwaitpkg.patch
+Patch1:         
https://github.com/oneapi-src/oneTBB/pull/609.patch#/tbb-pr609-32bit-mwaitpkg.patch
+# PATCH-FIX-OPENSUSE cmake-remove-include-path.patch -- openCV include error
 Patch4:         cmake-remove-include-path.patch
-BuildRequires:  %{python_module devel}
-BuildRequires:  %{python_module setuptools}
 BuildRequires:  cmake
 BuildRequires:  fdupes
 BuildRequires:  gcc-c++
+BuildRequires:  hwloc-devel
+%if %{with python3}
+BuildRequires:  %{python_module devel >= 3.5}
+BuildRequires:  %{python_module setuptools}
 BuildRequires:  python-rpm-macros
 BuildRequires:  swig >= 3.0.6
-%if 0%{?python38_version_nodots}
-# if python multiflavor is in place yet, use it to generate subpackages
+%endif
+%if 0%{?suse_version} > 1500
+# if python multiflavor is available (Tumbleweed), use it to generate 
subpackages
 %define python_subpackage_only 1
 %python_subpackages
 %else
@@ -79,40 +95,52 @@
 represents a higher-level, task-based parallelism that abstracts platform
 details and threading mechanism for performance and scalability.
 
-%package -n libtbbmalloc%{so_ver}
+%package -n libtbbmalloc%{so_ver_malloc}
 Summary:        Threading Building Blocks (TBB)
 Group:          System/Libraries
 Provides:       %{name} = %{version}
 Obsoletes:      %{name} < %{version}
 
-%description -n libtbbmalloc%{so_ver}
+%description -n libtbbmalloc%{so_ver_malloc}
 This subpackage contains the two TBB memory allocator templates that
 are similar to the STL template class std::allocator. These two
 templates, scalable_allocator<T> and cache_aligned_allocator<T>,
 address critical issues in parallel programming: scalability and
 false sharing.
 
+%package -n libirml%{so_ver_irml}
+Summary:        Threading Building Blocks (TBB) - IPC Library
+Group:          System/Libraries
+
+%description -n libirml%{so_ver_irml}
+This subpackage provides the library required in order to enable inter-process
+(IPC) coordination between oneTBB schedulers for the TBB python module.
+
+%package -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind}
+Summary:        Threading Building Blocks (TBB) NUMA support library
+Group:          System/Libraries
+
+%description -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind}
+The NUMA support library for Threading Building Blocks (TBB)
+
+
+
 %if 0%{?python_subpackage_only}
 %package -n python-%{name}
 Summary:        Python %{python_version} support for Threading Building Blocks 
(TBB)
 Group:          Development/Languages/Python
+Requires:       libirml%{so_ver_irml}
 
 %description -n python-%{name}
 This package contains python %{python_version} bindings for Threading Building 
Blocks
 (TBB).
 
 %else
-%package -n python2-%{name}
-Summary:        Python 2 support for Threading Building Blocks (TBB)
-Group:          Development/Languages/Python
-
-%description -n python2-%{name}
-This package contains python 2 bindings for Threading Building Blocks
-(TBB).
 
 %package -n python3-%{name}
 Summary:        Python 3 support for Threading Building Blocks (TBB)
 Group:          Development/Languages/Python
+Requires:       libirml%{so_ver_irml}
 
 %description -n python3-%{name}
 This package contains python 3 bindings for Threading Building Blocks
@@ -123,8 +151,10 @@
 Summary:        Development Files for Threading Building Blocks (TBB)
 Group:          Development/Libraries/C and C++
 Requires:       c++_compiler
+Requires:       libirml%{so_ver_irml} = %{version}
 Requires:       libtbb%{so_ver} = %{version}
-Requires:       libtbbmalloc%{so_ver} = %{version}
+Requires:       libtbbbind%{tbbbind_suffix}-%{so_ver_bind} = %{version}
+Requires:       libtbbmalloc%{so_ver_malloc} = %{version}
 
 %description devel
 Threading Building Blocks (TBB) offers a rich and complete approach to
@@ -140,106 +170,116 @@
 %setup -q -n oneTBB-%{version}
 %autopatch -p1
 
-sed -i 's/version\s*="0.1"/version = "%{version}"/' python/setup.py
+# fix python version
+sed -i 's/version\s*="0.2"/version = "%{version}"/' python/setup.py
 sed -i '1{/^#!.*env python/ d}' python/TBB.py python/tbb/*.py
 
 %build
-make OPTFLAGS="%{optflags}" %{?_smp_mflags} tbb_build_prefix=obj
+# HWLOC: no automatic find on SLE-12 (older cmake)
+# TBB_TEST: don't compile by default
+# TBB4PY: use cmake build system to build libirml in the python tree
+%cmake \
+%if 0%{suse_version} < 1500
+  -DCMAKE_HWLOC_2_LIBRARY_PATH=%{_libdir}/libhwloc.so \
+  -DCMAKE_HWLOC_2_INCLUDE_PATH=%{_includedir}/hwloc \
+%endif
+%if ! %{with test}
+  -DTBB_TEST:BOOL=OFF \
+%endif
+%if %{with python3}
+  -DTBB4PY_BUILD:BOOL=ON \
+%endif
 
-mkdir lib; pushd lib
-ln -s ../build/obj_release/*.so* .
-popd
+# Leap 15.2 encounters oom during compilation
+%cmake_build \
+%if 0%{?sle_version} == 150200
+  -j 4
+%endif
 
-export TBBROOT=$PWD
-. build/obj_release/tbbvars.sh
-%if %{with python2} || %{with python3}
+source */vars.sh
+cd ..
+
+# rebuild for every python flavor
+%if %{with python3}
 pushd python
 %python_build
-# only needed for testing? Linking is patched out, not installing.
-pushd rml
-make
-popd
 popd
 %endif
 
 %install
-mkdir -p %{buildroot}%{_includedir}
-mkdir -p %{buildroot}%{_libdir}
-
-pushd include
-    find tbb -type f -exec \
-        install -Dpm 644 {} %{buildroot}%{_includedir}/{} \
-    \;
-popd
+# create empty python build dir (?)
+mkdir -p build/python/build
+%cmake_install
 
-pushd build/obj_release
-    for file in libtbb{,malloc{,_proxy}}; do
-        install -Dpm 0755 ${file}.so.%{so_ver} %{buildroot}%{_libdir}
-        ln -s $file.so.%{so_ver} %{buildroot}%{_libdir}/$file.so
-    done
-popd
+source build/*/vars.sh
 
-mkdir -p %{buildroot}%{_libdir}/cmake/TBB
-# Build cmake config files
-cmake -DINSTALL_DIR=%{buildroot}%{_libdir}/cmake/TBB \
-      -DSYSTEM_NAME=Linux \
-      -DTBB_VERSION_FILE=%{buildroot}%{_includedir}/tbb/tbb_stddef.h \
-      -DLIB_REL_PATH="../../" \
-      -P cmake/tbb_config_installer.cmake
-
-export TBBROOT=$PWD
-. build/obj_release/tbbvars.sh
-%if %{with python2} || %{with python3}
+%if %{with python3}
 pushd python
 %python_install
 %python_expand %fdupes %{buildroot}%{$python_sitearch}
 popd
 %endif
 
-%if %{with python2} || %{with python3}
+# we install it into the devel package docdir
+rm -r %{buildroot}%{_datadir}/doc/TBB
+
 %check
+%if %{with test}
+%ctest --exclude-regex python_test
+%endif
+# always test python modules, if they are built
+%if %{with python3}
 # avoid shuffling the existing build dir
 mkdir python-test
 pushd python-test
-export LD_LIBRARY_PATH="%{buildroot}%{_libdir}:../python/rml"
+export LD_LIBRARY_PATH="%{buildroot}%{_libdir}"
 %python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python -m tbb test 
-v
 popd
 %endif
 
 %post -n libtbb%{so_ver} -p /sbin/ldconfig
 %postun -n libtbb%{so_ver} -p /sbin/ldconfig
-%post -n libtbbmalloc%{so_ver} -p /sbin/ldconfig
-%postun -n libtbbmalloc%{so_ver} -p /sbin/ldconfig
+%post -n libtbbmalloc%{so_ver_malloc} -p /sbin/ldconfig
+%postun -n libtbbmalloc%{so_ver_malloc} -p /sbin/ldconfig
+%post -n libirml%{so_ver_irml} -p /sbin/ldconfig
+%postun -n libirml%{so_ver_irml} -p /sbin/ldconfig
+%post -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind} -p /sbin/ldconfig
+%postun -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind} -p /sbin/ldconfig
 
 %files -n libtbb%{so_ver}
 %{_libdir}/libtbb.so.%{so_ver}*
 
-%if %{with python2} && ! 0%{?python_subpackage_only}
-%files -n python2-%{name}
-%{python2_sitearch}/tbb
-%{python2_sitearch}/TBB.py*
-%{python2_sitearch}/TBB-%{version}*-info
-%endif
-
-%if %{with python3} || ( %{with python2} && 0%{?python_subpackage_only} )
-%files %{python_files %{name}}
-%{python_sitearch}/tbb
-%{python_sitearch}/TBB.py*
-%{python_sitearch}/TBB-%{version}*-info
-%pycache_only %{python_sitearch}/__pycache__/TBB*
-%endif
+%files -n libtbbmalloc%{so_ver_malloc}
+%{_libdir}/libtbbmalloc.so.%{so_ver_malloc}*
+%{_libdir}/libtbbmalloc_proxy.so.%{so_ver_malloc}*
 
-%files -n libtbbmalloc%{so_ver}
-%{_libdir}/libtbbmalloc.so.%{so_ver}*
-%{_libdir}/libtbbmalloc_proxy.so.%{so_ver}*
+%files -n libtbbbind%{tbbbind_suffix}-%{so_ver_bind}
+%{_libdir}/libtbbbind%{tbbbind_suffix}.so.%{so_ver_bind}*
 
 %files devel
-%license LICENSE
-%doc CHANGES doc/Release_Notes.txt
+%license LICENSE.txt
+%doc README.md
 %{_includedir}/tbb/
+%{_includedir}/oneapi/
 %{_libdir}/cmake/TBB
+%{_libdir}/pkgconfig/tbb*.pc
 %{_libdir}/libtbb.so
 %{_libdir}/libtbbmalloc.so
 %{_libdir}/libtbbmalloc_proxy.so
+%{_libdir}/libtbbbind%{tbbbind_suffix}.so
+%if %{with python3}
+%{_libdir}/libirml.so
+%endif
+
+%if %{with python3}
+%files -n libirml%{so_ver_irml}
+%{_libdir}/libirml.so.%{so_ver_irml}*
+
+%files %{python_files %{name}}
+%{python_sitearch}/tbb
+%{python_sitearch}/TBB.py*
+%{python_sitearch}/TBB-%{version}*-info
+%pycache_only %{python_sitearch}/__pycache__/TBB*
+%endif
 
 %changelog

++++++ _constraints ++++++
<constraints>
  <hardware>
    <memory>
      <size unit="M">8000</size>
    </memory>
  <processors>4</processors>
  </hardware>  
</constraints>
++++++ cmake-remove-include-path.patch ++++++
--- /var/tmp/diff_new_pack.QHyueJ/_old  2021-11-20 02:38:51.252836773 +0100
+++ /var/tmp/diff_new_pack.QHyueJ/_new  2021-11-20 02:38:51.256836760 +0100
@@ -1,13 +1,13 @@
-Index: oneTBB-2020.2/cmake/templates/TBBConfigInternal.cmake.in
+Index: oneTBB-2021.3.0/cmake/templates/TBBConfig.cmake.in
 ===================================================================
---- oneTBB-2020.2.orig/cmake/templates/TBBConfigInternal.cmake.in
-+++ oneTBB-2020.2/cmake/templates/TBBConfigInternal.cmake.in
-@@ -57,8 +57,6 @@ foreach (_tbb_component ${TBB_FIND_COMPO
-     if (EXISTS "${_tbb_release_lib}" OR EXISTS "${_tbb_debug_lib}")
-         if (NOT TARGET TBB::${_tbb_component})
+--- oneTBB-2021.3.0.orig/cmake/templates/TBBConfig.cmake.in
++++ oneTBB-2021.3.0/cmake/templates/TBBConfig.cmake.in
+@@ -58,8 +58,6 @@ foreach (_tbb_component ${TBB_FIND_COMPO
              add_library(TBB::${_tbb_component} SHARED IMPORTED)
+ 
+             get_filename_component(_tbb_include_dir 
"${_tbb_root}/@TBB_INC_REL_PATH@" ABSOLUTE)
 -            set_target_properties(TBB::${_tbb_component} PROPERTIES
--                                INTERFACE_INCLUDE_DIRECTORIES 
"${_tbb_root}/include"@TBB_COMPILE_DEFINITIONS@)
+-                                  INTERFACE_INCLUDE_DIRECTORIES 
"${_tbb_include_dir}"@TBB_COMPILE_DEFINITIONS@)
+             unset(_tbb_current_realpath)
+             unset(_tbb_include_dir)
  
-             if (EXISTS "${_tbb_release_lib}")
-                 set_target_properties(TBB::${_tbb_component} PROPERTIES

++++++ tbb-2020.3.tar.gz -> tbb-2021.4.0.tar.gz ++++++
++++ 438691 lines of diff (skipped)

++++++ tbb-pr609-32bit-mwaitpkg.patch ++++++
>From 542a27fa1cfafaf76772e793549d9f4d288d03a9 Mon Sep 17 00:00:00 2001
From: Ilya Isaev <ilya.is...@intel.com>
Date: Fri, 8 Oct 2021 10:18:16 +0300
Subject: [PATCH] Detect 32 bit x86 systems while adding -mwaitpkg option

Signed-off-by: Ilya Isaev <ilya.is...@intel.com>
---
 cmake/compilers/Clang.cmake | 2 +-
 cmake/compilers/GNU.cmake   | 2 +-
 cmake/compilers/MSVC.cmake  | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/cmake/compilers/Clang.cmake b/cmake/compilers/Clang.cmake
index bb7401e34..d551d3be2 100644
--- a/cmake/compilers/Clang.cmake
+++ b/cmake/compilers/Clang.cmake
@@ -44,7 +44,7 @@ if (NOT TBB_STRICT AND COMMAND tbb_remove_compile_flag)
 endif()
 
 # Enable Intel(R) Transactional Synchronization Extensions (-mrtm) and WAITPKG 
instructions support (-mwaitpkg) on relevant processors
-if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64)")
+if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64|i.86)")
     set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm 
$<$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},12.0>>:-mwaitpkg>)
 endif()
 
diff --git a/cmake/compilers/GNU.cmake b/cmake/compilers/GNU.cmake
index 86958e3a8..fee1c3bc2 100644
--- a/cmake/compilers/GNU.cmake
+++ b/cmake/compilers/GNU.cmake
@@ -36,7 +36,7 @@ if (NOT CMAKE_GENERATOR MATCHES "Ninja" AND NOT 
CMAKE_CXX_DEPENDS_USE_COMPILER)
 endif()
 
 # Enable Intel(R) Transactional Synchronization Extensions (-mrtm) and WAITPKG 
instructions support (-mwaitpkg) on relevant processors
-if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64)")
+if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64|i.86)")
     set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm 
$<$<AND:$<NOT:$<CXX_COMPILER_ID:Intel>>,$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},11.0>>>:-mwaitpkg>)
 endif()
 
diff --git a/cmake/compilers/MSVC.cmake b/cmake/compilers/MSVC.cmake
index acf0952cf..2d2c29a6f 100644
--- a/cmake/compilers/MSVC.cmake
+++ b/cmake/compilers/MSVC.cmake
@@ -72,7 +72,7 @@ if (TBB_WINDOWS_DRIVER)
 endif()
 
 if (CMAKE_CXX_COMPILER_ID MATCHES "(Clang|IntelLLVM)")
-    if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64)")
+    if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64|i.86)")
         set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm 
-mwaitpkg)
     endif()
     set(TBB_OPENMP_NO_LINK_FLAG TRUE)
++++++ tbb-rpmlintrc ++++++
# loaded with ctypes by python package
addFilter("explicit-lib-dependency libirml1")

Reply via email to