Update to 23.11 (close RHBZ#2246597)

This commit is contained in:
Benjamin A. Beasley 2023-10-27 13:42:55 -04:00
commit eb100cb32c
5 changed files with 86 additions and 39 deletions

1
.gitignore vendored
View file

@ -10,3 +10,4 @@
/usd-23.02.tar.gz
/usd-23.05.tar.gz
/OpenUSD-23.08.tar.gz
/OpenUSD-23.11.tar.gz

View file

@ -0,0 +1,79 @@
From 7bb13a999b2d3afe13ddad0a7bd8da1e4f99ff09 Mon Sep 17 00:00:00 2001
From: "Benjamin A. Beasley" <code@musicinmybrain.net>
Date: Fri, 27 Oct 2023 12:56:58 -0400
Subject: [PATCH] Downstream-only: add an SONAME version
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Upstream was asked about .so versioning and setting SONAME properly and
seemed unprepared to handle the request:
https://github.com/PixarAnimationStudios/USD/issues/1259#issuecomment-657120216
A patch was offered:
https://github.com/PixarAnimationStudios/USD/issues/1387
but it was not sufficient for the general case, since (1) it only handled the
monolithic build, and (2) it derived the .so version from PXR_MAJOR_VERSION,
which is *not* reliably bumped on API or ABI changes, and currently is still
zero.
We will therefore probably need to keep doing downstream .so versioning for
the foreseeable future. Currently we are assuming that the ABI is likely to
change on every release (an appropriate assumption for a large C++ project
with no ABI stability policy), so we build the .so version from the project
version. Note that the “hidden” major version is zero, so this complies with
the “0.” prefix recommended in the packaging guidelines.
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning
A known defect of this patch is that it causes the hdTiny.so example plugin
to be versioned as well, which is undesired. This is not a serious problem
because we do not want to package the built plugin anyway. (It should not be
built with -DPXR_BUILD_EXAMPLES=OFF, but it is.)
---
cmake/defaults/Version.cmake | 6 ++++++
cmake/macros/Private.cmake | 1 +
cmake/macros/Public.cmake | 1 +
3 files changed, 8 insertions(+)
diff --git a/cmake/defaults/Version.cmake b/cmake/defaults/Version.cmake
index 1406ac2a9..197377ff2 100644
--- a/cmake/defaults/Version.cmake
+++ b/cmake/defaults/Version.cmake
@@ -27,3 +27,9 @@ set(PXR_MINOR_VERSION "23")
set(PXR_PATCH_VERSION "11") # NOTE: Must not have leading 0 for single digits
math(EXPR PXR_VERSION "${PXR_MAJOR_VERSION} * 10000 + ${PXR_MINOR_VERSION} * 100 + ${PXR_PATCH_VERSION}")
+
+set(PXR_DOWNSTREAM_SOVERSION "${PXR_MAJOR_VERSION}.${PXR_MINOR_VERSION}.${PXR_PATCH_VERSION}"
+ CACHE
+ STRING
+ "Downstream shared object version"
+)
diff --git a/cmake/macros/Private.cmake b/cmake/macros/Private.cmake
index 21606d4d6..4cf8aeeb6 100644
--- a/cmake/macros/Private.cmake
+++ b/cmake/macros/Private.cmake
@@ -1299,6 +1299,7 @@ function(_pxr_library NAME)
IMPORT_PREFIX "${args_PREFIX}"
PREFIX "${args_PREFIX}"
SUFFIX "${args_SUFFIX}"
+ SOVERSION ${PXR_DOWNSTREAM_SOVERSION}
)
target_compile_definitions(${NAME}
diff --git a/cmake/macros/Public.cmake b/cmake/macros/Public.cmake
index 2080d7a36..2642b603f 100644
--- a/cmake/macros/Public.cmake
+++ b/cmake/macros/Public.cmake
@@ -1007,6 +1007,7 @@ function(pxr_toplevel_prologue)
FOLDER "${folder}"
PREFIX "${libPrefix}"
IMPORT_PREFIX "${libPrefix}"
+ SOVERSION ${PXR_DOWNSTREAM_SOVERSION}
)
_get_install_dir("lib" libInstallPrefix)
install(
--
2.41.0

View file

@ -1 +1 @@
SHA512 (OpenUSD-23.08.tar.gz) = cf5f2bff2b15427bfbac2155be39b17b0f66e50176a567a4c55fa4d220d89e8b7c82753f42cd0e9398b0e567bd90391ea976155d42b343a5168d41f6a3767957
SHA512 (OpenUSD-23.11.tar.gz) = a6f718c8c227cabcc467de80bd5197470bcf335aaf1738e49e37d8d0fa4b47a0c0d9dc1518032de8c603e3ef303d22f9960504caeede4c5053ab1d3c84987304

View file

@ -1,35 +0,0 @@
diff -Naur OpenUSD-23.08-original/cmake/defaults/Version.cmake OpenUSD-23.08/cmake/defaults/Version.cmake
--- OpenUSD-23.08-original/cmake/defaults/Version.cmake 2023-07-21 17:08:46.000000000 -0400
+++ OpenUSD-23.08/cmake/defaults/Version.cmake 2023-08-23 15:54:51.498808451 -0400
@@ -27,3 +27,9 @@
set(PXR_PATCH_VERSION "8") # NOTE: Must not have leading 0 for single digits
math(EXPR PXR_VERSION "${PXR_MAJOR_VERSION} * 10000 + ${PXR_MINOR_VERSION} * 100 + ${PXR_PATCH_VERSION}")
+
+set(PXR_DOWNSTREAM_SOVERSION "${PXR_MAJOR_VERSION}.${PXR_MINOR_VERSION}.${PXR_PATCH_VERSION}"
+ CACHE
+ STRING
+ "Downstream shared object version"
+)
diff -Naur OpenUSD-23.08-original/cmake/macros/Private.cmake OpenUSD-23.08/cmake/macros/Private.cmake
--- OpenUSD-23.08-original/cmake/macros/Private.cmake 2023-07-21 17:08:46.000000000 -0400
+++ OpenUSD-23.08/cmake/macros/Private.cmake 2023-08-23 15:54:51.498808451 -0400
@@ -1299,6 +1299,7 @@
IMPORT_PREFIX "${args_PREFIX}"
PREFIX "${args_PREFIX}"
SUFFIX "${args_SUFFIX}"
+ SOVERSION ${PXR_DOWNSTREAM_SOVERSION}
)
target_compile_definitions(${NAME}
diff -Naur OpenUSD-23.08-original/cmake/macros/Public.cmake OpenUSD-23.08/cmake/macros/Public.cmake
--- OpenUSD-23.08-original/cmake/macros/Public.cmake 2023-07-21 17:08:46.000000000 -0400
+++ OpenUSD-23.08/cmake/macros/Public.cmake 2023-08-23 15:54:51.499808464 -0400
@@ -1003,6 +1003,7 @@
FOLDER "${folder}"
PREFIX "${libPrefix}"
IMPORT_PREFIX "${libPrefix}"
+ SOVERSION ${PXR_DOWNSTREAM_SOVERSION}
)
_get_install_dir("lib" libInstallPrefix)
install(

View file

@ -2,7 +2,7 @@
# package version, as a reminder of the need to rebuild dependent packages on
# every update. See additional notes near the downstream ABI versioning patch.
# It should be 0.MAJOR.MINOR without leading zeros, e.g. 22.03 → 0.22.3.
%global downstream_so_version 0.23.8
%global downstream_so_version 0.23.11
%bcond alembic 1
%bcond draco 1
@ -31,7 +31,7 @@
%bcond test 0
Name: usd
Version: 23.08
Version: 23.11
Release: %autorelease
Summary: 3D VFX pipeline interchange file format
@ -84,6 +84,8 @@ Source1: org.openusd.usdview.desktop
# stbi_set_unpremultiply_on_load_thread.
Source2: stb_image.patch
# Downstream-only: add an SONAME version
#
# Upstream was asked about .so versioning and setting SONAME properly and
# seemed unprepared to handle the request:
# https://github.com/PixarAnimationStudios/USD/issues/1259#issuecomment-657120216
@ -108,7 +110,7 @@ Source2: stb_image.patch
# to be versioned as well, which is undesired. This is not a serious problem
# because we do not want to package the built plugin anyway. (It should not be
# built with -DPXR_BUILD_EXAMPLES=OFF, but it is.)
Patch: usd-23.08-soversion.patch
Patch: 0001-Downstream-only-add-an-SONAME-version.patch
# Port to Embree 4.x
# https://github.com/PixarAnimationStudios/USD/pull/2266