Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package occt for openSUSE:Factory checked in 
at 2022-07-06 15:41:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/occt (Old)
 and      /work/SRC/openSUSE:Factory/.occt.new.1548 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "occt"

Wed Jul  6 15:41:46 2022 rev:9 rq:986904 version:7.6.2

Changes:
--------
--- /work/SRC/openSUSE:Factory/occt/occt.changes        2022-07-02 
15:34:24.507005716 +0200
+++ /work/SRC/openSUSE:Factory/.occt.new.1548/occt.changes      2022-07-06 
15:41:57.990514306 +0200
@@ -1,0 +2,9 @@
+Mon Jul  4 22:42:11 UTC 2022 - Stefan Br??ns <[email protected]>
+
+- Use verifiable source tarball from upstream
+- Use soversion including minor version (i.e. 7_6) to avoid
+  incompatibilities due to ABI changes:
+  https://tracker.dev.opencascade.org/view.php?id=32856, add
+  fix_soversion_minor.patch
+
+-------------------------------------------------------------------

Old:
----
  _service
  occt-7.6.2.obscpio
  occt.obsinfo

New:
----
  fix_soversion_minor.patch
  occt-7.6.2.tar.gz

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

Other differences:
------------------
++++++ occt.spec ++++++
--- /var/tmp/diff_new_pack.wSIEi7/_old  2022-07-06 15:41:59.582516651 +0200
+++ /var/tmp/diff_new_pack.wSIEi7/_new  2022-07-06 15:41:59.586516658 +0200
@@ -16,10 +16,13 @@
 #
 
 
+%define OCCT_TAG 7_6_2
+
 Name:           occt
 Version:        7.6.2
 Release:        0
-%define soname 7
+%define soname 7_6
+%define sover  7.6
 Summary:        OpenCASCADE Official Edition
 License:        LGPL-2.1-only WITH OCCT-exception-1.0
 Group:          Productivity/Graphics/CAD
@@ -27,7 +30,9 @@
 # Password protected URL, factory validation will fail
 # 
https://www.opencascade.com/sites/default/files/private/occt/OCC_%%{version}_release/opencascade-%%{version}.tgz
 # getting it from git for patch level releases not existing as tar ball
-Source0:        occt-%{version}.tar.xz
+Source0:        
https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V%{OCCT_TAG}.tar.gz#/occt-%{version}.tar.gz
+# PATCH-FIX_UPSTREAM - include minor version in SOVERSION
+Patch0:         
https://git.dev.opencascade.org/gitweb/?p=occt.git;a=patch;h=75e2ba16951821ab6b435929272445d993845235#/fix_soversion_minor.patch
 Patch1:         fix_build.patch
 Provides:       OpenCASCADE = %{version}
 BuildRequires:  bison
@@ -89,6 +94,7 @@
 Summary:        OpenCASCADE libraries
 Group:          System/Libraries
 Requires:       %{name}-resources
+Obsoletes:      libopencascade7 = 7.6.2
 
 %description -n libopencascade%{soname}
 This package contain the needed libraries for OpenCASCADE
@@ -102,7 +108,7 @@
 This package contains the DRAWEXE executable of OpenCASCADE.
 
 %prep
-%autosetup -p1
+%autosetup -p1 -n OCCT-%{OCCT_TAG}
 
 %build
 %cmake \
@@ -115,8 +121,7 @@
 %cmake_build
 
 cd ..
-# Sidestep gendoc error (#32156) by adding -pdf option
-./gendoc -refman -html -pdf -mathjax="%{_datadir}/javascript/mathjax"
+./gendoc -refman -html -mathjax="%{_datadir}/javascript/mathjax"
 
 %install
 %cmake_install
@@ -127,10 +132,11 @@
 # fixing up broken files
 sed -i -e 's,'%{_lib}'\\${OCCT_INSTALL_BIN_LETTER}/,'%{_lib}'/,' 
%{buildroot}%{_libdir}/cmake/opencascade/*
 sed -i -e 's,/lib\$,/'%{_lib}'\$,' %{buildroot}%{_libdir}/cmake/opencascade/*
+grep -C5 -E "BIN_LETTER|/lib" %{buildroot}%{_libdir}/cmake/opencascade/*
 
 rm -rf %buildroot/usr/share/doc
 
-%fdupes -s %{buildroot}
+%fdupes %{buildroot}%{_datadir}
 
 %post -n libopencascade%{soname} -p /sbin/ldconfig
 
@@ -138,7 +144,7 @@
 
 %files -n libopencascade%{soname}
 %license LICENSE_LGPL_21.txt OCCT_LGPL_EXCEPTION.txt
-%_libdir/lib*.so.%{soname}*
+%_libdir/lib*.so.%{sover}*
 
 %files resources
 %dir %{_datadir}/opencascade

++++++ fix_soversion_minor.patch ++++++
>From 75e2ba16951821ab6b435929272445d993845235 Mon Sep 17 00:00:00 2001
From: kgv <[email protected]>
Date: Sat, 26 Feb 2022 19:29:44 +0300
Subject: [PATCH] 0032856: Configuration, CMake - SONAME should include minor
 version in addition to major to reflect ABI compatibility

Added option BUILD_SOVERSION_NUMBERS to manage SOVERSION length.
Default option value is set to 2 (major.minor) instead of previously used 1 
(major),
excluding Android/Emscripten/Windows platforms that use 0 by default.
---
 CMakeLists.txt               | 14 ++++++++++++++
 adm/cmake/occt_toolkit.cmake | 17 ++++++++++-------
 adm/cmake/vardescr.cmake     |  3 +++
 adm/qmake/OccToolkit.pri     | 12 +++++++++++-
 4 files changed, 38 insertions(+), 8 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index e6ad20280a..23dd2d377b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -56,6 +56,20 @@ set_property (GLOBAL PROPERTY OCC_VERSION_MAJOR 
${OCC_VERSION_MAJOR})
 set_property (GLOBAL PROPERTY OCC_VERSION_MINOR ${OCC_VERSION_MINOR})
 set_property (GLOBAL PROPERTY OCC_VERSION_MAINTENANCE 
${OCC_VERSION_MAINTENANCE})
 
+# set soversion variable determining compatibility version on platforms with 
symlinks
+# 0 - for empty, 1 - for major, 2 - for major.minor, 3 - for 
major.minor.maintenance
+if (NOT BUILD_SOVERSION_NUMBERS)
+  set (BUILD_SOVERSION_NUMBERS "0" CACHE STRING 
"${BUILD_SOVERSION_NUMBERS_DESCR}" FORCE)
+  SET_PROPERTY(CACHE BUILD_SOVERSION_NUMBERS PROPERTY STRINGS 0 1 2 3)
+
+  # update default state of soversion on different platforms
+  if (WIN32 OR ANDROID OR EMSCRIPTEN)
+    set (BUILD_SOVERSION_NUMBERS 0)
+  else()
+    set (BUILD_SOVERSION_NUMBERS 2)
+  endif()
+endif()
+
 set (INSTALL_TEST_CASES OFF CACHE BOOL "${INSTALL_TEST_CASES_DESCR}")
 
 # Regeneration of OCCT resource files
diff --git a/adm/cmake/occt_toolkit.cmake b/adm/cmake/occt_toolkit.cmake
index 2f96c6f148..b3c83067b8 100644
--- a/adm/cmake/occt_toolkit.cmake
+++ b/adm/cmake/occt_toolkit.cmake
@@ -280,14 +280,17 @@ get_property (OCC_VERSION_MAJOR GLOBAL PROPERTY 
OCC_VERSION_MAJOR)
 get_property (OCC_VERSION_MINOR GLOBAL PROPERTY OCC_VERSION_MINOR)
 get_property (OCC_VERSION_MAINTENANCE GLOBAL PROPERTY OCC_VERSION_MAINTENANCE)
 
-if (ANDROID)
-  # do not append version to the filename
-  set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS 
"${PRECOMPILED_DEFS}")
-else()
-  set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS 
"${PRECOMPILED_DEFS}"
-                                                    SOVERSION     
"${OCC_VERSION_MAJOR}"
-                                                    VERSION       
"${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}")
+set (OCC_SOVERSION "")
+if (BUILD_SOVERSION_NUMBERS GREATER 2)
+  set (OCC_SOVERSION 
"${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}")
+elseif (BUILD_SOVERSION_NUMBERS GREATER 1)
+  set (OCC_SOVERSION "${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}")
+elseif (BUILD_SOVERSION_NUMBERS GREATER 0)
+  set (OCC_SOVERSION "${OCC_VERSION_MAJOR}")
 endif()
+set_target_properties (${PROJECT_NAME} PROPERTIES COMPILE_FLAGS 
"${PRECOMPILED_DEFS}"
+                                                  SOVERSION     
"${OCC_SOVERSION}"
+                                                  VERSION       
"${OCC_VERSION_MAJOR}.${OCC_VERSION_MINOR}.${OCC_VERSION_MAINTENANCE}")
 
 set (USED_TOOLKITS_BY_CURRENT_PROJECT)
 set (USED_EXTERNAL_LIBS_BY_CURRENT_PROJECT)
diff --git a/adm/cmake/vardescr.cmake b/adm/cmake/vardescr.cmake
index 0733af0ac2..8212a0308b 100644
--- a/adm/cmake/vardescr.cmake
+++ b/adm/cmake/vardescr.cmake
@@ -28,6 +28,9 @@ Applies only for Debug configuration.")
 set (BUILD_SHARED_LIBRARY_NAME_POSTFIX_DESCR
 "Append the postfix to names of output libraries")
 
+set (BUILD_SOVERSION_NUMBERS_DESCR
+"Version numbers to put into SONAME: 0 - for empty, 1 - for major, 2 - for 
major.minor, 3 - for major.minor.maintenance")
+
 set (BUILD_RELEASE_DISABLE_EXCEPTIONS_DESCR
 "Disables exceptions like Standard_OutOfRange in Release builds.
 Defines No_Exception macros for Release builds when enabled (default).
diff --git a/adm/qmake/OccToolkit.pri b/adm/qmake/OccToolkit.pri
index 9bc54d1cdb..3f18edb1cf 100644
--- a/adm/qmake/OccToolkit.pri
+++ b/adm/qmake/OccToolkit.pri
@@ -132,21 +132,31 @@ for (aPackage, aPackages) {
   }
 }
 
-# extend clean with versioned .so files
 !win32 {
   aVerList = $$split(VERSION, ".")
   aVerMaj = $$member(aVerList, 0)
   aVerMin = $$member(aVerList, 1)
   aVerMic = $$member(aVerList, 2)
+
   equals(TEMPLATE, app) {
     QMAKE_CLEAN += $$DESTDIR/$${TARGET}
   } else {
     mac {
+      # override qmake soname versionong logic
+      QMAKE_LFLAGS_SONAME =
+      QMAKE_LFLAGS += -Wl,-soname=lib$${TARGET}.dylib.$${aVerMaj}.$${aVerMin}
+
+      # extend clean with versioned .dylib files
       QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.dylib
       QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.$${aVerMaj}.dylib
       QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.$${aVerMaj}.$${aVerMin}.dylib
       QMAKE_CLEAN += 
$$DESTDIR/lib$${TARGET}.$${aVerMaj}.$${aVerMin}.$${aVerMic}.dylib
     } else {
+      # override qmake soname versionong logic
+      QMAKE_LFLAGS_SONAME =
+      QMAKE_LFLAGS += -Wl,-soname=lib$${TARGET}.so.$${aVerMaj}.$${aVerMin}
+
+      # extend clean with versioned .so files
       QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.so
       QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.so.$${aVerMaj}
       QMAKE_CLEAN += $$DESTDIR/lib$${TARGET}.so.$${aVerMaj}.$${aVerMin}
-- 
2.20.1

Reply via email to