Spec URL: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-rawhide-x86_64/01746596-usd/usd.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-rawhide-x86_64/01746596-usd/usd-20.11-1.fc34.src.rpm Description: Universal Scene Description (USD) is a time-sampled scene description for interchange between graphics applications. Fedora Account System Username: luya
Add dependencies to ptex
- Valid license shorthand is ASL 2.0 without -: License: ASL 2.0 - Did upstream refuse to version the library? - Missing arch specific info (isa) Requires: %{name}%{?_isa} = %{version} - Not needed: %dir %{python_sitearch}/pxr - Maybe these .so are plugins that should go in the main package, I'm not sure though, I don't know how the program opens them /usr/lib64/libar.so /usr/lib64/libarch.so /usr/lib64/libcameraUtil.so /usr/lib64/libgarch.so /usr/lib64/libgf.so /usr/lib64/libglf.so /usr/lib64/libhd.so /usr/lib64/libhdSt.so /usr/lib64/libhdx.so /usr/lib64/libhf.so /usr/lib64/libhgi.so /usr/lib64/libhgiGL.so /usr/lib64/libhgiInterop.so /usr/lib64/libhio.so /usr/lib64/libjs.so /usr/lib64/libkind.so /usr/lib64/libndr.so /usr/lib64/libpcp.so /usr/lib64/libplug.so /usr/lib64/libpxOsd.so /usr/lib64/libsdf.so /usr/lib64/libsdr.so /usr/lib64/libtf.so /usr/lib64/libtrace.so /usr/lib64/libusd.so /usr/lib64/libusdAppUtils.so /usr/lib64/libusdGeom.so /usr/lib64/libusdHydra.so /usr/lib64/libusdImaging.so /usr/lib64/libusdImagingGL.so /usr/lib64/libusdLux.so /usr/lib64/libusdMedia.so /usr/lib64/libusdRender.so /usr/lib64/libusdRi.so /usr/lib64/libusdRiImaging.so /usr/lib64/libusdShade.so /usr/lib64/libusdSkel.so /usr/lib64/libusdSkelImaging.so /usr/lib64/libusdUI.so /usr/lib64/libusdUtils.so /usr/lib64/libusdVol.so /usr/lib64/libusdVolImaging.so /usr/lib64/libvt.so /usr/lib64/libwork.so - Fix line encoding: usd-libs.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/usd-libs/NOTICE.txt - Don't mix tabs and spaces: usd.src:7: W: mixed-use-of-spaces-and-tabs (spaces: line 7, tab: line 4) %global libmajor 0 %global srcname USD Patch: %{srcname}-20.05-soversion.patch BuildRequires: pkgconfig(jemalloc) ExclusiveArch: x86_64
(In reply to Robert-André Mauchin 🐧 from comment #2) > - Valid license shorthand is ASL 2.0 without -: > > License: ASL 2.0 Fixed. > - Did upstream refuse to version the library? Patch sent. > > - Missing arch specific info (isa) > > Requires: %{name}%{?_isa} = %{version} > Fixed > - Not needed: > > %dir %{python_sitearch}/pxr > Removed > - Maybe these .so are plugins that should go in the main package, I'm not > sure though, I don't know how the program opens them > > /usr/lib64/libar.so > /usr/lib64/libarch.so > /usr/lib64/libcameraUtil.so > /usr/lib64/libgarch.so > /usr/lib64/libgf.so > /usr/lib64/libglf.so > /usr/lib64/libhd.so > /usr/lib64/libhdSt.so > /usr/lib64/libhdx.so > /usr/lib64/libhf.so > /usr/lib64/libhgi.so > /usr/lib64/libhgiGL.so > /usr/lib64/libhgiInterop.so > /usr/lib64/libhio.so > /usr/lib64/libjs.so > /usr/lib64/libkind.so > /usr/lib64/libndr.so > /usr/lib64/libpcp.so > /usr/lib64/libplug.so > /usr/lib64/libpxOsd.so > /usr/lib64/libsdf.so > /usr/lib64/libsdr.so > /usr/lib64/libtf.so > /usr/lib64/libtrace.so > /usr/lib64/libusd.so > /usr/lib64/libusdAppUtils.so > /usr/lib64/libusdGeom.so > /usr/lib64/libusdHydra.so > /usr/lib64/libusdImaging.so > /usr/lib64/libusdImagingGL.so > /usr/lib64/libusdLux.so > /usr/lib64/libusdMedia.so > /usr/lib64/libusdRender.so > /usr/lib64/libusdRi.so > /usr/lib64/libusdRiImaging.so > /usr/lib64/libusdShade.so > /usr/lib64/libusdSkel.so > /usr/lib64/libusdSkelImaging.so > /usr/lib64/libusdUI.so > /usr/lib64/libusdUtils.so > /usr/lib64/libusdVol.so > /usr/lib64/libusdVolImaging.so > /usr/lib64/libvt.so > /usr/lib64/libwork.so > Those are for devel subpackage. > > - Fix line encoding: > > usd-libs.x86_64: W: wrong-file-end-of-line-encoding > /usr/share/doc/usd-libs/NOTICE.txt > > - Don't mix tabs and spaces: > > > usd.src:7: W: mixed-use-of-spaces-and-tabs (spaces: line 7, tab: line 4) > > > Fixed. Updated SPEC: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-33-x86_64/01784072-usd/usd.spec SRPM: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-33-x86_64/01784072-usd/usd-20.11-2.fc33.x86_64.rpm
(In reply to Luya Tshimbalanga from comment #3) > (In reply to Robert-André Mauchin 🐧 from comment #2) > > - Valid license shorthand is ASL 2.0 without -: > > > > License: ASL 2.0 > > Fixed. > > > - Did upstream refuse to version the library? > Patch sent. > > > > > - Missing arch specific info (isa) > > > > Requires: %{name}%{?_isa} = %{version} > > > > Fixed > This needs to be in the devel package, not the libs one
(In reply to Robert-André Mauchin 🐧 from comment #4) > > > > > > - Missing arch specific info (isa) > > > > > > Requires: %{name}%{?_isa} = %{version} > > > > > > > Fixed > > > This needs to be in the devel package, not the libs one Done. Here is the latest spec SPEC: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-rawhide-x86_64/01890382-usd/usd.spec SRPM: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-rawhide-x86_64/01890382-usd/usd-21.02-1.fc34.src.rpm
Created attachment 1750235 [details] Mock build log Fails to build in mock for me. Log attached.
This seems to be the relevant bit of compiler-spew: In file included from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/cxxabi.h:219:47: error: invalid use of incomplete type 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 219 | class __fundamental_type_info : public std::type_info | ^~~~~~~~~ In file included from /usr/include/c++/11/cxxabi.h:52, from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/bits/cxxabi_init_exception.h:52:9: note: forward declaration of 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 52 | class type_info; | ^~~~~~~~~ In file included from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/cxxabi.h: In constructor 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__fundamental_type_info::__fundamental_type_info(const char*)': /usr/include/c++/11/cxxabi.h:223:53: error: type 'pxrInternal_v0_21__pxrReserved__::std::type_info' is not a direct base of 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__fundamental_type_info' 223 | __fundamental_type_info(const char* __n) : std::type_info(__n) { } | ^~~~~~~~~ /usr/include/c++/11/cxxabi.h: At global scope: /usr/include/c++/11/cxxabi.h:230:41: error: invalid use of incomplete type 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 230 | class __array_type_info : public std::type_info | ^~~~~~~~~ In file included from /usr/include/c++/11/cxxabi.h:52, from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/bits/cxxabi_init_exception.h:52:9: note: forward declaration of 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 52 | class type_info; | ^~~~~~~~~ In file included from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/cxxabi.h: In constructor 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__array_type_info::__array_type_info(const char*)': /usr/include/c++/11/cxxabi.h:234:47: error: type 'pxrInternal_v0_21__pxrReserved__::std::type_info' is not a direct base of 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__array_type_info' 234 | __array_type_info(const char* __n) : std::type_info(__n) { } | ^~~~~~~~~ /usr/include/c++/11/cxxabi.h: At global scope: /usr/include/c++/11/cxxabi.h:241:44: error: invalid use of incomplete type 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 241 | class __function_type_info : public std::type_info | ^~~~~~~~~ In file included from /usr/include/c++/11/cxxabi.h:52, from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/bits/cxxabi_init_exception.h:52:9: note: forward declaration of 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 52 | class type_info; | ^~~~~~~~~ In file included from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/cxxabi.h: In constructor 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__function_type_info::__function_type_info(const char*)': /usr/include/c++/11/cxxabi.h:245:50: error: type 'pxrInternal_v0_21__pxrReserved__::std::type_info' is not a direct base of 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__function_type_info' 245 | __function_type_info(const char* __n) : std::type_info(__n) { } | ^~~~~~~~~ /usr/include/c++/11/cxxabi.h: At global scope: /usr/include/c++/11/cxxabi.h:257:40: error: invalid use of incomplete type 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 257 | class __enum_type_info : public std::type_info | ^~~~~~~~~ In file included from /usr/include/c++/11/cxxabi.h:52, from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/bits/cxxabi_init_exception.h:52:9: note: forward declaration of 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 52 | class type_info; | ^~~~~~~~~ In file included from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/cxxabi.h: In constructor 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__enum_type_info::__enum_type_info(const char*)': /usr/include/c++/11/cxxabi.h:261:46: error: type 'pxrInternal_v0_21__pxrReserved__::std::type_info' is not a direct base of 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__enum_type_info' 261 | __enum_type_info(const char* __n) : std::type_info(__n) { } | ^~~~~~~~~ /usr/include/c++/11/cxxabi.h: At global scope: /usr/include/c++/11/cxxabi.h:268:41: error: invalid use of incomplete type 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 268 | class __pbase_type_info : public std::type_info | ^~~~~~~~~ In file included from /usr/include/c++/11/cxxabi.h:52, from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/bits/cxxabi_init_exception.h:52:9: note: forward declaration of 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 52 | class type_info; | ^~~~~~~~~ In file included from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/cxxabi.h: In constructor 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__pbase_type_info::__pbase_type_info(const char*, int, const pxrInternal_v0_21__pxrReserved__::std::type_info*)': /usr/include/c++/11/cxxabi.h:277:12: error: type 'pxrInternal_v0_21__pxrReserved__::std::type_info' is not a direct base of 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__pbase_type_info' 277 | : std::type_info(__n), __flags(__quals), __pointee(__type) | ^~~~~~~~~ /usr/include/c++/11/cxxabi.h: In member function 'virtual bool pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__pbase_type_info::__pointer_catch(const pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__pbase_type_info*, void**, unsigned int) const': /usr/include/c++/11/cxxabi.h:316:21: error: invalid use of incomplete type 'const class pxrInternal_v0_21__pxrReserved__::std::type_info' 316 | return __pointee->__do_catch (thrown_type->__pointee, thr_obj, outer + 2); | ^~ In file included from /usr/include/c++/11/cxxabi.h:52, from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/bits/cxxabi_init_exception.h:52:9: note: forward declaration of 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 52 | class type_info; | ^~~~~~~~~ [ 38%] Building CXX object pxr/base/arch/CMakeFiles/arch.dir/env.cpp.o cd /builddir/build/BUILD/USD-21.02/x86_64-redhat-linux-gnu/pxr/base/arch && /usr/bin/g++ -DARCH_EXPORTS=1 -DBOOST_PYTHON_NO_PY_SIGNATURES -DGLX_GLXEXT_PROTOTYPES -DGL_GLEXT_PROTOTYPES -DMFB_ALT_PACKAGE_NAME=arch -DMFB_PACKAGE_MODULE=Arch -DMFB_PACKAGE_NAME=arch -DPXR_BUILD_LOCATION=usd -DPXR_INSTALL_LOCATION=/usr/lib64/usd/plugin -DPXR_OCIO_PLUGIN_ENABLED -DPXR_OIIO_PLUGIN_ENABLED -DPXR_OPENVDB_SUPPORT_ENABLED -DPXR_PLUGIN_BUILD_LOCATION=..//usr/lib64/usd/plugin -DPXR_PYTHON_ENABLED=1 -DPXR_PYTHON_MODULES_ENABLED=1 -Darch_EXPORTS -I/builddir/build/BUILD/USD-21.02/x86_64-redhat-linux-gnu/include -Wall -pthread -Wno-deprecated -Wno-deprecated-declarations -Wno-unused-local-typedefs -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -Wl,--as-needed -DTBB_SUPPRESS_DEPRECATED_MESSAGES=1 -fPIC -std=c++14 -o CMakeFiles/arch.dir/env.cpp.o -c /builddir/build/BUILD/USD-21.02/pxr/base/arch/env.cpp In file included from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/cxxabi.h: At global scope: /usr/include/c++/11/cxxabi.h:410:41: error: invalid use of incomplete type 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 410 | class __class_type_info : public std::type_info | ^~~~~~~~~ In file included from /usr/include/c++/11/cxxabi.h:52, from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/bits/cxxabi_init_exception.h:52:9: note: forward declaration of 'class pxrInternal_v0_21__pxrReserved__::std::type_info' 52 | class type_info; | ^~~~~~~~~ In file included from /builddir/build/BUILD/USD-21.02/pxr/base/arch/demangle.cpp:141: /usr/include/c++/11/cxxabi.h:458:22: error: 'type_info' does not name a type 458 | __do_catch(const type_info* __thr_type, void** __thr_obj, | ^~~~~~~~~ /usr/include/c++/11/cxxabi.h: In constructor 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__class_type_info::__class_type_info(const char*)': /usr/include/c++/11/cxxabi.h:414:43: error: class 'pxrInternal_v0_21__pxrReserved__::__cxxabiv1::__class_type_info' does not have any field named 'type_info' 414 | __class_type_info (const char *__n) : type_info(__n) { } | ^~~~~~~~~ /usr/include/c++/11/cxxabi.h: At global scope: /usr/include/c++/11/cxxabi.h:705:3: error: expected class-name before '{' token 705 | { | ^
This would be a great package to get into Fedora. I’m not sure how to fix the build failure at a glance, but I’m going to keep an eye on this issue and will consider doing the review once it is resolved.
Thanks. The previous version built successfully before so it is a compiler issue.
I tried again to see if anything had changed; now there is a problem with openshadinglanguage in Rawhide: > Error: > Problem 1: package openshadinglanguage-devel-1.11.10.0-6.fc34.x86_64 requires liboslexec.so.1.11()(64bit), but none of the providers can be installed > - package openshadinglanguage-devel-1.11.10.0-6.fc34.x86_64 requires liboslquery.so.1.11()(64bit), but none of the providers can be installed > - package openshadinglanguage-devel-1.11.10.0-6.fc34.x86_64 requires liboslcomp.so.1.11()(64bit), but none of the providers can be installed > - package openshadinglanguage-devel-1.11.10.0-6.fc34.x86_64 requires liboslnoise.so.1.11()(64bit), but none of the providers can be installed > - package openshadinglanguage-devel-1.11.10.0-6.fc34.x86_64 requires libtestshade.so.1.11()(64bit), but none of the providers can be installed > - package openshadinglanguage-devel-1.11.10.0-6.fc34.x86_64 requires openshadinglanguage-libs(x86-64) = 1.11.10.0-6.fc34, but none of the providers can be installed > - conflicting requests > - nothing provides libboost_thread.so.1.73.0()(64bit) needed by openshadinglanguage-libs-1.11.10.0-6.fc34.x86_64 > Problem 2: package openshadinglanguage-1.11.10.0-6.fc34.x86_64 requires liboslexec.so.1.11()(64bit), but none of the providers can be installed > - package openshadinglanguage-1.11.10.0-6.fc34.x86_64 requires liboslquery.so.1.11()(64bit), but none of the providers can be installed > - package openshadinglanguage-1.11.10.0-6.fc34.x86_64 requires liboslcomp.so.1.11()(64bit), but none of the providers can be installed > - conflicting requests > - nothing provides libboost_thread.so.1.73.0()(64bit) needed by openshadinglanguage-libs-1.11.10.0-6.fc34.x86_64 This should get sorted out soon, since the mass rebuild just concluded. I’m guessing openshadinglanguage FTBFS with the new Boost. Probably we’ll be back to the same build failure at that point, but who knows‽
F-34 build tree now has openshadinglanguage-1.11.10.0-8.fc34 and dependency conflict against boost is now resolved. Now compiling usd-21.02-1.fc34.src.rpm shows the same error on comment 7: https://koji.fedoraproject.org/koji/taskinfo?taskID=61358957 ... and it seems that this error can be fixed with: ``` --- USD-21.02/pxr/base/arch/demangle.cpp.orig 2021-01-20 09:13:57.000000000 +0900 +++ USD-21.02/pxr/base/arch/demangle.cpp 2021-02-05 16:37:27.154126908 +0900 @@ -36,6 +36,7 @@ using std::string; #if (ARCH_COMPILER_GCC_MAJOR == 3 && ARCH_COMPILER_GCC_MINOR >= 1) || \ ARCH_COMPILER_GCC_MAJOR > 3 || defined(ARCH_COMPILER_CLANG) #define _AT_LEAST_GCC_THREE_ONE_OR_CLANG +#include <cxxabi.h> #endif PXR_NAMESPACE_OPEN_SCOPE @@ -138,7 +139,6 @@ _StripPxrInternalNamespace(string* name) #endif #if defined(_AT_LEAST_GCC_THREE_ONE_OR_CLANG) -#include <cxxabi.h> /* * This routine doesn't work when you get to gcc3.4. ``` I guess including system header later in the source confuses namespace, because this source uses "using namespace" and PXR_NAMESPACE_OPEN_SCOPE .
Note that there is another error: ``` /builddir/build/BUILD/USD-21.02/pxr/base/work/singularTask.h:123:21: error: 'size_t' was not declared in this scope; did you mean 'std::size_t'? 123 | size_t old = count; | ^~~~~~ | std::size_t In file included from /usr/include/c++/11/bits/atomic_base.h:35, from /usr/include/c++/11/atomic:41, from /builddir/build/BUILD/USD-21.02/pxr/base/work/singularTask.h:31, from /builddir/build/BUILD/USD-21.02/pxr/base/work/singularTask.cpp:24: /usr/include/c++/11/x86_64-redhat-linux/bits/c++config.h:2427:33: note: 'std::size_t' declared here 2427 | typedef __SIZE_TYPE__ size_t; | ^~~~~~ ```
(In reply to Mamoru TASAKA from comment #11) > F-34 build tree now has openshadinglanguage-1.11.10.0-8.fc34 and dependency > conflict against boost is now resolved. > > Now compiling usd-21.02-1.fc34.src.rpm shows the same error on comment 7: > https://koji.fedoraproject.org/koji/taskinfo?taskID=61358957 > > ... and it seems that this error can be fixed with: > > ``` > --- USD-21.02/pxr/base/arch/demangle.cpp.orig 2021-01-20 > 09:13:57.000000000 +0900 > +++ USD-21.02/pxr/base/arch/demangle.cpp 2021-02-05 > 16:37:27.154126908 +0900 > @@ -36,6 +36,7 @@ using std::string; > #if (ARCH_COMPILER_GCC_MAJOR == 3 && ARCH_COMPILER_GCC_MINOR >= 1) || \ > ARCH_COMPILER_GCC_MAJOR > 3 || defined(ARCH_COMPILER_CLANG) > #define _AT_LEAST_GCC_THREE_ONE_OR_CLANG > +#include <cxxabi.h> > #endif > > PXR_NAMESPACE_OPEN_SCOPE > @@ -138,7 +139,6 @@ _StripPxrInternalNamespace(string* name) > #endif > > #if defined(_AT_LEAST_GCC_THREE_ONE_OR_CLANG) > -#include <cxxabi.h> > > /* > * This routine doesn't work when you get to gcc3.4. > ``` The patch worked. Here is the updated SPEC: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-rawhide-x86_64/01945941-usd/usd.spec SRPM: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-rawhide-x86_64/01945941-usd/usd-21.02-3.fc34.src.rpm The resulted successfull build is on https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-rawhide-x86_64/01945941-usd/
I’m not quite ready to commit to being the reviewer for this package. Please consider this a “preliminary review” in advance of review by myself or by someone else. There’s a lot going on in this package, and there is room for me to have missed, or to be wrong about, something below, or for reasonable disagreement about any number of details. - Reported by fedora-review: Header files in -devel subpackage, if present. Note: usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h usd- libs : /usr/lib64/usd/usd/resources/codegenTemplates/api.h usd-libs : /usr/lib64/usd/usd/resources/codegenTemplates/schemaClass.h usd-libs : /usr/lib64/usd/usd/resources/codegenTemplates/tokens.h See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_devel_packages The examples are certainly okay, and the others are used as templates for code generation, so I think this is fine. - The shared libraries do not have SONAMEs set; the unversioned .so files packaged in -devel are the actual libraries that should be in -libs, and there are no libraries in -libs at all! There was some previous discussion of this, but I am still not convinced this is right. These libraries correspond to the headers in -devel; if those are public headers then these are public libraries and should be installed in -libs. And in that case, they need so-versions and symlinks. At least, that’s how it seems. - Bundled libraries must be handled according to https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling. * pxr/base/tf/pxrLZ4/ contains a bundled copy of https://github.com/lz4/lz4, which is the lz4 package in Fedora. Pixar has forked it by “C++-ifying” it (adding namespaces and removing C linkage). Reading the lz4 version number out of lz4.h, you need to add Provides: bundled(lz4) = 1.9.2 Then you are required to publicly contact upstream (e.g. by GitHub issue) about a path to supporting system libraries. If upstream refuses, this must be recorded in the spec file, either in comments placed adjacent to the Provides: above, or in an additional file checked into the SCM and referenced by a comment placed adjacent to the Provides: above. * pxr/base/js/rapidjson/ is a bundled copy of https://github.com/Tencent/rapidjson. Again, figure out how to unbundle it or contact upstream and add (reading the version from pxr/base/js/rapidjson/rapidjson.h): Provides: bundled(rapidjson) = 1.0.2 * pxr/base/tf/pxrDoubleConversion/ is a bundled copy of https://github.com/google/double-conversion, forked with namespace patches. Contact upstream and add: Provides: bundled(double-conversion) = 2.0.0 * These: pxr/base/gf/ilmbase_eLut.h pxr/base/gf/ilmbase_half.cpp pxr/base/gf/ilmbase_half.h pxr/base/gf/ilmbase_halfLimits.h pxr/base/gf/ilmbase_half.patch pxr/base/gf/ilmbase_half.README pxr/base/gf/ilmbase_toFloat.h are bundled from the ilmbase part of OpenEXR, https://github.com/AcademySoftwareFoundation/openexr/. Reading the version from the README, contact upstream and add: Provides: bundled(ilmbase) = 2.5.3 * third_party/renderman-23/plugin/rmanArgsParser/pugixml/ is a bundled copy of https://github.com/zeux/pugixml/; contact upstream and add Provides: bundled(pugixml) = 1.9 * pxr/base/tf/pyLock.cpp contains code from https://github.com/pankajp/pygilstate_check, but it is only a handful of lines, and it hardly seems we should track it as a bundled library. * pxr/imaging/hio/stb contains three bundled and patched libraries, https://github.com/nothings/stb/blob/master/stb_image.h, https://github.com/nothings/stb/blob/master/stb_image_write.h, and https://github.com/nothings/stb/blob/master/stb_image_resize.h. Contact upstream and add: Provides: bundled(stb_image) = 2.19 Provides: bundled(stb_image_resize) = 0.95 Provides: bundled(stb_image_write) = 1.09 * LICENSE.txt credits “Vulkan C++ examples and demos (dome light texture filtering)”, but I cannot find which source files are relevant. * LICENSE.txt credits “pbrt (Hammersley Low-Discrepancy Sampling Sequence)”, which refers to https://pbrt.org/, but there does not appear to be any obvious actual bundling. * LICENSE.txt claims USD bundles https://github.com/google/draco, but in fact the optional Draco plugin builds against an external Draco. * pxr/imaging/hgiVulkan/vk_mem_alloc.h is a bundled copy of https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator. Contact upstream and add: Provides: bundled(VulkanMemoryAllocator) = 3.0.0~development * pxr/imaging/hgiVulkan/spirv_reflect.h and pxr/imaging/hgiVulkan/spirv_reflect.cpp are a bundled copy of https://github.com/KhronosGroup/SPIRV-Reflect. Contact upstream and add Provides: bundled(SPIRV-Reflect) = 1.0 Make sure to update the versions on any virtual Provides when you update the overall package. - There are parts of the package with license other than the overall license of ASL 2.0; you must follow https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_multiple_licensing_scenarios, updating the License field and providing a breakdown of licensing. See the linked guidelines section for three ways to do this. Note that even the main LICENSE.txt describes components under multiple licenses. The overall license appears to be ASL 2.0 and BSD and MIT and (MIT or Unlicense) as broken down in the following. * While licensecheck detect GPLv3+ in USD-21.02/pxr/usd/sdf/path.tab.cpp USD-21.02/pxr/usd/sdf/path.tab.h USD-21.02/pxr/usd/sdf/textFileFormat.tab.cpp USD-21.02/pxr/usd/sdf/textFileFormat.tab.h USD-21.02/third_party/renderman-23/plugin/hdPrman/virtualStructConditionalGrammar.tab.cpp USD-21.02/third_party/renderman-23/plugin/hdPrman/virtualStructConditionalGrammar.tab.h the exception /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ applies and therefore only the ASL 2.0 license in the first license header is relevant. See https://lists.fedoraproject.org/archives/list/legal@lists.fedoraproject.org/thread/E7RRI4KTODK3QS4XI7KJH4P2RT4FJNB3/ for confirmation. * The bundled pxr/base/tf/pxrLZ4/, mentioned in the previous issue, is BSD-licensed. * Most of the bundled pxr/base/js/rapidjson/, mentioned in the previous issue, is MIT-licensed, except pxr/base/js/rapidjson/msinttypes/ which are BSD-licensed (albeit Visual Studio-specific). (It does not include the bin/jsonchecker code that would be under the nonfree JSON License, which is good.) * The bundled pxr/base/tf/pxrDoubleConversion/, mentioned in the previous issue, is BSD-licensed. * The bundled pxr/base/gf/ilmbase_*, mentioned in the previous issue, is BSD-licensed. * cmake/modules/FindTBB.cmake is MIT-licensed, but only used to control the build and therefore does not contribute to the built RPM license * third_party/renderman-23/plugin/rmanArgsParser/pugixml/ is MIT-licensed * pxr/base/tf/pyLock.cpp is ASL 2.0 but the code after // See https://github.com/pankajp/pygilstate_check is MIT. * pxr/imaging/garch/khrplatform.h is labeled “Khronos License” by licensecheck, but it is just MIT * pxr/imaging/hio/stb/ is MIT or Unlicense * pxr/base/arch/debugger.cpp contains an AmIBeingDebugged() function from https://developer.apple.com/library/content/qa/qa1361/_index.html under a license given in the top-level LICENSE.txt. It looks open-source but I do not recognize it. Normally we would need to email legal.org for an opinion (and a license name if it is a new acceptable license) but since this code is only compiled on Darwin platforms it does not affect the overall license field on Fedora and I think we can skip this exercise. * pxr/imaging/hgiVulkan/vk_mem_alloc.h is MIT - Are you intending to build python3-usd? Why is the build conditional currently off? Note that this provides a lot more than usdview; it is also required for quite a few command-line tools. I tried it and the build bailed out with -- Found PySide2 but NOT pyside-uic binary CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:165 (message): Could NOT find PySide (missing: PYSIDE_AVAILABLE) Call Stack (most recent call first): /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:458 (_FPHSA_FAILURE_MESSAGE) cmake/modules/FindPySide.cmake:75 (find_package_handle_standard_args) cmake/defaults/Packages.cmake:273 (find_package) CMakeLists.txt:23 (include) but this is fixable; see https://bugzilla.redhat.com/show_bug.cgi?id=1882270. You can just change -DPYSIDEUICBINARY="%{_bindir}/pyside2-uic" \ to -DPYSIDEUICBINARY="%{_bindir}/uic-qt5" \ and add BuildRequires: qt5-qtbase-devel to the Python subpackage. Of course, once you have a GUI application (usdview is one, I think?) you will need a .desktop file https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_files and AppData https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/. Furthermore, it seems like the installation of the Python packages is really, really broken when I try to enable it, so I guess there would be more work needed if the Python parts were to be packaged. - Does the documentation build easily if you set PXR_BUILD_DOCUMENTATION=TRUE and add BR’s on doxygen and graphviz? A real -doc subpackage with full documentation would be a nice addition. - Above the ExclusiveArch, please try to explain in a little more detail why the package must be x86_64-only. I agree that this looks like it is the case. Once the package is approved, you must create Bugzilla bugs blocking the various ExcludeArch tracker bugs, even if you close them immediately as WONTFIX. See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_build_failures. - Please change Requires: %{name}%{?_isa} = %{version} to Requires: %{name}%{?_isa} = %{version}-%{release} See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_requiring_base_package. Note also that the -devel package should really require Requires: %{name}-libs%{?_isa} = %{version}-%{release} instead, and perhaps the base package should as well. - There is no %check section; did you try building the tests? - Please remove # Explicity define python macro to avoid unversioned python %define __python /usr/bin/python3 because nothing should be using an unversioned %__python. (Also, prefer %global to %define.) Also, change BuildRequires: python-rpm-macros to BuildRequires: python3-devel and replace %{python_sitearch} with %{python3_sitearch}, which together fix the reason you wanted an unversioned %__python in the first place. - Is Python really found using pkg-config? Maybe just drop this? BuildRequires: pkgconfig(python3) - Note that you can use (but are not required to use) https://src.fedoraproject.org/rpms/pyproject-rpm-macros to get automatically generated Python BR’s. - Please convert NOTICE.txt from CRNL line encoding. Add BuildRequires: dos2unix and in %prep, dos2unix NOTICE.txt - Please add find %{buildroot}%{_datadir}/%{name}/examples -name '*.so' -print -delete or just rm %{buildroot}%{_datadir}/%{name}/examples/plugin/hdTiny.so to remove /usr/share/usd/examples/plugin/hdTiny.so because there should not be arch-specific code in /usr/share. - Please fix mixed tabs and spaces in spec file, e.g. sed -r -i 's/\t/ /g' usd.spec ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [!]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. See Issues. These are real libraries, not symlinks, and it is not clear that they are correctly handled. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "Khronos License Expat License Apache License 2.0", "Apache License 2.0", "Expat License", "BSD 3-clause "New" or "Revised" License", "Apache License 2.0 [generated file]", "Khronos License", "Apache License 2.0 GNU General Public License v3.0 or later", "BSD 2-clause "Simplified" License", "the Unlicense Expat License", "*No copyright* Apache License 2.0". 2550 files have unknown license. Detailed output of licensecheck in /home/reviewer/1895567-usd/20210205/1895567-usd/licensecheck.txt Multiple licenses; see Issues above. [x]: License file installed when any subpackage combination is installed. [x]: %build honors applicable compiler flags or justifies otherwise. As far as I can tell... [!]: Package contains no bundled libraries without FPC exception. FPC exception no longer required per https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling, but guidelines must be followed. See Issues for details. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [!]: Package is not known to require an ExcludeArch tag. Follow https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_build_failures. See Issues. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 245760 bytes in 7 files. OK unless you start building more documentation. [x]: Package complies to the Packaging Guidelines (except as noted) [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [!]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in usd-libs , usd-devel Need -%{release}; -devel should require -libs, and maybe the base package should too. [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [!]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [!]: Spec use %global instead of %define unless justified. Note: %define requiring justification: %define __python /usr/bin/python3 [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Package should compile and build into binary rpms on all supported architectures. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: usd-21.02-3.fc34.x86_64.rpm usd-libs-21.02-3.fc34.x86_64.rpm usd-devel-21.02-3.fc34.x86_64.rpm usd-debuginfo-21.02-3.fc34.x86_64.rpm usd-debugsource-21.02-3.fc34.x86_64.rpm usd-21.02-3.fc34.src.rpm usd.x86_64: E: arch-dependent-file-in-usr-share /usr/share/usd/examples/plugin/hdTiny.so usd.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/usd/NOTICE.txt usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h usd.x86_64: W: no-manual-page-for-binary sdfdump usd.x86_64: W: no-manual-page-for-binary sdffilter usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/api.h usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/schemaClass.cpp usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/schemaClass.h usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/tokens.cpp usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/tokens.h usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/wrapSchemaClass.cpp usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/wrapTokens.cpp usd-libs.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/usd-libs/NOTICE.txt usd-devel.x86_64: E: invalid-soname /usr/lib64/libar.so libar.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libarch.so libarch.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libcameraUtil.so libcameraUtil.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libgarch.so libgarch.so usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libgarch.so exit.5 usd-devel.x86_64: E: invalid-soname /usr/lib64/libgf.so libgf.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libglf.so libglf.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhd.so libhd.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhdSt.so libhdSt.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhdx.so libhdx.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhf.so libhf.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhgi.so libhgi.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhgiGL.so libhgiGL.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhgiInterop.so libhgiInterop.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhio.so libhio.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libjs.so libjs.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libkind.so libkind.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libndr.so libndr.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libpcp.so libpcp.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libplug.so libplug.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libpxOsd.so libpxOsd.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libsdf.so libsdf.so usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libsdf.so exit.5 usd-devel.x86_64: E: invalid-soname /usr/lib64/libsdr.so libsdr.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libtf.so libtf.so usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libtf.so exit.5 usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libtf.so _exit.5 usd-devel.x86_64: E: invalid-soname /usr/lib64/libtrace.so libtrace.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusd.so libusd.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdAppUtils.so libusdAppUtils.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdGeom.so libusdGeom.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdHydra.so libusdHydra.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdImaging.so libusdImaging.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdImagingGL.so libusdImagingGL.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdLux.so libusdLux.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdMedia.so libusdMedia.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdRender.so libusdRender.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdRi.so libusdRi.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdRiImaging.so libusdRiImaging.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdShade.so libusdShade.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdSkel.so libusdSkel.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdSkelImaging.so libusdSkelImaging.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdUI.so libusdUI.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdUtils.so libusdUtils.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdVol.so libusdVol.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdVolImaging.so libusdVolImaging.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libvt.so libvt.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libwork.so libwork.so usd.src:5: W: mixed-use-of-spaces-and-tabs (spaces: line 2, tab: line 5) 6 packages and 0 specfiles checked; 45 errors, 20 warnings. Rpmlint (debuginfo) ------------------- Checking: usd-debuginfo-21.02-3.fc34.x86_64.rpm usd-devel-debuginfo-21.02-3.fc34.x86_64.rpm usd-libs-debuginfo-21.02-3.fc34.x86_64.rpm 3 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/api.h usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/schemaClass.cpp usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/schemaClass.h usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/tokens.cpp usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/tokens.h usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/wrapSchemaClass.cpp usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/wrapTokens.cpp usd-libs.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/usd-libs/NOTICE.txt usd.x86_64: E: arch-dependent-file-in-usr-share /usr/share/usd/examples/plugin/hdTiny.so usd.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/usd/NOTICE.txt usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h usd.x86_64: W: no-manual-page-for-binary sdfdump usd.x86_64: W: no-manual-page-for-binary sdffilter usd-devel.x86_64: E: invalid-soname /usr/lib64/libar.so libar.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libarch.so libarch.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libcameraUtil.so libcameraUtil.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libgarch.so libgarch.so usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libgarch.so exit.5 usd-devel.x86_64: E: invalid-soname /usr/lib64/libgf.so libgf.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libglf.so libglf.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhd.so libhd.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhdSt.so libhdSt.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhdx.so libhdx.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhf.so libhf.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhgi.so libhgi.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhgiGL.so libhgiGL.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhgiInterop.so libhgiInterop.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhio.so libhio.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libjs.so libjs.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libkind.so libkind.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libndr.so libndr.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libpcp.so libpcp.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libplug.so libplug.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libpxOsd.so libpxOsd.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libsdf.so libsdf.so usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libsdf.so exit.5 usd-devel.x86_64: E: invalid-soname /usr/lib64/libsdr.so libsdr.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libtf.so libtf.so usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libtf.so exit.5 usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libtf.so _exit.5 usd-devel.x86_64: E: invalid-soname /usr/lib64/libtrace.so libtrace.so Rpmlint (installed packages) ---------------------------- usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/api.h usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/schemaClass.cpp usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/schemaClass.h usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/tokens.cpp usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/tokens.h usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/wrapSchemaClass.cpp usd-libs.x86_64: W: devel-file-in-non-devel-package /usr/lib64/usd/usd/resources/codegenTemplates/wrapTokens.cpp usd-libs.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/usd-libs/NOTICE.txt usd.x86_64: E: arch-dependent-file-in-usr-share /usr/share/usd/examples/plugin/hdTiny.so usd.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/usd/NOTICE.txt usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h usd.x86_64: W: no-manual-page-for-binary sdfdump usd.x86_64: W: no-manual-page-for-binary sdffilter usd-devel.x86_64: E: invalid-soname /usr/lib64/libar.so libar.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libarch.so libarch.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libcameraUtil.so libcameraUtil.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libgarch.so libgarch.so usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libgarch.so exit.5 usd-devel.x86_64: E: invalid-soname /usr/lib64/libgf.so libgf.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libglf.so libglf.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhd.so libhd.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhdSt.so libhdSt.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhdx.so libhdx.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhf.so libhf.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhgi.so libhgi.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhgiGL.so libhgiGL.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhgiInterop.so libhgiInterop.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libhio.so libhio.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libjs.so libjs.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libkind.so libkind.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libndr.so libndr.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libpcp.so libpcp.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libplug.so libplug.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libpxOsd.so libpxOsd.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libsdf.so libsdf.so usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libsdf.so exit.5 usd-devel.x86_64: E: invalid-soname /usr/lib64/libsdr.so libsdr.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libtf.so libtf.so usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libtf.so exit.5 usd-devel.x86_64: W: shared-lib-calls-exit /usr/lib64/libtf.so _exit.5 usd-devel.x86_64: E: invalid-soname /usr/lib64/libtrace.so libtrace.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusd.so libusd.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdAppUtils.so libusdAppUtils.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdGeom.so libusdGeom.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdHydra.so libusdHydra.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdImaging.so libusdImaging.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdImagingGL.so libusdImagingGL.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdLux.so libusdLux.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdMedia.so libusdMedia.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdRender.so libusdRender.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdRi.so libusdRi.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdRiImaging.so libusdRiImaging.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdShade.so libusdShade.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdSkel.so libusdSkel.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdSkelImaging.so libusdSkelImaging.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdUI.so libusdUI.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdUtils.so libusdUtils.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdVol.so libusdVol.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libusdVolImaging.so libusdVolImaging.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libvt.so libvt.so usd-devel.x86_64: E: invalid-soname /usr/lib64/libwork.so libwork.so 7 packages and 0 specfiles checked; 45 errors, 19 warnings. Unversioned so-files -------------------- usd: /usr/share/usd/examples/plugin/hdTiny.so usd-libs: /usr/lib64/usd/plugin/hdEmbree.so usd-libs: /usr/lib64/usd/plugin/hdStorm.so usd-libs: /usr/lib64/usd/plugin/hioOiio.so usd-libs: /usr/lib64/usd/plugin/sdrGlslfx.so usd-libs: /usr/lib64/usd/plugin/sdrOsl.so usd-libs: /usr/lib64/usd/plugin/usdAbc.so usd-libs: /usr/lib64/usd/plugin/usdShaders.so Source checksums ---------------- https://github.com/PixarAnimationStudios/usd/archive/v21.02/usd-21.02.tar.gz : CHECKSUM(SHA256) this package : 97bbae5d86d6e4db357645db183be03afe28fe024b242f27bd4f62b4e2eade53 CHECKSUM(SHA256) upstream package : 97bbae5d86d6e4db357645db183be03afe28fe024b242f27bd4f62b4e2eade53 Requires -------- usd (rpmlib, GLIBC filtered): libarch.so()(64bit) libboost_program_options.so.1.75.0()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libhd.so()(64bit) libhf.so()(64bit) libsdf.so()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libtf.so()(64bit) libvt.so()(64bit) rtld(GNU_HASH) usd-libs (rpmlib, GLIBC filtered): libAlembic.so.1.7()(64bit) libHalf-2_5.so.25()(64bit) libOpenImageIO.so.2.2()(64bit) libar.so()(64bit) libarch.so()(64bit) libc.so.6()(64bit) libcameraUtil.so()(64bit) libembree3.so.3()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgf.so()(64bit) libhd.so()(64bit) libhdSt.so()(64bit) libhf.so()(64bit) libhio.so()(64bit) libm.so.6()(64bit) libndr.so()(64bit) liboslquery.so.1.11()(64bit) libplug.so()(64bit) libpthread.so.0()(64bit) libpxOsd.so()(64bit) libsdf.so()(64bit) libsdr.so()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libtbb.so.2()(64bit) libtf.so()(64bit) libtrace.so()(64bit) libusd.so()(64bit) libusdGeom.so()(64bit) libusdShade.so()(64bit) libvt.so()(64bit) libwork.so()(64bit) rtld(GNU_HASH) usd-devel (rpmlib, GLIBC filtered): cmake-filesystem(x86-64) ld-linux-x86-64.so.2()(64bit) libGL.so.1()(64bit) libHalf-2_5.so.25()(64bit) libOpenColorIO.so.1()(64bit) libX11.so.6()(64bit) libar.so()(64bit) libarch.so()(64bit) libc.so.6()(64bit) libcameraUtil.so()(64bit) libdl.so.2()(64bit) libgarch.so()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgf.so()(64bit) libglf.so()(64bit) libhd.so()(64bit) libhdSt.so()(64bit) libhdx.so()(64bit) libhf.so()(64bit) libhgi.so()(64bit) libhgiGL.so()(64bit) libhgiInterop.so()(64bit) libhio.so()(64bit) libjemalloc.so.2()(64bit) libjs.so()(64bit) libkind.so()(64bit) libm.so.6()(64bit) libndr.so()(64bit) libopenvdb.so.8.0()(64bit) libosdCPU.so.3.4.3()(64bit) libosdGPU.so.3.4.3()(64bit) libpcp.so()(64bit) libplug.so()(64bit) libpthread.so.0()(64bit) libpxOsd.so()(64bit) libsdf.so()(64bit) libsdr.so()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.1)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.7)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libtbb.so.2()(64bit) libtf.so()(64bit) libtrace.so()(64bit) libusd.so()(64bit) libusdGeom.so()(64bit) libusdImaging.so()(64bit) libusdImagingGL.so()(64bit) libusdLux.so()(64bit) libusdShade.so()(64bit) libusdSkel.so()(64bit) libusdVol.so()(64bit) libvt.so()(64bit) libwork.so()(64bit) rtld(GNU_HASH) usd(x86-64) usd-debuginfo (rpmlib, GLIBC filtered): usd-debugsource (rpmlib, GLIBC filtered): Provides -------- usd: usd usd(x86-64) usd-libs: usd-libs usd-libs(x86-64) usd-devel: cmake(pxr) libar.so()(64bit) libarch.so()(64bit) libcameraUtil.so()(64bit) libgarch.so()(64bit) libgf.so()(64bit) libglf.so()(64bit) libhd.so()(64bit) libhdSt.so()(64bit) libhdx.so()(64bit) libhf.so()(64bit) libhgi.so()(64bit) libhgiGL.so()(64bit) libhgiInterop.so()(64bit) libhio.so()(64bit) libjs.so()(64bit) libkind.so()(64bit) libndr.so()(64bit) libpcp.so()(64bit) libplug.so()(64bit) libpxOsd.so()(64bit) libsdf.so()(64bit) libsdr.so()(64bit) libtf.so()(64bit) libtrace.so()(64bit) libusd.so()(64bit) libusdAppUtils.so()(64bit) libusdGeom.so()(64bit) libusdHydra.so()(64bit) libusdImaging.so()(64bit) libusdImagingGL.so()(64bit) libusdLux.so()(64bit) libusdMedia.so()(64bit) libusdRender.so()(64bit) libusdRi.so()(64bit) libusdRiImaging.so()(64bit) libusdShade.so()(64bit) libusdSkel.so()(64bit) libusdSkelImaging.so()(64bit) libusdUI.so()(64bit) libusdUtils.so()(64bit) libusdVol.so()(64bit) libusdVolImaging.so()(64bit) libvt.so()(64bit) libwork.so()(64bit) usd-devel usd-devel(x86-64) usd-debuginfo: debuginfo(build-id) usd-debuginfo usd-debuginfo(x86-64) usd-debugsource: usd-debugsource usd-debugsource(x86-64) Generated by fedora-review 0.7.6 (b083f91) last change: 2020-11-10 Command line :/usr/bin/fedora-review -b 1895567 Buildroot used: fedora-rawhide-x86_64 Active plugins: C/C++, Shell-api, Generic Disabled plugins: PHP, SugarActivity, Ruby, fonts, Python, Java, Perl, R, Ocaml, Haskell Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
(In reply to Ben Beasley from comment #14) > I’m not quite ready to commit to being the reviewer for this package. > Please consider this a “preliminary review” in advance of review by myself > or by someone else. Thank for the detaied preliminary review > > There’s a lot going on in this package, and there is room for me to have > missed, or to be wrong about, something below, or for reasonable disagreement > about any number of details. > > - Reported by fedora-review: > Header files in -devel subpackage, if present. > Note: usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd > : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd > : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd : > /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h usd- > libs : /usr/lib64/usd/usd/resources/codegenTemplates/api.h usd-libs : > /usr/lib64/usd/usd/resources/codegenTemplates/schemaClass.h usd-libs : > /usr/lib64/usd/usd/resources/codegenTemplates/tokens.h > See: https://docs.fedoraproject.org/en-US/packaging- > guidelines/#_devel_packages > > The examples are certainly okay, and the others are used as templates for > code generation, so I think this is fine. > > - The shared libraries do not have SONAMEs set; the unversioned .so files > packaged in -devel are the actual libraries that should be in -libs, and > there are no libraries in -libs at all! > > There was some previous discussion of this, but I am still not convinced > this is right. These libraries correspond to the headers in -devel; if > those are public headers then these are public libraries and should be > installed in -libs. And in that case, they need so-versions and symlinks. > At least, that’s how it seems. > > Make sure to update the versions on any virtual Provides when you update > the > overall package. Done. Ticket filed upstream on https://github.com/PixarAnimationStudios/USD/issues/1490 > > - There are parts of the package with license other than the overall license > of > ASL 2.0; you must follow > > https://docs.fedoraproject.org/en-US/packaging-guidelines/ > LicensingGuidelines/#_multiple_licensing_scenarios, > updating the License field and providing a breakdown of licensing. See the > linked guidelines section for three ways to do this. Note that even the > main > LICENSE.txt describes components under multiple licenses. > > The overall license appears to be > > ASL 2.0 and BSD and MIT and (MIT or Unlicense) > > as broken down in the following. > Fixed. > > - Are you intending to build python3-usd? Why is the build conditional > currently off? Note that this provides a lot more than usdview; it is also > required for quite a few command-line tools. > > I tried it and the build bailed out with > > -- Found PySide2 but NOT pyside-uic binary > CMake Error at > /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:165 (message): > Could NOT find PySide (missing: PYSIDE_AVAILABLE) > Call Stack (most recent call first): > /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:458 > (_FPHSA_FAILURE_MESSAGE) > cmake/modules/FindPySide.cmake:75 (find_package_handle_standard_args) > cmake/defaults/Packages.cmake:273 (find_package) > CMakeLists.txt:23 (include) > > but this is fixable; see > https://bugzilla.redhat.com/show_bug.cgi?id=1882270. You > can just change > -DPYSIDEUICBINARY="%{_bindir}/pyside2-uic" \ > to > -DPYSIDEUICBINARY="%{_bindir}/uic-qt5" \ > and add > BuildRequires: qt5-qtbase-devel > to the Python subpackage. Fixed with BuildRequires: pkgconfig(Qt5) which pull qt5-qtbase-devel. > > Of course, once you have a GUI application (usdview is one, I think?) you > will > need a .desktop file > https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_files > and AppData > https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/. Noted. > > Furthermore, it seems like the installation of the Python packages is > really, really broken > when I try to enable it, so I guess there would be more work needed if the > Python parts were > to be packaged. The python part failed with a syntax error on post installation below: Bytecompiling .py files below /builddir/build/BUILDROOT/usd-21.02-4.fc34.x86_64/usr/lib/python3.9 using python3.9 *** Error compiling '/builddir/build/BUILDROOT/usd-21.02-4.fc34.x86_64/usr/lib/python3.9/site-packages/pxr/Usdviewq/adjustClippingUI.py'... File "/usr/lib/python3.9/site-packages/pxr/Usdviewq/adjustClippingUI.py", line 1 /******************************************************************************** ^ SyntaxError: invalid syntax *** Error compiling '/builddir/build/BUILDROOT/usd-21.02-4.fc34.x86_64/usr/lib/python3.9/site-packages/pxr/Usdviewq/adjustDefaultMaterialUI.py'... File "/usr/lib/python3.9/site-packages/pxr/Usdviewq/adjustDefaultMaterialUI.py", line 1 /******************************************************************************** ^ SyntaxError: invalid syntax *** Error compiling '/builddir/build/BUILDROOT/usd-21.02-4.fc34.x86_64/usr/lib/python3.9/site-packages/pxr/Usdviewq/attributeValueEditorUI.py'... File "/usr/lib/python3.9/site-packages/pxr/Usdviewq/attributeValueEditorUI.py", line 1 /******************************************************************************** ^ SyntaxError: invalid syntax *** Error compiling '/builddir/build/BUILDROOT/usd-21.02-4.fc34.x86_64/usr/lib/python3.9/site-packages/pxr/Usdviewq/mainWindowUI.py'... File "/usr/lib/python3.9/site-packages/pxr/Usdviewq/mainWindowUI.py", line 1 /******************************************************************************** ^ SyntaxError: invalid syntax *** Error compiling '/builddir/build/BUILDROOT/usd-21.02-4.fc34.x86_64/usr/lib/python3.9/site-packages/pxr/Usdviewq/preferencesUI.py'... File "/usr/lib/python3.9/site-packages/pxr/Usdviewq/preferencesUI.py", line 1 /******************************************************************************** ^ SyntaxError: invalid syntax *** Error compiling '/builddir/build/BUILDROOT/usd-21.02-4.fc34.x86_64/usr/lib/python3.9/site-packages/pxr/Usdviewq/primLegendUI.py'... File "/usr/lib/python3.9/site-packages/pxr/Usdviewq/primLegendUI.py", line 1 /******************************************************************************** ^ SyntaxError: invalid syntax *** Error compiling '/builddir/build/BUILDROOT/usd-21.02-4.fc34.x86_64/usr/lib/python3.9/site-packages/pxr/Usdviewq/propertyLegendUI.py'... File "/usr/lib/python3.9/site-packages/pxr/Usdviewq/propertyLegendUI.py", line 1 /******************************************************************************** ^ SyntaxError: invalid syntax error: Bad exit status from /var/tmp/rpm-tmp.a2JBys (%install) Bad exit status from /var/tmp/rpm-tmp.a2JBys (%install) > > - Does the documentation build easily if you set > PXR_BUILD_DOCUMENTATION=TRUE and > add BR’s on doxygen and graphviz? A real -doc subpackage with full > documentation > would be a nice addition. Unfortunately the build failed with that setup so PXR_BUILD_DOCUMENTATION=FALSE for the time being. > - Above the ExclusiveArch, please try to explain in a little more detail why > the package must be x86_64-only. I agree that this looks like it is the > case. > Once the package is approved, you must create Bugzilla bugs blocking the > various ExcludeArch tracker bugs, even if you close them immediately as > WONTFIX. See > > https://docs.fedoraproject.org/en-US/packaging-guidelines/ > #_architecture_build_failures. Will do. > - Please change > > Requires: %{name}%{?_isa} = %{version} > > to > > Requires: %{name}%{?_isa} = %{version}-%{release} > > See > https://docs.fedoraproject.org/en-US/packaging-guidelines/ > #_requiring_base_package. > > Note also that the -devel package should really require > > Requires: %{name}-libs%{?_isa} = %{version}-%{release} > > instead, and perhaps the base package should as well. Done > > - There is no %check section; did you try building the tests? Yes. Unfortunately, the provided upstream test failed to build. > - Please remove > > # Explicity define python macro to avoid unversioned python > %define __python /usr/bin/python3 > > because nothing should be using an unversioned %__python. (Also, prefer > %global to %define.) > > - Is Python really found using pkg-config? Maybe just drop this? > > BuildRequires: pkgconfig(python3) Good catch. Fixed. I standardize the use pkgconfig in the spec when possible so BuildRequires: pkgconfig(python3) fixed the issue. > - Note that you can use (but are not required to use) > https://src.fedoraproject.org/rpms/pyproject-rpm-macros to get > automatically > generated Python BR’s. Thanks for the info. It will help for future spec file update. > > - Please convert NOTICE.txt from CRNL line encoding. Add > > BuildRequires: dos2unix > > and in %prep, > > dos2unix NOTICE.txt Done > > - Please add > > find %{buildroot}%{_datadir}/%{name}/examples -name '*.so' -print -delete > > or just > > rm %{buildroot}%{_datadir}/%{name}/examples/plugin/hdTiny.so > > to remove > > /usr/share/usd/examples/plugin/hdTiny.so > > because there should not be arch-specific code in /usr/share. Done > > - Please fix mixed tabs and spaces in spec file, e.g. > > sed -r -i 's/\t/ /g' usd.spec Done. Thanks for the tip. Here is the updated SPEC: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-rawhide-x86_64/02130525-usd/usd.spec SRPM: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-rawhide-x86_64/02130525-usd/usd-21.02-4.fc35.src.rpm Some known issues are the placement of files within libs and devel. I would like a guide for those. Thanks.
I’m still not claiming the review yet, but I’m looking at this. It will take a little while to go through.
(In reply to Ben Beasley from comment #16) > I’m still not claiming the review yet, but I’m looking at this. It will take > a little while to go through. No problem. Considering the seemly complexity at resolving some issues, suggestions and correction are appreciated.
I’m still reviewing this. (You may notice I set the fedora-review? flag). My review feedback is almost complete, but I did manage to fix the Python part of the build, and I’m still working through the consequences of that, and a few other details. I’m also going to see if I understand what is wrong with the tests. Overall, while a few changes will still be required, I think we’re on the path to actually getting this successfully packaged.
This is getting much, much closer. There are still a few remaining things that need to be looked at. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated Issues: ======= - Header files in -devel subpackage, if present. Note: usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_devel_packages This is spurious; these are documentation. If you ever manage to build the documentation, you will need a -doc subpackage, and they should go in that. For now, they are fine where they are. - Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files directly in %_libdir. See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_devel_packages You have patched the CMake files to set an so-version, and offered the change upstream—great! But your change only works when PXR_BUILD_MONOLITHIC is set, so you need to set it. Then you can do something like: and %files libs […] %{_libdir}/lib%{name}_ms.so.%{libmajor} […] and %files devel […] %{_libdir}/lib%{name}_ms.so […] Interestingly, this also fixes the cmake install path, so you can remove these lines: # Relocate cmake folder mkdir -p %{buildroot}%{_libdir}/cmake mv %{buildroot}%{_prefix}/cmake/* %{buildroot}%{_libdir}/cmake rm -rf %{buildroot}%{_prefix}/cmake Note that the monolithic build means there is only one shared library file, for better or for worse. - The License field appears correct, but you must break down which files are covered by which licenses in a spec file comment or packaged auxiliary license file, as mandated in https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_multiple_licensing_scenarios. You can use “licensecheck -r” to help you look for files with various licenses. - The -devel package should Require: cmake-filesystem for %{_libdir}/cmake. - The package fails to own the following directories: /usr/lib64/usd/hdx, /usr/lib64/usd/ndr, /usr/lib64/usd/plugin, /usr/lib64/usd/usd/resources, /usr/lib64/usd/usd, /usr/lib64/usd/usd/resources/usd, /usr/lib64/usd/hd, /usr/lib64/usd/hdSt, /usr/lib64/usd/hgiGL, /usr/lib64/usd/hio, /usr/lib64/usd/ar, /usr/lib64/usd/glf The easiest way to fix this would be to change %dir %{_libdir}/%{name} %{_libdir}/%{name}/sdf %{_libdir}/%{name}/plugInfo.json %{_libdir}/%{name}/{ar,glf,hd,hdSt,hdx,hgiGL,hio,ndr}/* %{_libdir}/%{name}/plugin/* %{_libdir}/%{name}/%{name}/resources/generatedSchema.usda %{_libdir}/%{name}/%{name}/resources/plugInfo.json %{_libdir}/%{name}/%{name}/resources/usd/schema.usda %{_libdir}/%{name}/%{name}{Geom,Hydra,Imaging,ImagingGL,Lux,Media,Render}/ %{_libdir}/%{name}/%{name}{Ri,RiImaging,Shade,Skel,SkelImaging,UI}/ %{_libdir}/%{name}/%{name}{Vol,VolImaging}/ to %{_libdir}/%{name} %exclude %{_libdir}/%{name}/%{name}/resources/codegenTemplates - Version 21.05 is available. Please update. - The error you reported building the Python components was because uic-qt5 defaults to C++ output. You can fix it by adding, at the beginning of %build: cat > uic-wrapper <<'EOF' #!/bin/sh exec uic-qt5 -g python "$@" EOF chmod +x uic-wrapper and then, in the arguments to %cmake, changing PYSIDEUICBINARY to: -DPYSIDEUICBINARY:PATH=${PWD}/uic-wrapper You can link https://github.com/PixarAnimationStudios/USD/issues/1419, which is the most relevant issue. I added this workaround in a comment there, while requesting direct support for uic-qt5 as the proper solution. Now you have the problem that the package is installed under %{python3_sitelib} even though it has compiled extensions. The ugly but simple solution is to add this after %cmake_install: mkdir -p %{buildroot}%{python3_sitearch} mv %{buildroot}%{python3_sitelib}/* %{buildroot}%{python3_sitearch} Worse, some files are installed under a flagrantly wrong path: mv %{buildroot}%{prefix}/lib/python/pxr/*.* \ %{buildroot}%{python3_sitearch}/pxr/ mv %{buildroot}%{prefix}/lib/python/pxr/Usdviewq/* \ %{buildroot}%{python3_sitearch}/pxr/Usdviewq/ Instead of all those “mv” commands in %install, you might prefer instead to patch the build system with sed in %prep; I have not taken the time to figure out the right way to do this. See the ancient issue https://github.com/PixarAnimationStudios/USD/issues/30. - It turns out upstream also bundles a couple of fonts. You can unbundle these by, in %prep: rm -rvf pxr/usdImaging/usdviewq/fonts/* ln -s %{_datadir}/fonts/google-roboto pxr/usdImaging/usdviewq/fonts/Roboto ln -s %{_datadir}/fonts/google-roboto-mono \ pxr/usdImaging/usdviewq/fonts/Roboto_Mono and add: Requires: font(roboto) Requires: font(robotoblack) Requires: font(robotolight) Requires: font(robotomono) to the Python subpackage. See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_avoid_bundling_of_fonts_in_other_packages. - Once I got the Python components building, I tried: python3 -m pxr.Usdviewq and got (on Fedora 33): File "/usr/lib64/python3.9/runpy.py", line 188, in _run_module_as_main mod_name, mod_spec, code = _get_module_details(mod_name, _Error) File "/usr/lib64/python3.9/runpy.py", line 147, in _get_module_details return _get_module_details(pkg_main_name, error) File "/usr/lib64/python3.9/runpy.py", line 111, in _get_module_details __import__(pkg_name) File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/__init__.py", line 30, in <module> from .common import Timer File "/usr/lib64/python3.9/site-packages/shiboken2/files.dir/shibokensupport/__feature__.py", line 142, in _import return original_import(name, *args, **kwargs) File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/common.py", line 28, in <module> from pxr import Ar, Tf, Sdf, Kind, Usd, UsdGeom, UsdShade File "/usr/lib64/python3.9/site-packages/shiboken2/files.dir/shibokensupport/__feature__.py", line 142, in _import return original_import(name, *args, **kwargs) File "/usr/lib64/python3.9/site-packages/pxr/Ar/__init__.py", line 24, in <module> from . import _ar File "/usr/lib64/python3.9/site-packages/shiboken2/files.dir/shibokensupport/__feature__.py", line 142, in _import return original_import(name, *args, **kwargs) ImportError: /lib64/libjemalloc.so.2: cannot allocate memory in static TLS block so I tried putting BuildRequires: pkgconfig(jemalloc) and -DPXR_MALLOC_LIBRARY="%{_libdir}/libjemalloc.so" \ behind a disabled build conditional, and got this instead: /usr/bin/python3: No module named pxr.Usdviewq.__main__; 'pxr.Usdviewq' is a package and cannot be directly executed OK, I guess this isn’t how to start usdviewq, but the import is working, so it looks like not using jemalloc is the way to go. Maybe there is some other way to fix this, but this way works—maybe at some performance cost, or maybe not. - It turns out that with Python enabled, you get quite a few more binaries in the main “usd” package: /usr/bin/sdfdump: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=d5c4551cc2fc937008004724d7dabeab13f92be2, for GNU/Linux 3.2.0, stripped /usr/bin/sdffilter: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=f9c69423f6eea1aa506e58c95f99db631cfe78ec, for GNU/Linux 3.2.0, stripped /usr/bin/testusdview: Python script, ASCII text executable /usr/bin/usdcat: Python script, ASCII text executable /usr/bin/usdchecker: Python script, ASCII text executable /usr/bin/usddiff: Python script, ASCII text executable /usr/bin/usddumpcrate: Python script, ASCII text executable /usr/bin/usdedit: Python script, ASCII text executable /usr/bin/usdGenSchema: Python script, ASCII text executable /usr/bin/usdrecord: Python script, ASCII text executable /usr/bin/usdresolve: Python script, ASCII text executable /usr/bin/usdstitch: Python script, ASCII text executable /usr/bin/usdstitchclips: Python script, ASCII text executable /usr/bin/usdtree: Python script, ASCII text executable /usr/bin/usdview: Python script, ASCII text executable /usr/bin/usdzip: Python script, ASCII text executable Hey, look, there’s the usdview launcher. Anyway, it looks like you now need to either put most of these in the python3-usd subpackage, or (probably better) you need to add Requires: python3-%{name}%{?_isa} = %{version}-%{release} to the main “usd” package. - Since the importable Python package is actually called “pxr”, you should add %py_provides python3-pxr per https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_the_py_provides_macro to get the right virtual provides. Or, you could rename the Python subpackage to match the Python import, and the %py_provides would be unnecessary. - I tried usdview on the file top.geom.usd and had the window appear for a couple of seconds, with a glitchy, transparent hole where the OpenGL render should be. Then it crashed: QSocketNotifier: Can only be used with threads started with QThread State file not found, a new one will be created. Traceback (most recent call last): File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/stageView.py", line 1659, in paintGL renderer = self._getRenderer() File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/stageView.py", line 970, in _getRenderer self._renderer = UsdImagingGL.Engine() pxr.Tf.ErrorException: Error in 'pxrInternal_v0_21__pxrReserved__::GlfContextCaps::_LoadCaps' at line 162 in file /builddir/build/BUILD/USD-21.02/pxr/imaging/glf/contextCaps.cpp : 'Failed verification: ' GlfGLContext::GetCurrentGLContext()->IsValid() '' Error in 'pxrInternal_v0_21__pxrReserved__::{anonymous}::_IsHydraEnabled' at line 109 in file /builddir/build/BUILD/USD-21.02/pxr/usdImaging/usdImagingGL/engine.cpp : 'OpenGL context required, using reference renderer' /usr/include/c++/10/bits/stl_vector.h:1063: std::vector<_Tp, _Alloc>::const_reference std::vector<_Tp, _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) const [with _Tp = float; _Alloc = std::allocator<float>; std::vector<_Tp, _Alloc>::const_reference = const float&; std::vector<_Tp, _Alloc>::size_type = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' failed. Aborted (core dumped) Is this what happens for you, once you fix the Python build? It looks similar to https://github.com/PixarAnimationStudios/USD/issues/1467 and https://github.com/PixarAnimationStudios/USD/issues/764, but not identical. It may be something you can only report upstream. It would be nice not to have such a glaring bug right out of the gate, but I wouldn’t consider it a blocker for the package given how much other functionality it offers. - Since usdview is a desktop application, you will need to write a downstream desktop file (which you can offer upstream): https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_files. AppStream XML files, https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/, are good too, and are a SHOULD, but I have found they are very hard to properly create downstream since they need to have screenshots and a description under an ultra-permissive license such as CC0. The .desktop file, though, is necessary. - I think %global test OFF should be a build conditional: %bcond_with test and then you can replace -DPXR_BUILD_TESTS=%{test} \ with -DPXR_BUILD_TESTS=%{?with_test:ON}%{!?with_test:OFF} \ - I would still like to see the tests runnable, but I am going to go ahead and provide this review while I look into what that would require. I intend to offer suggestions here if I can figure out why they did not work for you. Notes (a change is not required) ================================ - This is not needed if you are only targeting F33 and later: %undefine __cmake_in_source_build (Since F32 is almost EOL, why bother with it?) - You could drop the license file from the main package “usd” since it depends on “usd-libs”, which does have the license file. - You have correctly justified the ExclusiveArch in a comment. After the package is imported to dist-git, you must file Bugzilla tickets blocking the tracker bugs for all unsupported architectures, as required by https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_build_failures. - Instead of # Fix all Python shebangs recursively in . pathfix.py -pni "%{__python3} %{py3_shbang_opts}" . it would be simpler to write %py3_shebang_fix . - I think the pyproject-rpm-macros will not help with these Python bindings after all, since the build is integrated into the overall CMake build. - See https://github.com/PixarAnimationStudios/USD/issues/1259 for feedback from an openSUSE packager dealing with some of the same issues. ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "Khronos License Expat License Apache License 2.0", "Apache License 2.0", "Expat License", "BSD 3-clause "New" or "Revised" License", "Apache License 2.0 [generated file]", "Khronos License", "Apache License 2.0 GNU General Public License v3.0 or later", "BSD 2-clause "Simplified" License", "the Unlicense Expat License", "*No copyright* Apache License 2.0". 2550 files have unknown license. Detailed output of licensecheck in /home/reviewer/1895567-usd/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [!]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [!]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib64/usd/plugin, /usr/lib64/usd/hd, /usr/lib64/usd/hgiGL, /usr/lib64/usd/hdx, /usr/lib64/usd/ndr, /usr/lib64/usd/usd/resources/usd, /usr/lib64/usd/usd/resources, /usr/lib64/usd/usd, /usr/lib64/usd/hdSt, /usr/lib64/usd/hio, /usr/lib64/usd/ar, /usr/lib64/usd/glf The -devel package should Require: cmake-filesystem for %{_libdir}/cmake. [!]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/usd/hdx, /usr/lib64/usd/ndr, /usr/lib64/usd/plugin, /usr/lib64/usd/usd/resources, /usr/lib64/usd/usd, /usr/lib64/usd/usd/resources/usd, /usr/lib64/usd/hd, /usr/lib64/usd/hdSt, /usr/lib64/usd/hgiGL, /usr/lib64/usd/hio, /usr/lib64/usd/ar, /usr/lib64/usd/glf [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. This point in the fedora-review tool output is obsolete; there are now very specific rules for bundling libraries (https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling), no FPC exception required. As far as I can tell, you have followed them for all bundled libraries. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. (This will apply if you get the Python part working.) [!]: Development files must be in a -devel package This will be correct after fixing the shared library versioning as described in the Issues section, above. [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [-]: Package is not known to require an ExcludeArch tag. Package is correctly ExclusiveArch. Must file Bugzilla tickets after the package is imported to dist-git, as required by https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_build_failures. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 245760 bytes in 7 files. A -doc subpackage will be required if you manage to build the documentation. [x]: Package complies to the Packaging Guidelines (except as otherwise noted) [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in usd-libs , usd-devel [?]: Package functions as described. [!]: Latest version is packaged. Version 21.05 is available. Please update. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [!]: %check is present and all tests pass. TODO: look into this. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: usd-21.02-4.fc35.x86_64.rpm usd-libs-21.02-4.fc35.x86_64.rpm usd-devel-21.02-4.fc35.x86_64.rpm usd-debuginfo-21.02-4.fc35.x86_64.rpm usd-debugsource-21.02-4.fc35.x86_64.rpm usd-21.02-4.fc35.src.rpm usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h usd.x86_64: W: no-manual-page-for-binary sdfdump usd.x86_64: W: no-manual-page-for-binary sdffilter usd-libs.x86_64: E: invalid-soname /usr/lib64/libar.so libar.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libarch.so libarch.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libcameraUtil.so libcameraUtil.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libgarch.so libgarch.so usd-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libgarch.so exit.5 usd-libs.x86_64: E: invalid-soname /usr/lib64/libgf.so libgf.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libglf.so libglf.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhd.so libhd.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhdSt.so libhdSt.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhdx.so libhdx.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhf.so libhf.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhgi.so libhgi.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhgiGL.so libhgiGL.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhgiInterop.so libhgiInterop.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhio.so libhio.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libjs.so libjs.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libkind.so libkind.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libndr.so libndr.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libpcp.so libpcp.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libplug.so libplug.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libpxOsd.so libpxOsd.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libsdf.so libsdf.so usd-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libsdf.so exit.5 usd-libs.x86_64: E: invalid-soname /usr/lib64/libsdr.so libsdr.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libtf.so libtf.so usd-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libtf.so exit.5 usd-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libtf.so _exit.5 usd-libs.x86_64: E: invalid-soname /usr/lib64/libtrace.so libtrace.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusd.so libusd.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdAppUtils.so libusdAppUtils.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdGeom.so libusdGeom.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdHydra.so libusdHydra.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdImaging.so libusdImaging.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdImagingGL.so libusdImagingGL.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdLux.so libusdLux.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdMedia.so libusdMedia.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdRender.so libusdRender.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdRi.so libusdRi.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdRiImaging.so libusdRiImaging.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdShade.so libusdShade.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdSkel.so libusdSkel.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdSkelImaging.so libusdSkelImaging.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdUI.so libusdUI.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdUtils.so libusdUtils.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdVol.so libusdVol.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdVolImaging.so libusdVolImaging.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libvt.so libvt.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libwork.so libwork.so usd-devel.x86_64: W: only-non-binary-in-usr-lib 6 packages and 0 specfiles checked; 44 errors, 11 warnings. Rpmlint (debuginfo) ------------------- Checking: usd-debuginfo-21.02-4.fc35.x86_64.rpm usd-libs-debuginfo-21.02-4.fc35.x86_64.rpm 2 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- usd-devel.x86_64: W: only-non-binary-in-usr-lib usd-libs.x86_64: E: invalid-soname /usr/lib64/libar.so libar.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libarch.so libarch.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libcameraUtil.so libcameraUtil.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libgarch.so libgarch.so usd-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libgarch.so exit.5 usd-libs.x86_64: E: invalid-soname /usr/lib64/libgf.so libgf.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libglf.so libglf.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhd.so libhd.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhdSt.so libhdSt.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhdx.so libhdx.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhf.so libhf.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhgi.so libhgi.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhgiGL.so libhgiGL.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhgiInterop.so libhgiInterop.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libhio.so libhio.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libjs.so libjs.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libkind.so libkind.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libndr.so libndr.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libpcp.so libpcp.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libplug.so libplug.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libpxOsd.so libpxOsd.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libsdf.so libsdf.so usd-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libsdf.so exit.5 usd-libs.x86_64: E: invalid-soname /usr/lib64/libsdr.so libsdr.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libtf.so libtf.so usd-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libtf.so exit.5 usd-libs.x86_64: W: shared-lib-calls-exit /usr/lib64/libtf.so _exit.5 usd-libs.x86_64: E: invalid-soname /usr/lib64/libtrace.so libtrace.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusd.so libusd.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdAppUtils.so libusdAppUtils.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdGeom.so libusdGeom.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdHydra.so libusdHydra.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdImaging.so libusdImaging.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdImagingGL.so libusdImagingGL.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdLux.so libusdLux.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdMedia.so libusdMedia.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdRender.so libusdRender.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdRi.so libusdRi.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdRiImaging.so libusdRiImaging.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdShade.so libusdShade.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdSkel.so libusdSkel.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdSkelImaging.so libusdSkelImaging.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdUI.so libusdUI.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdUtils.so libusdUtils.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdVol.so libusdVol.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libusdVolImaging.so libusdVolImaging.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libvt.so libvt.so usd-libs.x86_64: E: invalid-soname /usr/lib64/libwork.so libwork.so usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h usd.x86_64: W: no-manual-page-for-binary sdfdump usd.x86_64: W: no-manual-page-for-binary sdffilter 6 packages and 0 specfiles checked; 44 errors, 11 warnings. Unversioned so-files -------------------- usd-libs: /usr/lib64/libar.so usd-libs: /usr/lib64/libarch.so usd-libs: /usr/lib64/libcameraUtil.so usd-libs: /usr/lib64/libgarch.so usd-libs: /usr/lib64/libgf.so usd-libs: /usr/lib64/libglf.so usd-libs: /usr/lib64/libhd.so usd-libs: /usr/lib64/libhdSt.so usd-libs: /usr/lib64/libhdx.so usd-libs: /usr/lib64/libhf.so usd-libs: /usr/lib64/libhgi.so usd-libs: /usr/lib64/libhgiGL.so usd-libs: /usr/lib64/libhgiInterop.so usd-libs: /usr/lib64/libhio.so usd-libs: /usr/lib64/libjs.so usd-libs: /usr/lib64/libkind.so usd-libs: /usr/lib64/libndr.so usd-libs: /usr/lib64/libpcp.so usd-libs: /usr/lib64/libplug.so usd-libs: /usr/lib64/libpxOsd.so usd-libs: /usr/lib64/libsdf.so usd-libs: /usr/lib64/libsdr.so usd-libs: /usr/lib64/libtf.so usd-libs: /usr/lib64/libtrace.so usd-libs: /usr/lib64/libusd.so usd-libs: /usr/lib64/libusdAppUtils.so usd-libs: /usr/lib64/libusdGeom.so usd-libs: /usr/lib64/libusdHydra.so usd-libs: /usr/lib64/libusdImaging.so usd-libs: /usr/lib64/libusdImagingGL.so usd-libs: /usr/lib64/libusdLux.so usd-libs: /usr/lib64/libusdMedia.so usd-libs: /usr/lib64/libusdRender.so usd-libs: /usr/lib64/libusdRi.so usd-libs: /usr/lib64/libusdRiImaging.so usd-libs: /usr/lib64/libusdShade.so usd-libs: /usr/lib64/libusdSkel.so usd-libs: /usr/lib64/libusdSkelImaging.so usd-libs: /usr/lib64/libusdUI.so usd-libs: /usr/lib64/libusdUtils.so usd-libs: /usr/lib64/libusdVol.so usd-libs: /usr/lib64/libusdVolImaging.so usd-libs: /usr/lib64/libvt.so usd-libs: /usr/lib64/libwork.so usd-libs: /usr/lib64/usd/plugin/hdEmbree.so usd-libs: /usr/lib64/usd/plugin/hdStorm.so usd-libs: /usr/lib64/usd/plugin/hioOiio.so usd-libs: /usr/lib64/usd/plugin/sdrGlslfx.so usd-libs: /usr/lib64/usd/plugin/sdrOsl.so usd-libs: /usr/lib64/usd/plugin/usdAbc.so usd-libs: /usr/lib64/usd/plugin/usdShaders.so Source checksums ---------------- https://github.com/PixarAnimationStudios/usd/archive/v21.02/usd-21.02.tar.gz : CHECKSUM(SHA256) this package : 97bbae5d86d6e4db357645db183be03afe28fe024b242f27bd4f62b4e2eade53 CHECKSUM(SHA256) upstream package : 97bbae5d86d6e4db357645db183be03afe28fe024b242f27bd4f62b4e2eade53 Requires -------- usd (rpmlib, GLIBC filtered): libarch.so()(64bit) libboost_program_options.so.1.75.0()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libsdf.so()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libtf.so()(64bit) libvt.so()(64bit) rtld(GNU_HASH) usd-libs(x86-64) usd-libs (rpmlib, GLIBC filtered): ld-linux-x86-64.so.2()(64bit) libAlembic.so.1.8()(64bit) libGL.so.1()(64bit) libHalf-2_5.so.25()(64bit) libOpenColorIO.so.1()(64bit) libOpenImageIO.so.2.2()(64bit) libPtex.so.2.3()(64bit) libX11.so.6()(64bit) libar.so()(64bit) libarch.so()(64bit) libc.so.6()(64bit) libcameraUtil.so()(64bit) libdl.so.2()(64bit) libembree3.so.3()(64bit) libgarch.so()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libgf.so()(64bit) libglf.so()(64bit) libhd.so()(64bit) libhdSt.so()(64bit) libhdx.so()(64bit) libhf.so()(64bit) libhgi.so()(64bit) libhgiGL.so()(64bit) libhgiInterop.so()(64bit) libhio.so()(64bit) libjemalloc.so.2()(64bit) libjs.so()(64bit) libkind.so()(64bit) libm.so.6()(64bit) libndr.so()(64bit) libopenvdb.so.8.0()(64bit) libosdCPU.so.3.4.4()(64bit) libosdGPU.so.3.4.4()(64bit) liboslquery.so.1.11()(64bit) libpcp.so()(64bit) libplug.so()(64bit) libpthread.so.0()(64bit) libpxOsd.so()(64bit) libsdf.so()(64bit) libsdr.so()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.1)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.7)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libtbb.so.2()(64bit) libtf.so()(64bit) libtrace.so()(64bit) libusd.so()(64bit) libusdGeom.so()(64bit) libusdImaging.so()(64bit) libusdImagingGL.so()(64bit) libusdLux.so()(64bit) libusdShade.so()(64bit) libusdSkel.so()(64bit) libusdVol.so()(64bit) libvt.so()(64bit) libwork.so()(64bit) rtld(GNU_HASH) usd-devel (rpmlib, GLIBC filtered): cmake-filesystem(x86-64) usd-libs(x86-64) usd-debuginfo (rpmlib, GLIBC filtered): usd-debugsource (rpmlib, GLIBC filtered): Provides -------- usd: bundled(SPIRV-Reflect) bundled(VulkanMemoryAllocator) bundled(double-conversion) bundled(ilmbase) bundled(lz4) bundled(pugixml) bundled(rapidjson) bundled(stb_image) bundled(stb_image_resize) bundled(stb_image_write) usd usd(x86-64) usd-libs: libar.so()(64bit) libarch.so()(64bit) libcameraUtil.so()(64bit) libgarch.so()(64bit) libgf.so()(64bit) libglf.so()(64bit) libhd.so()(64bit) libhdSt.so()(64bit) libhdx.so()(64bit) libhf.so()(64bit) libhgi.so()(64bit) libhgiGL.so()(64bit) libhgiInterop.so()(64bit) libhio.so()(64bit) libjs.so()(64bit) libkind.so()(64bit) libndr.so()(64bit) libpcp.so()(64bit) libplug.so()(64bit) libpxOsd.so()(64bit) libsdf.so()(64bit) libsdr.so()(64bit) libtf.so()(64bit) libtrace.so()(64bit) libusd.so()(64bit) libusdAppUtils.so()(64bit) libusdGeom.so()(64bit) libusdHydra.so()(64bit) libusdImaging.so()(64bit) libusdImagingGL.so()(64bit) libusdLux.so()(64bit) libusdMedia.so()(64bit) libusdRender.so()(64bit) libusdRi.so()(64bit) libusdRiImaging.so()(64bit) libusdShade.so()(64bit) libusdSkel.so()(64bit) libusdSkelImaging.so()(64bit) libusdUI.so()(64bit) libusdUtils.so()(64bit) libusdVol.so()(64bit) libusdVolImaging.so()(64bit) libvt.so()(64bit) libwork.so()(64bit) usd-libs usd-libs(x86-64) usd-devel: cmake(pxr) usd-devel usd-devel(x86-64) usd-debuginfo: debuginfo(build-id) usd-debuginfo usd-debuginfo(x86-64) usd-debugsource: usd-debugsource usd-debugsource(x86-64) Generated by fedora-review 0.7.6 (b083f91) last change: 2020-11-10 Command line :/usr/bin/fedora-review -b 1895567 Buildroot used: fedora-rawhide-x86_64 Active plugins: C/C++, Generic, Shell-api Disabled plugins: PHP, fonts, Perl, Haskell, Python, SugarActivity, Java, R, Ocaml, Ruby Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
(In reply to Ben Beasley from comment #19) > This is getting much, much closer. There are still a few remaining things > that > need to be looked at. > Thanks for taking the time addrssing some issues. > > Issues: > ======= > - Header files in -devel subpackage, if present. > Note: usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd > : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd > : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd : > /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h > See: https://docs.fedoraproject.org/en-US/packaging- > guidelines/#_devel_packages > > This is spurious; these are documentation. If you ever manage to build the > documentation, you will need a -doc subpackage, and they should go in that. > For now, they are fine where they are. Sounds good. > > - Development (unversioned) .so files in -devel subpackage, if present. > Note: Unversioned so-files directly in %_libdir. > See: https://docs.fedoraproject.org/en-US/packaging- > guidelines/#_devel_packages Resolved. > > You have patched the CMake files to set an so-version, and offered the > change > upstream—great! But your change only works when PXR_BUILD_MONOLITHIC is > set, so > you need to set it. > > Then you can do something like: > > and > > %files libs > […] > %{_libdir}/lib%{name}_ms.so.%{libmajor} > […] > > and > > %files devel > […] > %{_libdir}/lib%{name}_ms.so > […] > > Interestingly, this also fixes the cmake install path, so you can remove > these lines: > > # Relocate cmake folder > mkdir -p %{buildroot}%{_libdir}/cmake > mv %{buildroot}%{_prefix}/cmake/* %{buildroot}%{_libdir}/cmake > rm -rf %{buildroot}%{_prefix}/cmake > > Note that the monolithic build means there is only one shared library file, > for better or for worse. Done. PXR_BUILD_MONOLITH is enabled and the above lines are removed. > - The License field appears correct, but you must break down which files are > covered by which licenses in a spec file comment or packaged auxiliary > license file, as mandated in > > https://docs.fedoraproject.org/en-US/packaging-guidelines/ > LicensingGuidelines/#_multiple_licensing_scenarios. > > You can use “licensecheck -r” to help you look for files with various > licenses. > I realized I forgot to add with licenses are associated to the files. Using the above command reveals only ilmbase, pxrDouble conversion and lz4 are under BSD while the majority are under ASL 2.0 and remainig generated. > - The -devel package should Require: cmake-filesystem for %{_libdir}/cmake. > > - The package fails to own the following directories: > > /usr/lib64/usd/hdx, /usr/lib64/usd/ndr, /usr/lib64/usd/plugin, > /usr/lib64/usd/usd/resources, /usr/lib64/usd/usd, > /usr/lib64/usd/usd/resources/usd, /usr/lib64/usd/hd, /usr/lib64/usd/hdSt, > /usr/lib64/usd/hgiGL, /usr/lib64/usd/hio, /usr/lib64/usd/ar, > /usr/lib64/usd/glf > > The easiest way to fix this would be to change > > %dir %{_libdir}/%{name} > %{_libdir}/%{name}/sdf > %{_libdir}/%{name}/plugInfo.json > %{_libdir}/%{name}/{ar,glf,hd,hdSt,hdx,hgiGL,hio,ndr}/* > %{_libdir}/%{name}/plugin/* > %{_libdir}/%{name}/%{name}/resources/generatedSchema.usda > %{_libdir}/%{name}/%{name}/resources/plugInfo.json > %{_libdir}/%{name}/%{name}/resources/usd/schema.usda > > %{_libdir}/%{name}/%{name}{Geom,Hydra,Imaging,ImagingGL,Lux,Media,Render}/ > %{_libdir}/%{name}/%{name}{Ri,RiImaging,Shade,Skel,SkelImaging,UI}/ > %{_libdir}/%{name}/%{name}{Vol,VolImaging}/ > > to > > %{_libdir}/%{name} > %exclude %{_libdir}/%{name}/%{name}/resources/codegenTemplates > > - Version 21.05 is available. Please update. > Package is updated to 21.05 and the remaing lines are trimmed to the above suggestion. cmake-filesystem is added on devel subpackage. > - The error you reported building the Python components was because uic-qt5 > defaults to C++ output. You can fix it by adding, at the beginning of > %build: > > cat > uic-wrapper <<'EOF' > #!/bin/sh > exec uic-qt5 -g python "$@" > EOF > chmod +x uic-wrapper > > and then, in the arguments to %cmake, changing PYSIDEUICBINARY to: > > -DPYSIDEUICBINARY:PATH=${PWD}/uic-wrapper > Done. > > Now you have the problem that the package is installed under > %{python3_sitelib} even though it has compiled extensions. The ugly but > simple solution is to add this after %cmake_install: > > mkdir -p %{buildroot}%{python3_sitearch} > mv %{buildroot}%{python3_sitelib}/* %{buildroot}%{python3_sitearch} > > Worse, some files are installed under a flagrantly wrong path: > > mv %{buildroot}%{prefix}/lib/python/pxr/*.* \ > %{buildroot}%{python3_sitearch}/pxr/ > mv %{buildroot}%{prefix}/lib/python/pxr/Usdviewq/* \ > %{buildroot}%{python3_sitearch}/pxr/Usdviewq/ > > Instead of all those “mv” commands in %install, you might prefer instead to > patch the build system with sed in %prep; I have not taken the time to > figure > out the right way to do this. > > See the ancient issue > https://github.com/PixarAnimationStudios/USD/issues/30. The ugle workaround appears resolving the issue. The above command has a syntax releated to %{_prefix} but fixed on the incoming spec file. > > - It turns out upstream also bundles a couple of fonts. You can unbundle > these > by, in %prep: > > rm -rvf pxr/usdImaging/usdviewq/fonts/* > ln -s %{_datadir}/fonts/google-roboto > pxr/usdImaging/usdviewq/fonts/Roboto > ln -s %{_datadir}/fonts/google-roboto-mono \ > pxr/usdImaging/usdviewq/fonts/Roboto_Mono > > and add: > > Requires: font(roboto) > Requires: font(robotoblack) > Requires: font(robotolight) > Requires: font(robotomono) > > to the Python subpackage. See > > https://docs.fedoraproject.org/en-US/packaging-guidelines/ > #_avoid_bundling_of_fonts_in_other_packages. Done. > > - Once I got the Python components building, I tried: > > python3 -m pxr.Usdviewq > > and got (on Fedora 33): > > File "/usr/lib64/python3.9/runpy.py", line 188, in _run_module_as_main > mod_name, mod_spec, code = _get_module_details(mod_name, _Error) > File "/usr/lib64/python3.9/runpy.py", line 147, in _get_module_details > return _get_module_details(pkg_main_name, error) > File "/usr/lib64/python3.9/runpy.py", line 111, in _get_module_details > __import__(pkg_name) > File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/__init__.py", > line 30, in <module> > from .common import Timer > File > "/usr/lib64/python3.9/site-packages/shiboken2/files.dir/shibokensupport/ > __feature__.py", line 142, in _import > return original_import(name, *args, **kwargs) > File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/common.py", line > 28, in <module> > from pxr import Ar, Tf, Sdf, Kind, Usd, UsdGeom, UsdShade > File > "/usr/lib64/python3.9/site-packages/shiboken2/files.dir/shibokensupport/ > __feature__.py", line 142, in _import > return original_import(name, *args, **kwargs) > File "/usr/lib64/python3.9/site-packages/pxr/Ar/__init__.py", line 24, > in <module> > from . import _ar > File > "/usr/lib64/python3.9/site-packages/shiboken2/files.dir/shibokensupport/ > __feature__.py", line 142, in _import > return original_import(name, *args, **kwargs) > ImportError: /lib64/libjemalloc.so.2: cannot allocate memory in static > TLS block > > so I tried putting > > BuildRequires: pkgconfig(jemalloc) > > and > > -DPXR_MALLOC_LIBRARY="%{_libdir}/libjemalloc.so" \ > > behind a disabled build conditional, and got this instead: > > /usr/bin/python3: No module named pxr.Usdviewq.__main__; 'pxr.Usdviewq' > is a package and cannot be directly executed > > OK, I guess this isn’t how to start usdviewq, but the import is working, so > it looks like not using jemalloc is the way to go. Maybe there is some > other > way to fix this, but this way works—maybe at some performance cost, or > maybe > not. > jemalloc is disabled. Trying to execute usdview generates the following traceback: usdview Traceback (most recent call last): File "/usr/bin/usdview", line 28, in <module> import pxr.Usdviewq as Usdviewq File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/__init__.py", line 29, in <module> from .qt import QtWidgets, QtCore File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/qt.py", line 42, in <module> PySideModule = GetPySideModule() File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/qt.py", line 31, in GetPySideModule from . import attributeValueEditorUI File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/attributeValueEditorUI.py", line 11, in <module> from PySide2.QtCore import * > - It turns out that with Python enabled, you get quite a few more binaries in > the main “usd” package: > > /usr/bin/sdfdump: ELF 64-bit LSB pie executable, x86-64, version > 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, > BuildID[sha1]=d5c4551cc2fc937008004724d7dabeab13f92be2, for GNU/Linux 3.2.0, > stripped > /usr/bin/sdffilter: ELF 64-bit LSB pie executable, x86-64, version > 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, > BuildID[sha1]=f9c69423f6eea1aa506e58c95f99db631cfe78ec, for GNU/Linux 3.2.0, > stripped > /usr/bin/testusdview: Python script, ASCII text executable > /usr/bin/usdcat: Python script, ASCII text executable > /usr/bin/usdchecker: Python script, ASCII text executable > /usr/bin/usddiff: Python script, ASCII text executable > /usr/bin/usddumpcrate: Python script, ASCII text executable > /usr/bin/usdedit: Python script, ASCII text executable > /usr/bin/usdGenSchema: Python script, ASCII text executable > /usr/bin/usdrecord: Python script, ASCII text executable > /usr/bin/usdresolve: Python script, ASCII text executable > /usr/bin/usdstitch: Python script, ASCII text executable > /usr/bin/usdstitchclips: Python script, ASCII text executable > /usr/bin/usdtree: Python script, ASCII text executable > /usr/bin/usdview: Python script, ASCII text executable > /usr/bin/usdzip: Python script, ASCII text executable > > Hey, look, there’s the usdview launcher. Anyway, it looks like you now need > to either put most of these in the python3-usd subpackage, or (probably > better) you need to add > > Requires: python3-%{name}%{?_isa} = %{version}-%{release} > > to the main “usd” package. Done. > > - Since the importable Python package is actually called “pxr”, you should > add > > %py_provides python3-pxr > > per > > https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ > #_the_py_provides_macro > to get the right virtual provides. Or, you could rename the Python > subpackage > to match the Python import, and the %py_provides would be unnecessary. > > - I tried usdview on the file top.geom.usd and had the window appear for a > couple of seconds, with a glitchy, transparent hole where the OpenGL render > should be. Then it crashed: > > QSocketNotifier: Can only be used with threads started with QThread > State file not found, a new one will be created. > Traceback (most recent call last): > File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/stageView.py", > line 1659, in paintGL > renderer = self._getRenderer() > File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/stageView.py", > line 970, in _getRenderer > self._renderer = UsdImagingGL.Engine() > pxr.Tf.ErrorException: > Error in 'pxrInternal_v0_21__pxrReserved__::GlfContextCaps::_LoadCaps' > at line 162 in file > /builddir/build/BUILD/USD-21.02/pxr/imaging/glf/contextCaps.cpp : 'Failed > verification: ' GlfGLContext::GetCurrentGLContext()->IsValid() '' > Error in > 'pxrInternal_v0_21__pxrReserved__::{anonymous}::_IsHydraEnabled' at line 109 > in file > /builddir/build/BUILD/USD-21.02/pxr/usdImaging/usdImagingGL/engine.cpp : > 'OpenGL context required, using reference renderer' > /usr/include/c++/10/bits/stl_vector.h:1063: std::vector<_Tp, > _Alloc>::const_reference std::vector<_Tp, > _Alloc>::operator[](std::vector<_Tp, _Alloc>::size_type) const [with _Tp = > float; _Alloc = std::allocator<float>; std::vector<_Tp, > _Alloc>::const_reference = const float&; std::vector<_Tp, _Alloc>::size_type > = long unsigned int]: Assertion '__builtin_expect(__n < this->size(), true)' > failed. > Aborted (core dumped) > > Is this what happens for you, once you fix the Python build? > See above. For some reason, pyside2 is missing. > It looks similar to > https://github.com/PixarAnimationStudios/USD/issues/1467 > and https://github.com/PixarAnimationStudios/USD/issues/764, but not > identical. It may be something you can only report upstream. It would be > nice > not to have such a glaring bug right out of the gate, but I wouldn’t > consider > it a blocker for the package given how much other functionality it offers. > > - Since usdview is a desktop application, you will need to write a downstream > desktop file (which you can offer upstream): > https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_files. > > AppStream XML files, > https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/, are > good > too, and are a SHOULD, but I have found they are very hard to properly > create > downstream since they need to have screenshots and a description under an > ultra-permissive license such as CC0. The .desktop file, though, is > necessary. > Done. Appstream files is not included yet. Maybe once usdview is functional, I will take some screenshots and submit to upstream. For the desktop icon, upstream has logo but in a lower resolution. > - I think > > %global test OFF > > should be a build conditional: > > %bcond_with test > > and then you can replace > > -DPXR_BUILD_TESTS=%{test} \ > > with > > -DPXR_BUILD_TESTS=%{?with_test:ON}%{!?with_test:OFF} \ Done. > > - I would still like to see the tests runnable, but I am going to go ahead > and > provide this review while I look into what that would require. I intend to > offer suggestions here if I can figure out why they did not work for you. Thanks. > > Notes (a change is not required) > ================================ > > - This is not needed if you are only targeting F33 and later: > > %undefine __cmake_in_source_build > > (Since F32 is almost EOL, why bother with it?) You are right. The above line is now dropped. > > - You could drop the license file from the main package “usd” since it > depends > on “usd-libs”, which does have the license file. > Done. > - You have correctly justified the ExclusiveArch in a comment. After the > package is imported to dist-git, you must file Bugzilla tickets blocking > the > tracker bugs for all unsupported architectures, as required by > > https://docs.fedoraproject.org/en-US/packaging-guidelines/ > #_architecture_build_failures. > Will do. > - Instead of > > # Fix all Python shebangs recursively in . > pathfix.py -pni "%{__python3} %{py3_shbang_opts}" . > > it would be simpler to write > > %py3_shebang_fix . At last a macro. Fixed. Here is the updated SPEC: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-rawhide-x86_64/02155514-usd/usd.spec SRPM: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-rawhide-x86_64/02155514-usd/usd-21.05-1.fc35.src.rpm
Looking at your update now. I’m curious about the pyside error you saw, since it didn’t happen to me. I’ll see if I can spot what was happening once I’ve rebuilt your latest version.
Still working on this. I do have an explanation for the pyside error.
Thank you the update. I will for the reason behind the pyside error.
Okay, we’re still getting closer. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated Issues: ======= - Header files in -devel subpackage, if present. Note: usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_devel_packages This is spurious; these are documentation. If you ever manage to build the documentation, you will need a -doc subpackage, and they should go in that. For now, they are fine where they are. - Package contains BR: python2-devel or python3-devel Here, fedora-review is saying the mentioned BR is missing, because it doesn’t recognize BuildRequires: pkgconfig(python3) as equivalent to BuildRequires: python3-devel Since this will probably always work, I think it is permissible. However, it’s still an odd way to express the dependency unless Python 3 is actually detected using pkg-config/pkgconf. - Package does not contain duplicates in %files. Note: warning: File listed twice: /usr/lib64/usd See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_duplicate_files Since you have %{_libdir}/%{name} in %files now, you can drop %dir %{_libdir}/%{name} - You still need to document the license breakdown in the spec file (https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_multiple_licensing_scenarios). I pretty much tabulated this for you in the original review. I believe this would be one correct implementation: # The entire source is ASL 2.0 except: # # BSD: # - pxr/base/gf/ilmbase_* # - pxr/base/js/rapidjson/msinttypes/ # - pxr/base/tf/pxrDoubleConversion/ # - pxr/base/tf/pxrLZ4/ # MIT: # - pxr/imaging/garch/khrplatform.h # - pxr/base/js/rapidjson/, except pxr/base/js/rapidjson/msinttypes/ # - pxr/base/tf/pyLock.cpp (only some sections; most of the file is # ASL 2.0) # - third_party/renderman-23/plugin/rmanArgsParser/pugixml/ # MIT or Unlicense: # - pxr/imaging/hio/stb/ # # (Certain build system files are also under licenses other than ASL 2.0, but # do not contribute their license terms to the built RPMs.) License: ASL 2.0 and BSD and MIT and (MIT or Unlicense) You should probably double-check my work. - A minor quibble, but I think if the usdview binary is going to be in the “usd” package, the desktop file should be there too instead of in the python3-usd package, i.e.: %files %doc NOTICE.txt README.md %{_bindir}/* %dir %{_datadir}/%{name} %dir %{_datadir}/%{name}/examples/ %{_datadir}/%{name}/examples/* %if %{with python3} %{_datadir}/applications/org.open%{name}.%{name}view.desktop %endif But in the end it’s going to work well enough either way. - Rpmlint reports: python3-usd.x86_64: E: non-executable-script /usr/lib64/python3.9/site-packages/pxr/Sdr/shaderParserTestUtils.py 644 /usr/bin/python3 -s python3-usd.x86_64: E: non-executable-script /usr/lib64/python3.9/site-packages/pxr/UsdUtils/updateSchemaWithSdrNode.py 644 /usr/bin/python3 -s python3-usd.x86_64: E: non-executable-script /usr/lib64/python3.9/site-packages/pxr/Usdviewq/usdviewApi.py 644 /usr/bin/python3 -s and in fact, based on their contents, none of these would be usable as a script even if they were executable, so you should remove the shebang lines. This would do it in %prep: sed -r -i '1{/^#!/d}' \ pxr/usd/sdr/shaderParserTestUtils.py \ pxr/usd/usdUtils/updateSchemaWithSdrNode.py \ pxr/usdImaging/usdviewq/usdviewApi.py - You reported: Trying to execute usdview generates the following traceback: usdview Traceback (most recent call last): File "/usr/bin/usdview", line 28, in <module> import pxr.Usdviewq as Usdviewq File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/__init__.py", line 29, in <module> from .qt import QtWidgets, QtCore File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/qt.py", line 42, in <module> PySideModule = GetPySideModule() File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/qt.py", line 31, in GetPySideModule from . import attributeValueEditorUI File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/attributeValueEditorUI.py", line 11, in <module> from PySide2.QtCore import * I see: python3-usd (rpmlib, GLIBC filtered): font(roboto) font(robotoblack) font(robotolight) font(robotomono) ld-linux-x86-64.so.2()(64bit) libOpenImageIO_Util.so.2.2()(64bit) libboost_python39.so.1.75.0()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libpython3.9.so.1.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.1)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libtbb.so.2()(64bit) libusd_ms.so.0()(64bit) python(abi) rtld(GNU_HASH) So the boost-python-based build is not generating the dist-info or egg-info metadata that would be required for the Python dependency generator (https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/#_automatically_generated_dependencies) to work. You will have to manually add the appropriate dependencies (ones used only as Python imports; those linked as C or C++ libraries are still detectable) to the spec file: Requires: python3dist(jinja2) Requires: python3dist(pyside2) Requires: python3dist(pyopengl) - The line %dir %{_datadir}/%{name} is not a correct path for %files docs. (It is not affecting anything since you are not currently building the documentation.) - You could drop the desktop-file-validate invocation since you are installing the desktop file with desktop-file-install. (However, the double validation doesn’t do any harm.) https://docs.fedoraproject.org/en-US/packaging-guidelines/#_desktop_file_install_usage - If you enable the tests, here’s the error I see: /home/reviewer/rpmbuild/BUILD/USD-21.05/pxr/base/tf/testenv/weakPtr.cpp: In function 'bool Test_TfCreateRefPtrFromProtectedWeakPtr()': /home/reviewer/rpmbuild/BUILD/USD-21.05/pxr/base/tf/testenv/weakPtr.cpp:338:27: error: 'sleep_for' is not a member of 'std::this_thread' 338 | std::this_thread::sleep_for(std::chrono::milliseconds(250)); | ^~~~~~~~~ gmake[2]: *** [pxr/base/tf/CMakeFiles/testTf.dir/build.make:644: pxr/base/tf/CMakeFiles/testTf.dir/testenv/weakPtr.cpp.o] Error 1 gmake[2]: *** Waiting for unfinished jobs.... gmake[2]: Leaving directory '/home/reviewer/rpmbuild/BUILD/USD-21.05/x86_64-redhat-linux-gnu' gmake[1]: *** [CMakeFiles/Makefile2:2961: pxr/base/tf/CMakeFiles/testTf.dir/all] Error 2 gmake[1]: Leaving directory '/home/reviewer/rpmbuild/BUILD/USD-21.05/x86_64-redhat-linux-gnu' gmake: *** [Makefile:163: all] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.f9uxSV (%build) It turns out that this is just a missing include, and there’s another one you run into after fixing that one. The patch usd-21.05-missing-includes.patc fixes all of them; please forward it upstream. Now the tests are built and (unfortunately) installed, in the nonstandard path /usr/tests/; cmake/macros/Public.cmake seems to govern this. There is a comment # XXX -- We shouldn't have to install to run tests. (I agree!) but I couldn’t find a corresponding upstream issue. There might be a way to change where the tests are installed—I didn’t look into it too closely—or perhaps one could %exclude %{_prefix}/tests in %files, although that use of %exclude (ignoring installed files altogether so that they are not in any subpackage) is allegedly supposed to go away in a future version of RPM. This %{?test:%ctest} must be now be changed to %{?with_test:%ctest} in order to try to run the tests. Once I do all that, I get a huge number of test failures because all the tests are trying to use absolute paths, but they are installed inside the buildroot directory. So I think the endgame here is an upstream issue for the patch I offered, plus an upstream issue about running the tests without installing them, and comments linking those where the %check section would be. I don’t think actually running the tests right now is going to be practical. - Man pages for the executables would be great, if practical. You might be able to use help2man to generate acceptable ones. If not, and if you don’t want to hand-write them, you can at least ask upstream if they would consider providing them. See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages. ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. All remaining unversioned .so files are Python extension modules properly installed under %{python3_sitearch}. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: ldconfig not called in %post and %postun for Fedora 28 and later. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "Khronos License Expat License Apache License 2.0", "Apache License 2.0", "Expat License", "BSD 3-clause "New" or "Revised" License", "Apache License 2.0 [generated file]", "Khronos License", "Apache License 2.0 GNU General Public License v3.0 or later", "BSD 2-clause "Simplified" License", "the Unlicense Expat License", "*No copyright* Apache License 2.0". 2567 files have unknown license. Detailed output of licensecheck in /home/reviewer/1895567-usd/2/1895567-usd/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [!]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. I still don’t see the breakdown documented in the spec file. See Issues section. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [!]: Requires correct, justified where necessary. See Issues above regarding Python dependencies [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [-]: Package is not known to require an ExcludeArch tag. Package is correctly ExclusiveArch. Must file Bugzilla tickets after the package is imported to dist-git, as required by https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_build_failures. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 276480 bytes in 7 files. A -doc subpackage will be required if you manage to build the documentation. [x]: Package complies to the Packaging Guidelines (except as otherwise noted) [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install or desktop-file-validate if there is such a file. [x]: Dist tag is present. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [x]: Python eggs must not download any dependencies during the build process. [x]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in usd-libs , usd-devel , python3-usd [!]: Package functions as described. See Issues section regarding fixes for usdview [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [!]: %check is present and all tests pass. See Issues section; but I don’t think this will be practical for now. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: usd-21.05-1.fc35.x86_64.rpm usd-libs-21.05-1.fc35.x86_64.rpm usd-devel-21.05-1.fc35.x86_64.rpm python3-usd-21.05-1.fc35.x86_64.rpm usd-debuginfo-21.05-1.fc35.x86_64.rpm usd-debugsource-21.05-1.fc35.x86_64.rpm usd-21.05-1.fc35.src.rpm usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h usd.x86_64: W: no-manual-page-for-binary sdfdump usd.x86_64: W: no-manual-page-for-binary sdffilter usd.x86_64: W: no-manual-page-for-binary testusdview usd.x86_64: W: no-manual-page-for-binary usdGenSchema usd.x86_64: W: no-manual-page-for-binary usdcat usd.x86_64: W: no-manual-page-for-binary usdchecker usd.x86_64: W: no-manual-page-for-binary usddiff usd.x86_64: W: no-manual-page-for-binary usddumpcrate usd.x86_64: W: no-manual-page-for-binary usdedit usd.x86_64: W: no-manual-page-for-binary usdrecord usd.x86_64: W: no-manual-page-for-binary usdresolve usd.x86_64: W: no-manual-page-for-binary usdstitch usd.x86_64: W: no-manual-page-for-binary usdstitchclips usd.x86_64: W: no-manual-page-for-binary usdtree usd.x86_64: W: no-manual-page-for-binary usdview usd.x86_64: W: no-manual-page-for-binary usdzip python3-usd.x86_64: W: no-documentation python3-usd.x86_64: E: non-executable-script /usr/lib64/python3.9/site-packages/pxr/Sdr/shaderParserTestUtils.py 644 /usr/bin/python3 -s python3-usd.x86_64: E: non-executable-script /usr/lib64/python3.9/site-packages/pxr/UsdUtils/updateSchemaWithSdrNode.py 644 /usr/bin/python3 -s python3-usd.x86_64: W: dangling-symlink /usr/lib64/python3.9/site-packages/pxr/Usdviewq/fonts/Roboto /usr/share/fonts/google-roboto python3-usd.x86_64: W: dangling-symlink /usr/lib64/python3.9/site-packages/pxr/Usdviewq/fonts/Roboto_Mono /usr/share/fonts/google-roboto-mono python3-usd.x86_64: E: non-executable-script /usr/lib64/python3.9/site-packages/pxr/Usdviewq/usdviewApi.py 644 /usr/bin/python3 -s python3-usd.x86_64: W: desktopfile-without-binary /usr/share/applications/org.openusd.usdview.desktop usdview usd.src:250: E: hardcoded-library-path in %{_prefix}/lib/python/pxr/*.* usd.src:252: E: hardcoded-library-path in %{_prefix}/lib/python/pxr/Usdviewq/* 7 packages and 0 specfiles checked; 5 errors, 24 warnings. Rpmlint (debuginfo) ------------------- Checking: usd-libs-debuginfo-21.05-1.fc35.x86_64.rpm usd-debuginfo-21.05-1.fc35.x86_64.rpm 2 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h usd.x86_64: W: no-manual-page-for-binary sdfdump usd.x86_64: W: no-manual-page-for-binary sdffilter usd.x86_64: W: no-manual-page-for-binary testusdview usd.x86_64: W: no-manual-page-for-binary usdGenSchema usd.x86_64: W: no-manual-page-for-binary usdcat usd.x86_64: W: no-manual-page-for-binary usdchecker usd.x86_64: W: no-manual-page-for-binary usddiff usd.x86_64: W: no-manual-page-for-binary usddumpcrate usd.x86_64: W: no-manual-page-for-binary usdedit usd.x86_64: W: no-manual-page-for-binary usdrecord usd.x86_64: W: no-manual-page-for-binary usdresolve usd.x86_64: W: no-manual-page-for-binary usdstitch usd.x86_64: W: no-manual-page-for-binary usdstitchclips usd.x86_64: W: no-manual-page-for-binary usdtree usd.x86_64: W: no-manual-page-for-binary usdview usd.x86_64: W: no-manual-page-for-binary usdzip python3-usd.x86_64: W: no-documentation python3-usd.x86_64: E: non-executable-script /usr/lib64/python3.9/site-packages/pxr/Sdr/shaderParserTestUtils.py 644 /usr/bin/python3 -s python3-usd.x86_64: E: non-executable-script /usr/lib64/python3.9/site-packages/pxr/UsdUtils/updateSchemaWithSdrNode.py 644 /usr/bin/python3 -s python3-usd.x86_64: W: dangling-symlink /usr/lib64/python3.9/site-packages/pxr/Usdviewq/fonts/Roboto /usr/share/fonts/google-roboto python3-usd.x86_64: W: dangling-symlink /usr/lib64/python3.9/site-packages/pxr/Usdviewq/fonts/Roboto_Mono /usr/share/fonts/google-roboto-mono python3-usd.x86_64: E: non-executable-script /usr/lib64/python3.9/site-packages/pxr/Usdviewq/usdviewApi.py 644 /usr/bin/python3 -s 7 packages and 0 specfiles checked; 3 errors, 23 warnings. Unversioned so-files -------------------- python3-usd: /usr/lib64/python3.9/site-packages/pxr/Ar/_ar.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/CameraUtil/_cameraUtil.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Garch/_garch.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Gf/_gf.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Glf/_glf.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Kind/_kind.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Ndr/_ndr.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Pcp/_pcp.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Plug/_plug.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/PxOsd/_pxOsd.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Sdf/_sdf.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Sdr/_sdr.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/SdrOsl/_sdrOsl.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Tf/_tf.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Trace/_trace.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Usd/_usd.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdAbc/_usdAbc.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdAppUtils/_usdAppUtils.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdGeom/_usdGeom.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdHydra/_usdHydra.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdImagingGL/_usdImagingGL.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdLux/_usdLux.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdMedia/_usdMedia.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdRender/_usdRender.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdRi/_usdRi.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdShade/_usdShade.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdSkel/_usdSkel.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdUI/_usdUI.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdUtils/_usdUtils.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdVol/_usdVol.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Usdviewq/_usdviewq.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Vt/_vt.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Work/_work.so Source checksums ---------------- https://github.com/PixarAnimationStudios/usd/archive/v21.05/usd-21.05.tar.gz : CHECKSUM(SHA256) this package : 165d0e1e45385076121268eba0da2a0ba4a7e5c2b8eab9ab26fb2fcd81a1a478 CHECKSUM(SHA256) upstream package : 165d0e1e45385076121268eba0da2a0ba4a7e5c2b8eab9ab26fb2fcd81a1a478 Requires -------- usd (rpmlib, GLIBC filtered): /usr/bin/python3 libOpenImageIO_Util.so.2.2()(64bit) libboost_program_options.so.1.75.0()(64bit) libboost_python39.so.1.75.0()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libpython3.9.so.1.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libusd_ms.so.0()(64bit) python3-usd(x86-64) rtld(GNU_HASH) usd-libs(x86-64) usd-libs (rpmlib, GLIBC filtered): ld-linux-x86-64.so.2()(64bit) libAlembic.so.1.8()(64bit) libGL.so.1()(64bit) libHalf-2_5.so.25()(64bit) libOpenColorIO.so.1()(64bit) libOpenImageIO.so.2.2()(64bit) libPtex.so.2.3()(64bit) libX11.so.6()(64bit) libboost_python39.so.1.75.0()(64bit) libc.so.6()(64bit) libdl.so.2()(64bit) libembree3.so.3()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libm.so.6()(64bit) libopenvdb.so.8.0()(64bit) libosdCPU.so.3.4.4()(64bit) libosdGPU.so.3.4.4()(64bit) liboslquery.so.1.11()(64bit) libpthread.so.0()(64bit) libpython3.9.so.1.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.1)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.7)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libtbb.so.2()(64bit) rtld(GNU_HASH) usd-devel (rpmlib, GLIBC filtered): cmake-filesystem cmake-filesystem(x86-64) libusd_ms.so.0()(64bit) usd-libs(x86-64) python3-usd (rpmlib, GLIBC filtered): font(roboto) font(robotoblack) font(robotolight) font(robotomono) ld-linux-x86-64.so.2()(64bit) libOpenImageIO_Util.so.2.2()(64bit) libboost_python39.so.1.75.0()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libpython3.9.so.1.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.1)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libtbb.so.2()(64bit) libusd_ms.so.0()(64bit) python(abi) rtld(GNU_HASH) usd-debuginfo (rpmlib, GLIBC filtered): usd-debugsource (rpmlib, GLIBC filtered): Provides -------- usd: bundled(SPIRV-Reflect) bundled(VulkanMemoryAllocator) bundled(double-conversion) bundled(ilmbase) bundled(lz4) bundled(pugixml) bundled(rapidjson) bundled(stb_image) bundled(stb_image_resize) bundled(stb_image_write) usd usd(x86-64) usd-libs: libusd_ms.so.0()(64bit) usd-libs usd-libs(x86-64) usd-devel: cmake(pxr) usd-devel usd-devel(x86-64) python3-usd: application() application(org.openusd.usdview.desktop) python-pxr python-usd python3-pxr python3-usd python3-usd(x86-64) python3.9-pxr python3.9-usd usd-debuginfo: debuginfo(build-id) usd-debuginfo usd-debuginfo(x86-64) usd-debugsource: usd-debugsource usd-debugsource(x86-64) Generated by fedora-review 0.7.6 (b083f91) last change: 2020-11-10 Command line :/usr/bin/fedora-review -b 1895567 Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Shell-api, Python, C/C++ Disabled plugins: Java, fonts, Perl, PHP, Ocaml, Ruby, SugarActivity, Haskell, R Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
(In reply to Ben Beasley from comment #24) > Issues: > ======= > - Header files in -devel subpackage, if present. > Note: usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd > : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd > : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd : > /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h > See: https://docs.fedoraproject.org/en-US/packaging- > guidelines/#_devel_packages > > This is spurious; these are documentation. If you ever manage to build the > documentation, you will need a -doc subpackage, and they should go in that. > For now, they are fine where they are. Sounds good. > > - Package contains BR: python2-devel or python3-devel > > Here, fedora-review is saying the mentioned BR is missing, because it > doesn’t > recognize > > BuildRequires: pkgconfig(python3) > > as equivalent to > > BuildRequires: python3-devel > > Since this will probably always work, I think it is permissible. However, > it’s still an odd way to express the dependency unless Python 3 is actually > detected using pkg-config/pkgconf. > It seemms like a bug for fedora-review because Python 3 is detected using pkgconfig(python3). See https://fedora.pkgs.org/rawhide/fedora-x86_64/python3-devel-3.9.5-1.fc35.x86_64.rpm.html listing pkgconfig files. > - Package does not contain duplicates in %files. > Note: warning: File listed twice: /usr/lib64/usd > > Since you have > %{_libdir}/%{name} > > in %files now, you can drop > > %dir %{_libdir}/%{name} Done. > > - You still need to document the license breakdown in the spec file > > (https://docs.fedoraproject.org/en-US/packaging-guidelines/ > LicensingGuidelines/#_multiple_licensing_scenarios). > > I pretty much tabulated this for you in the original review. > > I believe this would be one correct implementation: > > # The entire source is ASL 2.0 except: > # > # BSD: > # - pxr/base/gf/ilmbase_* > # - pxr/base/js/rapidjson/msinttypes/ > # - pxr/base/tf/pxrDoubleConversion/ > # - pxr/base/tf/pxrLZ4/ > # MIT: > # - pxr/imaging/garch/khrplatform.h > # - pxr/base/js/rapidjson/, except pxr/base/js/rapidjson/msinttypes/ > # - pxr/base/tf/pyLock.cpp (only some sections; most of the file is > # ASL 2.0) > # - third_party/renderman-23/plugin/rmanArgsParser/pugixml/ > # MIT or Unlicense: > # - pxr/imaging/hio/stb/ > # > # (Certain build system files are also under licenses other than ASL > 2.0, but > # do not contribute their license terms to the built RPMs.) > License: ASL 2.0 and BSD and MIT and (MIT or Unlicense) > > You should probably double-check my work. Done. I double-check the list with yours and it matches. > > - A minor quibble, but I think if the usdview binary is going to be in the > “usd” package, the desktop file should be there too instead of in the > python3-usd package, i.e.: > > %files > %doc NOTICE.txt README.md > %{_bindir}/* > %dir %{_datadir}/%{name} > %dir %{_datadir}/%{name}/examples/ > %{_datadir}/%{name}/examples/* > %if %{with python3} > %{_datadir}/applications/org.open%{name}.%{name}view.desktop > %endif > > But in the end it’s going to work well enough either way. Maybe improve those lines after package is pushed on the main repository. > > - Rpmlint reports: > > python3-usd.x86_64: E: non-executable-script > /usr/lib64/python3.9/site-packages/pxr/Sdr/shaderParserTestUtils.py 644 > /usr/bin/python3 -s > python3-usd.x86_64: E: non-executable-script > /usr/lib64/python3.9/site-packages/pxr/UsdUtils/updateSchemaWithSdrNode.py > 644 /usr/bin/python3 -s > python3-usd.x86_64: E: non-executable-script > /usr/lib64/python3.9/site-packages/pxr/Usdviewq/usdviewApi.py 644 > /usr/bin/python3 -s > > and in fact, based on their contents, none of these would be usable as a > script even if they were executable, so you should remove the shebang > lines. > This would do it in %prep: > > sed -r -i '1{/^#!/d}' \ > pxr/usd/sdr/shaderParserTestUtils.py \ > pxr/usd/usdUtils/updateSchemaWithSdrNode.py \ > pxr/usdImaging/usdviewq/usdviewApi.py Done, > > - You reported: > > Trying to execute usdview generates the following traceback: > > usdview > Traceback (most recent call last): > File "/usr/bin/usdview", line 28, in <module> > import pxr.Usdviewq as Usdviewq > File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/__init__.py", > line 29, in <module> > from .qt import QtWidgets, QtCore > File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/qt.py", line 42, > in <module> > PySideModule = GetPySideModule() > File "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/qt.py", line 31, > in GetPySideModule > from . import attributeValueEditorUI > File > "/usr/lib64/python3.9/site-packages/pxr/Usdviewq/attributeValueEditorUI.py", > line 11, in <module> > from PySide2.QtCore import * > > I see: > > python3-usd (rpmlib, GLIBC filtered): > font(roboto) > font(robotoblack) > font(robotolight) > font(robotomono) > ld-linux-x86-64.so.2()(64bit) > libOpenImageIO_Util.so.2.2()(64bit) > libboost_python39.so.1.75.0()(64bit) > libc.so.6()(64bit) > libgcc_s.so.1()(64bit) > libgcc_s.so.1(GCC_3.0)(64bit) > libgcc_s.so.1(GCC_3.3.1)(64bit) > libm.so.6()(64bit) > libpthread.so.0()(64bit) > libpython3.9.so.1.0()(64bit) > libstdc++.so.6()(64bit) > libstdc++.so.6(CXXABI_1.3)(64bit) > libstdc++.so.6(CXXABI_1.3.1)(64bit) > libstdc++.so.6(CXXABI_1.3.5)(64bit) > libstdc++.so.6(CXXABI_1.3.9)(64bit) > libtbb.so.2()(64bit) > libusd_ms.so.0()(64bit) > python(abi) > rtld(GNU_HASH) > > So the boost-python-based build is not generating the dist-info or egg-info > metadata that would be required for the Python dependency generator > > (https://docs.fedoraproject.org/en-US/packaging-guidelines/Python/ > #_automatically_generated_dependencies) > to work. You will have to manually add the appropriate dependencies (ones > used only as Python imports; those linked as C or C++ libraries are still > detectable) to the spec file: > > Requires: python3dist(jinja2) > Requires: python3dist(pyside2) > Requires: python3dist(pyopengl) usdview works now with these added requirement. > > - The line > > %dir %{_datadir}/%{name} > > is not a correct path for %files docs. (It is not affecting anything > since you are not currently building the documentation.) Fixed just in case. > > - You could drop the desktop-file-validate invocation since you are > installing > the desktop file with desktop-file-install. (However, the double validation > doesn’t do any harm.) Let's keep it for new. > > https://docs.fedoraproject.org/en-US/packaging-guidelines/ > #_desktop_file_install_usage > > - If you enable the tests, here’s the error I see: > > /home/reviewer/rpmbuild/BUILD/USD-21.05/pxr/base/tf/testenv/weakPtr.cpp: > In function 'bool Test_TfCreateRefPtrFromProtectedWeakPtr()': > > /home/reviewer/rpmbuild/BUILD/USD-21.05/pxr/base/tf/testenv/weakPtr.cpp:338: > 27: error: 'sleep_for' is not a member of 'std::this_thread' > 338 | > std::this_thread::sleep_for(std::chrono::milliseconds(250)); > | ^~~~~~~~~ > gmake[2]: *** [pxr/base/tf/CMakeFiles/testTf.dir/build.make:644: > pxr/base/tf/CMakeFiles/testTf.dir/testenv/weakPtr.cpp.o] Error 1 > gmake[2]: *** Waiting for unfinished jobs.... > gmake[2]: Leaving directory > '/home/reviewer/rpmbuild/BUILD/USD-21.05/x86_64-redhat-linux-gnu' > gmake[1]: *** [CMakeFiles/Makefile2:2961: > pxr/base/tf/CMakeFiles/testTf.dir/all] Error 2 > gmake[1]: Leaving directory > '/home/reviewer/rpmbuild/BUILD/USD-21.05/x86_64-redhat-linux-gnu' > gmake: *** [Makefile:163: all] Error 2 > error: Bad exit status from /var/tmp/rpm-tmp.f9uxSV (%build) > > It turns out that this is just a missing include, and there’s another one > you > run into after fixing that one. The patch usd-21.05-missing-includes.patc > fixes all of them; please forward it upstream. > > Now the tests are built and (unfortunately) installed, in the nonstandard > path /usr/tests/; cmake/macros/Public.cmake seems to govern this. There is > a > comment > > # XXX -- We shouldn't have to install to run tests. > > (I agree!) but I couldn’t find a corresponding upstream issue. There might > be > a way to change where the tests are installed—I didn’t look into it too > closely—or perhaps one could %exclude %{_prefix}/tests in %files, although > that use of %exclude (ignoring installed files altogether so that they are > not in any subpackage) is allegedly supposed to go away in a future version > of RPM. > > This > > %{?test:%ctest} > > must be now be changed to > > %{?with_test:%ctest} > > in order to try to run the tests. > > Once I do all that, I get a huge number of test failures because all the > tests are trying to use absolute paths, but they are installed inside the > buildroot directory. So I think the endgame here is an upstream issue for > the > patch I offered, plus an upstream issue about running the tests without > installing them, and comments linking those where the %check section would > be. I don’t think actually running the tests right now is going to be > practical. Right as test is disabled for the time being. > > - Man pages for the executables would be great, if practical. You might be > able > to use help2man to generate acceptable ones. If not, and if you don’t want > to > hand-write them, you can at least ask upstream if they would consider > providing them. See > https://docs.fedoraproject.org/en-US/packaging-guidelines/#_manpages. Filed requests upstream on https://github.com/PixarAnimationStudios/USD/issues/1518 Updated SPEC: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-34-x86_64/02173489-usd/usd.spec SRPM: https://download.copr.fedorainfracloud.org/results/luya/blender-egl/fedora-34-x86_64/02173489-usd/usd-21.05-2.fc34.src.rpm
Package approved. Thanks for all your hard work on this difficult package. Please see my remaining notes below. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated Issues: ======= - Mixed tabs and spaces in spec file (line 174 contains a tab); please fix this when importing. - The currently-disabled -docs subpackage has some issues: - Description has typo “Documenation” - Should really conditionalize the whole %package docs and not just %files docs - The -docs subpackage should be BuildArch: noarch - The suffix -doc, rather than -docs, would be more conventional for this subpackage. - If you set “%global __cmake_in_source_build” in the spec file, then enabling the documentation seems to work. I didn’t take time to verify that Doxygen actually found all the things it should be documenting, and by default the documentation is installed in the wrong path (/usr/docs/doxy_{html,xml} instead of %{_pkgdocdir}). I think getting the documentation building and installing properly would be great, but it doesn‘t have to block approval. Non-Issues from fedora-review: ============================== - Header files in -devel subpackage, if present. Note: usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd : /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_devel_packages This is spurious feedback from fedora-review; these are documentation. If you ever manage to build the documentation, you will need a -doc subpackage, and they should go in that. For now, they are fine where they are. - Package contains BR: python2-devel or python3-devel This is from fedora-review; it does not like pkgconfig(python3), but that is acceptable. ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: ldconfig not called in %post and %postun for Fedora 28 and later. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "Khronos License Expat License Apache License 2.0", "Apache License 2.0", "Expat License", "BSD 3-clause "New" or "Revised" License", "Apache License 2.0 [generated file]", "Khronos License", "Apache License 2.0 GNU General Public License v3.0 or later", "BSD 2-clause "Simplified" License", "the Unlicense Expat License", "*No copyright* Apache License 2.0". 2567 files have unknown license. Detailed output of licensecheck in /home/reviewer/1895567-usd/20210511/1895567-usd/licensecheck.txt [x]: License file installed when any subpackage combination is installed. [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [x]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [x]: Package does not generate any conflict. [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [-]: Package is not known to require an ExcludeArch tag. Package is correctly ExclusiveArch. Must file Bugzilla tickets after the package is imported to dist-git, as required by https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_build_failures. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 276480 bytes in 7 files. A -doc subpackage will be required if you manage to build the documentation. [x]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package contains desktop file if it is a GUI application. [x]: Package installs a %{name}.desktop using desktop-file-install or desktop-file-validate if there is such a file. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [x]: Python eggs must not download any dependencies during the build process. [-]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [x]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in usd-libs , usd-devel , python3-usd [?]: Package functions as described. [x]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [x]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [-]: %check is present and all tests pass. Tests are disabled; this review has established the reasons why it is not practical to enable them. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: usd-21.05-2.fc35.x86_64.rpm usd-libs-21.05-2.fc35.x86_64.rpm usd-devel-21.05-2.fc35.x86_64.rpm python3-usd-21.05-2.fc35.x86_64.rpm usd-debuginfo-21.05-2.fc35.x86_64.rpm usd-debugsource-21.05-2.fc35.x86_64.rpm usd-21.05-2.fc35.src.rpm usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h usd.x86_64: W: no-manual-page-for-binary sdfdump usd.x86_64: W: no-manual-page-for-binary sdffilter usd.x86_64: W: no-manual-page-for-binary testusdview usd.x86_64: W: no-manual-page-for-binary usdGenSchema usd.x86_64: W: no-manual-page-for-binary usdcat usd.x86_64: W: no-manual-page-for-binary usdchecker usd.x86_64: W: no-manual-page-for-binary usddiff usd.x86_64: W: no-manual-page-for-binary usddumpcrate usd.x86_64: W: no-manual-page-for-binary usdedit usd.x86_64: W: no-manual-page-for-binary usdrecord usd.x86_64: W: no-manual-page-for-binary usdresolve usd.x86_64: W: no-manual-page-for-binary usdstitch usd.x86_64: W: no-manual-page-for-binary usdstitchclips usd.x86_64: W: no-manual-page-for-binary usdtree usd.x86_64: W: no-manual-page-for-binary usdview usd.x86_64: W: no-manual-page-for-binary usdzip python3-usd.x86_64: W: no-documentation python3-usd.x86_64: W: dangling-symlink /usr/lib64/python3.9/site-packages/pxr/Usdviewq/fonts/Roboto /usr/share/fonts/google-roboto python3-usd.x86_64: W: dangling-symlink /usr/lib64/python3.9/site-packages/pxr/Usdviewq/fonts/Roboto_Mono /usr/share/fonts/google-roboto-mono python3-usd.x86_64: W: desktopfile-without-binary /usr/share/applications/org.openusd.usdview.desktop usdview usd.src:275: E: hardcoded-library-path in %{_prefix}/lib/python/pxr/*.* usd.src:277: E: hardcoded-library-path in %{_prefix}/lib/python/pxr/Usdviewq/* usd.src:174: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 174) 7 packages and 0 specfiles checked; 2 errors, 25 warnings. Rpmlint (debuginfo) ------------------- Checking: usd-libs-debuginfo-21.05-2.fc35.x86_64.rpm usd-debuginfo-21.05-2.fc35.x86_64.rpm 2 packages and 0 specfiles checked; 0 errors, 0 warnings. Rpmlint (installed packages) ---------------------------- usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/mesh.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderDelegate.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/renderPass.h usd.x86_64: W: devel-file-in-non-devel-package /usr/share/usd/examples/include/pxr/imaging/hdTiny/rendererPlugin.h usd.x86_64: W: no-manual-page-for-binary sdfdump usd.x86_64: W: no-manual-page-for-binary sdffilter usd.x86_64: W: no-manual-page-for-binary testusdview usd.x86_64: W: no-manual-page-for-binary usdGenSchema usd.x86_64: W: no-manual-page-for-binary usdcat usd.x86_64: W: no-manual-page-for-binary usdchecker usd.x86_64: W: no-manual-page-for-binary usddiff usd.x86_64: W: no-manual-page-for-binary usddumpcrate usd.x86_64: W: no-manual-page-for-binary usdedit usd.x86_64: W: no-manual-page-for-binary usdrecord usd.x86_64: W: no-manual-page-for-binary usdresolve usd.x86_64: W: no-manual-page-for-binary usdstitch usd.x86_64: W: no-manual-page-for-binary usdstitchclips usd.x86_64: W: no-manual-page-for-binary usdtree usd.x86_64: W: no-manual-page-for-binary usdview usd.x86_64: W: no-manual-page-for-binary usdzip python3-usd.x86_64: W: no-documentation python3-usd.x86_64: W: dangling-symlink /usr/lib64/python3.9/site-packages/pxr/Usdviewq/fonts/Roboto /usr/share/fonts/google-roboto python3-usd.x86_64: W: dangling-symlink /usr/lib64/python3.9/site-packages/pxr/Usdviewq/fonts/Roboto_Mono /usr/share/fonts/google-roboto-mono 7 packages and 0 specfiles checked; 0 errors, 23 warnings. Unversioned so-files -------------------- python3-usd: /usr/lib64/python3.9/site-packages/pxr/Ar/_ar.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/CameraUtil/_cameraUtil.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Garch/_garch.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Gf/_gf.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Glf/_glf.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Kind/_kind.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Ndr/_ndr.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Pcp/_pcp.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Plug/_plug.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/PxOsd/_pxOsd.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Sdf/_sdf.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Sdr/_sdr.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/SdrOsl/_sdrOsl.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Tf/_tf.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Trace/_trace.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Usd/_usd.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdAbc/_usdAbc.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdAppUtils/_usdAppUtils.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdGeom/_usdGeom.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdHydra/_usdHydra.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdImagingGL/_usdImagingGL.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdLux/_usdLux.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdMedia/_usdMedia.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdRender/_usdRender.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdRi/_usdRi.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdShade/_usdShade.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdSkel/_usdSkel.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdUI/_usdUI.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdUtils/_usdUtils.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/UsdVol/_usdVol.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Usdviewq/_usdviewq.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Vt/_vt.so python3-usd: /usr/lib64/python3.9/site-packages/pxr/Work/_work.so Source checksums ---------------- https://github.com/PixarAnimationStudios/usd/archive/v21.05/usd-21.05.tar.gz : CHECKSUM(SHA256) this package : 165d0e1e45385076121268eba0da2a0ba4a7e5c2b8eab9ab26fb2fcd81a1a478 CHECKSUM(SHA256) upstream package : 165d0e1e45385076121268eba0da2a0ba4a7e5c2b8eab9ab26fb2fcd81a1a478 Requires -------- usd (rpmlib, GLIBC filtered): /usr/bin/python3 libOpenImageIO_Util.so.2.2()(64bit) libboost_program_options.so.1.75.0()(64bit) libboost_python39.so.1.75.0()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libpython3.9.so.1.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libusd_ms.so.0()(64bit) python3-usd(x86-64) rtld(GNU_HASH) usd-libs(x86-64) usd-libs (rpmlib, GLIBC filtered): ld-linux-x86-64.so.2()(64bit) libAlembic.so.1.8()(64bit) libGL.so.1()(64bit) libHalf-2_5.so.25()(64bit) libOpenColorIO.so.1()(64bit) libOpenImageIO.so.2.2()(64bit) libPtex.so.2.3()(64bit) libX11.so.6()(64bit) libboost_python39.so.1.75.0()(64bit) libc.so.6()(64bit) libdl.so.2()(64bit) libembree3.so.3()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libm.so.6()(64bit) libopenvdb.so.8.0()(64bit) libosdCPU.so.3.4.4()(64bit) libosdGPU.so.3.4.4()(64bit) liboslquery.so.1.11()(64bit) libpthread.so.0()(64bit) libpython3.9.so.1.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.1)(64bit) libstdc++.so.6(CXXABI_1.3.11)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.7)(64bit) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libtbb.so.2()(64bit) rtld(GNU_HASH) usd-devel (rpmlib, GLIBC filtered): cmake-filesystem cmake-filesystem(x86-64) libusd_ms.so.0()(64bit) usd-libs(x86-64) python3-usd (rpmlib, GLIBC filtered): font(roboto) font(robotoblack) font(robotolight) font(robotomono) ld-linux-x86-64.so.2()(64bit) libOpenImageIO_Util.so.2.2()(64bit) libboost_python39.so.1.75.0()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libm.so.6()(64bit) libpthread.so.0()(64bit) libpython3.9.so.1.0()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.1)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libtbb.so.2()(64bit) libusd_ms.so.0()(64bit) python(abi) python3dist(jinja2) python3dist(pyopengl) python3dist(pyside2) rtld(GNU_HASH) usd-debuginfo (rpmlib, GLIBC filtered): usd-debugsource (rpmlib, GLIBC filtered): Provides -------- usd: bundled(SPIRV-Reflect) bundled(VulkanMemoryAllocator) bundled(double-conversion) bundled(ilmbase) bundled(lz4) bundled(pugixml) bundled(rapidjson) bundled(stb_image) bundled(stb_image_resize) bundled(stb_image_write) usd usd(x86-64) usd-libs: libusd_ms.so.0()(64bit) usd-libs usd-libs(x86-64) usd-devel: cmake(pxr) usd-devel usd-devel(x86-64) python3-usd: application() application(org.openusd.usdview.desktop) python-pxr python-usd python3-pxr python3-usd python3-usd(x86-64) python3.9-pxr python3.9-usd usd-debuginfo: debuginfo(build-id) usd-debuginfo usd-debuginfo(x86-64) usd-debugsource: usd-debugsource usd-debugsource(x86-64) Generated by fedora-review 0.7.6 (b083f91) last change: 2020-11-10 Command line :/usr/bin/fedora-review -b 1895567 Buildroot used: fedora-rawhide-x86_64 Active plugins: C/C++, Generic, Shell-api, Python Disabled plugins: Java, Perl, SugarActivity, Ruby, R, PHP, Haskell, fonts, Ocaml Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH
You are very welcome Ben. I really appreciate your review and feedback. Note that I assigned the review to you in order to validate the importation of the package in the main branch. See https://fedoraproject.org/wiki/Package_Review_Process Feel free to become a co-maintainer if you like.
(fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/usd
FEDORA-2021-c918be3bc8 has been submitted as an update to Fedora 34. https://bodhi.fedoraproject.org/updates/FEDORA-2021-c918be3bc8
FEDORA-2021-78544b11bd has been submitted as an update to Fedora 33. https://bodhi.fedoraproject.org/updates/FEDORA-2021-78544b11bd
Thanks. Don’t forget to create Bugzilla bugs blocking the various ExcludeArch tracker bugs, even if you close them immediately as WONTFIX (https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_build_failures). > Feel free to become a co-maintainer if you like. I think you’ll have to the one to add me, but sure, I’ll co-maintain. I’ve spent enough time understanding this package that I might as well stick around and help. :-)
(In reply to Ben Beasley from comment #31) > Thanks. Don’t forget to create Bugzilla bugs blocking the various > ExcludeArch tracker bugs, even if you close them immediately as WONTFIX > (https://docs.fedoraproject.org/en-US/packaging-guidelines/ > #_architecture_build_failures). Done. https://bugzilla.redhat.com/show_bug.cgi?id=1960848 > I think you’ll have to the one to add me, but sure, I’ll co-maintain. I’ve > spent enough time understanding this package that I might as well stick > around and help. :-) Would you provide your Fedora account username please?
> Would you provide your Fedora account username please? music
All set.
FEDORA-2021-c918be3bc8 has been pushed to the Fedora 34 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2021-c918be3bc8 \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-c918be3bc8 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-78544b11bd has been pushed to the Fedora 33 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf install --enablerepo=updates-testing --advisory=FEDORA-2021-78544b11bd \*` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2021-78544b11bd See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
FEDORA-2021-c918be3bc8 has been pushed to the Fedora 34 stable repository. If problem still persists, please make note of it in this bug report.
FEDORA-2021-78544b11bd has been pushed to the Fedora 33 stable repository. If problem still persists, please make note of it in this bug report.