https://bugzilla.redhat.com/show_bug.cgi?id=2262694 Ben Beasley <code@xxxxxxxxxxxxxxxxxx> changed: What |Removed |Added ---------------------------------------------------------------------------- Flags|needinfo?(code@musicinmybra | |in.net) | --- Comment #45 from Ben Beasley <code@xxxxxxxxxxxxxxxxxx> --- I am not sure that I dug into this deeply enough to find *everything*; consider this a preliminary review. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated Issues: ======= - Header files in -devel subpackage, if present. Note: materialx : /usr/share/materialx/stdlib/genosl/include/color4.h materialx : /usr/share/materialx/stdlib/genosl/include/matrix33.h materialx : /usr/share/materialx/stdlib/genosl/include/mx_funcs.h materialx : /usr/share/materialx/stdlib/genosl/include/vector2.h materialx : /usr/share/materialx/stdlib/genosl/include/vector4.h See: https://docs.fedoraproject.org/en-US/packaging- guidelines/#_devel_packages OK: These header files appear to be used for code generation. - Package contains BR: python2-devel or python3-devel OK: BuildRequires: pkgconfig(python3) implies python3-devel. - Since CC0-1.0 is not-allowed for code in Fedora, please add a spec file comment that makes it clear that components from ambientcg and poly-haven under CC0-1.0 are solely “assets” and therefore content, for which CC0-1.0 is still allowed in Fedora. I had a hard time identifying the exact files taken from these projects, but it seems like both projects are content collections rather than software, so I think there is no problem here. - The nanogui license does not appear to be BSD-4-Clause as claimed in the spec file. It seems like it might be BSD-3-Clause-LBNL. - It’s a bit nicer and more general to write ExcludeArch: i686 as ExcludeArch: %{ix86} although they are equivalent in Fedora proper. - Anything bundled needs to follow the rules in https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling So you need the virtual Provides: Provides: bundled(nanogui) = 0.2.0^20221102gitf5020e2 but also you need to use a system copy if possible, and if not possible then you need to publicly contact upstream about a path to doing so. For nanogui in particular, it looks like there is some support for an external copy of nanogui, but maybe this just means a source tree rather than an installed library. I haven’t looked into it. https://github.com/AcademySoftwareFoundation/MaterialX/blob/92734332d595278298ad08e6543409bbabf344f0/source/MaterialXView/CMakeLists.txt#L3 Either way, the process for justifying and indicating bundled libraries needs to be followed for each bundled library. There are a lot of other bundled libraries: I have not tried to account for them all, but they do all need to be accounted for. - In general, licensecheck output suggests that there is code under many licenses that are not mentioned in THIRD_PARTY.md or in the License expression. This is related to the unaccounted-for bundled libraries mentioned in the previous point. - The asan/ubsan sanitizers have a runtime cost and are not really intended for “production.” Please remove BuildRequires: libasan BuildRequires: libubsan and change -DMATERIALX_DYNAMIC_ANALYSIS=ON \ to -DMATERIALX_DYNAMIC_ANALYSIS=OFF \ (the default). - Similarly, coverage analysis is not really useful for us, and (from grepping the sources) it seems like this option is no longer implemented anyway, so please consider removing: -DMATERIALX_COVERAGE_ANALYSIS=ON \ - From python/Scripts/README.md, the scripts in python/Scripts/ are “example Python scripts that generate, process, and validate material content using the MaterialX API.” I don’t think it makes sense to install these example scripts in the system PATH (/usr/bin/) due to their “example” status and their fairly generic names. Maybe you could install them in a documentation directory instead? - It is not correct to say that the License of the -devel subpackage is simply Apache-2.0, since the API headers include many bundled header-only libraries under various licenses. These licenses need to be accounted for, and the -devel subpackage needs the appropriate virtual Provides – assuming the prescribed preconditions for bundling are satisfied in the package overall. - Similarly, the License of the python3-materialx subpackage should probably be the same as that of the base package, because any of the bundled code under various licenses could be included in the various compiled extensions. At most, you might be able to prove that the content/asset files under CC0-1.0 are not included, and drop that term from the license expression for python3-materialx. - Since the contents of %{_datadir}/%{name}, i.e. /usr/share/materialx, are quite large (136M), it would be better to split them out into a materialx-data package that is noarch. This saves space on mirrors. The base package can then have a fully-versioned dependency on the -data subpackage, like: Requires: %{name}-data = %{version}-%{release} Since all the other subpackages should end up depending directly or indirectly on this subpackage, it could be a good place to ship the license files, too. See also: Note: Arch-ed rpms have a total of 140707840 bytes in /usr/share materialx-1.38.8-1.fc41.x86_64.rpm:140697600 - The source tree contains bundled fonts. Please ensure these are not needed, and remove them in %prep, e.g.: # Ensure there are no bundled fonts # https://docs.fedoraproject.org/en-US/packaging-guidelines/#_avoid_bundling_of_fonts_in_other_packages find . -type f \( \ -name '*.tt[cf]' -o -name '*.ot[cf]' \ -o -name '*.eot' -o -name '*.woff' -o -name '*.woff2' \ \) -print -delete - This does not work: %description -n python3-%{name} %{description} The resulting package literally has unexpanded %{description} as its description. - You should remove useless shebang lines in non-script files. python3-materialx.x86_64: E: non-executable-script /usr/lib64/python3.12/site-packages/MaterialX/colorspace.py 644 /usr/bin/python3 -sP python3-materialx.x86_64: E: non-executable-script /usr/lib64/python3.12/site-packages/MaterialX/datatype.py 644 /usr/bin/python3 -sP python3-materialx.x86_64: E: non-executable-script /usr/lib64/python3.12/site-packages/MaterialX/main.py 644 /usr/bin/python3 -sP Something like this could work: sed -r -i '1{/^#!/d}' python/MaterialX/{colorspace,datatype,main}.py But it would be even better to offer this upstream, and apply the PR as a patch, since these files do not have the executable bit set in the git repository, so the shebang lines are always useless for everyone. - Despite some efforts to fix spurious executable permissions, # Relocate changelog, licenses and remove executable permission chmod -x %{buildroot}%{_prefix}/*.md mv %{buildroot}%{_prefix}/{CHANGELOG,README}.md %{buildroot}%{_docdir}/%{name}/ mv %{buildroot}%{_prefix}/THIRD-PARTY.md %{buildroot}%{_datadir}/licenses/%{name}/ there are still spurious executable permissions. materialx.x86_64: W: spurious-executable-perm /usr/share/doc/materialx/CHANGELOG.md materialx.x86_64: W: spurious-executable-perm /usr/share/doc/materialx/README.md materialx.x86_64: W: spurious-executable-perm /usr/share/doc/materialx/SECURITY.md materialx-devel.x86_64: W: spurious-executable-perm /usr/share/doc/materialx-devel/README.md Consider fixing these in %prep instead. chmod -v a-x LICENSE *.md Also, these files (like pretty much the entire source tree) are in DOS/Windows format. Add BuildRequires: dos2unix and in %prep, dos2unix --keepdate LICENSE *.md Investigate whether any other packaged text files need the same chmod/dos2unix treatment. For example: python3-materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/lib64/python3.12/site-packages/MaterialX/colorspace.py python3-materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/lib64/python3.12/site-packages/MaterialX/datatype.py python3-materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/lib64/python3.12/site-packages/MaterialX/main.py I don’t know what part of upstream’s release process is converting all these files to CRLF and making them executable. The really big hammer is something like find . -type f -perm /0111 -exec chmod -v a-x '{}' '+' find . -type f | xargs file | awk -F ':' '/CRLF/ { print $1 }' | xargs -r dos2unix --keepdate and perhaps that is justified. It doesn’t look like anything really needs to be executable; you would just need to audit to make sure nothing is being EOL-converted that really does need to stay as-is. - I am not convinced the Python extension is really built correctly. There is a suspicious message in %install: Traceback (most recent call last): File "/builddir/build/BUILD/MaterialX-1.38.8/redhat-linux-build/python/setup.py", line 1, in <module> from setuptools import setup ModuleNotFoundError: No module named 'setuptools' and there is no .dist-info directory with Python metadata. I think it would be wise to explore building the Python package separately from the main cmake build, i.e. Patch: 0001-Downstream-only-do-without-the-dynamic-versioning-sc.patch BuildRequires: ninja-build [...] %prep %autosetup -n MaterialX-%{version} -p1 sed -r -i 's/@VERSION@/%{version}/' pyproject.toml [...] %generate_buildrequires %pyproject_buildrequires (I will upload 0001-Downstream-only-do-without-the-dynamic-versioning-sc.patch as an attachment.) Remove: %if %{with python} -DMATERIALX_BUILD_PYTHON=ON \ %endif Add to %build: %pyproject_wheel Add to %install: %pyproject_install %pyproject_save_files MaterialX Then do %files -n python3-%{name} -f %{pyproject_files} I almost got this approach working, but it’s currently failing with FAILED: source/MaterialXRender/CMakeFiles/MaterialXRender.dir/StbImageLoader.cpp.o /usr/bin/g++ -DMATERIALX_BUILD_GEN_GLSL -DMATERIALX_BUILD_GEN_MDL -DMATERIALX_BUILD_GEN_MSL -DMATERIALX_BUILD_GEN_OSL -DMATERIALX_INSTALL_MDL_MODULE_PATH=\"libraries\" -DMATERIALX_MDLC_EXECUTABLE=\"\" -DMATERIALX_MDL_MODULE_PATHS=\"\" -DMATERIALX_MDL_RENDER_ARGUMENTS=\"\" -DMATERIALX_MDL_RENDER_EXECUTABLE=\"\" -DMATERIALX_OSL_BINARY_OSLC=\"\" -DMATERIALX_OSL_BINARY_TESTRENDER=\"\" -DMATERIALX_OSL_INCLUDE_PATH=\"\" -DMATERIALX_OSL_LEGACY_CLOSURES -DMATERIALX_RENDER_EXPORTS -I/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/.. -I/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXGenShader/.. -I/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXCore/.. -I/builddir/build/BUILD/MaterialX-1.38.8/.pyproject-builddir/tmplp4i5e7l/build/source/MaterialXCore/.. -I/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXFormat/.. -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -O3 -DNDEBUG -std=gnu++14 -fPIC -Wall -Wno-missing-braces -Werror -Wno-unused-function -MD -MT source/MaterialXRender/CMakeFiles/MaterialXRender.dir/StbImageLoader.cpp.o -MF source/MaterialXRender/CMakeFiles/MaterialXRender.dir/StbImageLoader.cpp.o.d -o source/MaterialXRender/CMakeFiles/MaterialXRender.dir/StbImageLoader.cpp.o -c /builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/StbImageLoader.cpp In file included from /builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/StbImageLoader.cpp:17: /builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/../MaterialXRender/External/StbImage/stb_image.h: In function ‘stbi__parse_png_file(stbi__png*, int, int) [clone .constprop.0]’: /builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/../MaterialXRender/External/StbImage/stb_image.h:4882:56: error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=] 4882 | for (k = 0; k < s->img_n; ++k) tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non 8-bit images will be larger | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/../MaterialXRender/External/StbImage/stb_image.h:4801:25: note: at offset 3 into destination object ‘tc’ of size 3 4801 | stbi_uc has_trans=0, tc[3]={0}; | ^~ cc1plus: all warnings being treated as errors Maybe this is fixed in the current stb_image.h from https://src.fedoraproject.org/rpms/stb. I did not have time to try unbundling it right now. ===== MUST items ===== C/C++: [-]: Provides: bundled(gnulib) in place as required. Note: Sources not installed [x]: Package does not contain kernel modules. [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. The only unversioned so-files are: /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialX*.cpython-312-x86_64-linux-gnu.so These are all properly-installed Python extension modules. [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]: Package contains no static executables. [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. It appears that CC0-1.0 files are content only (good!); see Issues for more comments. [!]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "*No copyright* Apache License 2.0", "BSD 3-Clause License", "*No copyright* Apache License", "Apache License 2.0", "MIT License", "*No copyright* ISC License", "BSD 3-Clause License and/or Lawrence Berkeley National Labs BSD variant license", "*No copyright* Apache License 2.0 and/or SIL Open Font License 1.1", "Apache License 2.0 and/or BSD 3-Clause License", "zlib License", "MIT License and/or The Unlicense", "*No copyright* MIT License", "Apache License 2.0 and/or Khronos License and/or MIT License", "Khronos License", "*No copyright* Boost Software License 1.0", "Boost Software License 1.0", "Simple Public License and/or zlib License", "*No copyright* The Unlicense [generated file]", "SIL Open Font License 1.1", "*No copyright* zlib License", "SIL Open Font License 1.0", "*No copyright* Public domain", "*No copyright* SIL Open Font License 1.1", "GNU Lesser General Public License v2.1 or later". 1357 files have unknown license. Detailed output of licensecheck in /home/ben/Downloads/review/2262694-materialx/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. This is no longer a formal requirement: https://gitlab.com/fedora/legal/fedora-legal-docs/-/issues/64 However, not all of the licenses in the sources are accounted for in the License tags. [x]: Package requires other packages for directories it uses. Note: No known owner of /usr/lib64/python3.12, /usr/lib64/cmake, /usr/lib64/python3.12/site-packages This diagnostic is spurious. [x]: %build honors applicable compiler flags or justifies otherwise. [!]: Package contains no bundled libraries without FPC exception. FPC exception is no longer required, but all bundled libraries must follow https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling. Many bundled libraries are unaccounted for. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. However, bundled fonts need to be removed in %prep to ensure they are not used. [!]: Macros in Summary, %description expandable at SRPM build time. Note: Macros in: python3-materialx (description) [-]: 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. [x]: Package is not known to require an ExcludeArch tag. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 44550 bytes in 4 files. [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]: The License field must be a valid SPDX expression. [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]: 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: [-]: Binary eggs must be removed in %prep Note: Cannot find any build in BUILD directory (--prebuilt option?) [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 ===== 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. [!]: Final provides and requires are sane (see attachments). The only problems here are noted elsewhere: there should not be a runtime dependency on libubsan/libasan, and the virtual Provides for bundled dependencies are absent. [ ]: Package functions as described. [ ]: Latest version is packaged. [ ]: Package does not include license text files separate from upstream. [ ]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [ ]: Package should compile and build into binary rpms on all supported architectures. [ ]: %check is present and all tests pass. [ ]: 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]: Fully versioned dependency in subpackages if applicable. [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]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [!]: Large data in /usr/share should live in a noarch subpackage if package is arched. Note: Arch-ed rpms have a total of 140707840 bytes in /usr/share materialx-1.38.8-1.fc41.x86_64.rpm:140697600 See: https://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines See Isuses. [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]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: materialx-1.38.8-1.fc41.x86_64.rpm materialx-devel-1.38.8-1.fc41.x86_64.rpm python3-materialx-1.38.8-1.fc41.x86_64.rpm materialx-tools-1.38.8-1.fc41.x86_64.rpm materialx-debuginfo-1.38.8-1.fc41.x86_64.rpm materialx-debugsource-1.38.8-1.fc41.x86_64.rpm materialx-1.38.8-1.fc41.src.rpm =========================================================================================== rpmlint session starts ========================================================================================== rpmlint: 2.5.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmp3xqglxoh')] checks: 32, packages: 7 materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/materialx/CHANGELOG.md materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/materialx/README.md materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/materialx/SECURITY.md materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/share/licenses/materialx/LICENSE materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/share/licenses/materialx/THIRD-PARTY.md materialx-devel.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/materialx-devel/README.md python3-materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/lib64/python3.12/site-packages/MaterialX/colorspace.py python3-materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/lib64/python3.12/site-packages/MaterialX/datatype.py python3-materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/lib64/python3.12/site-packages/MaterialX/main.py python3-materialx.x86_64: W: unexpanded-macro %description -l C %{description} materialx.x86_64: W: spurious-executable-perm /usr/share/doc/materialx/CHANGELOG.md materialx.x86_64: W: spurious-executable-perm /usr/share/doc/materialx/README.md materialx.x86_64: W: spurious-executable-perm /usr/share/doc/materialx/SECURITY.md materialx-devel.x86_64: W: spurious-executable-perm /usr/share/doc/materialx-devel/README.md materialx.x86_64: E: script-without-shebang /usr/share/licenses/materialx/LICENSE materialx.x86_64: E: script-without-shebang /usr/share/licenses/materialx/THIRD-PARTY.md python3-materialx.x86_64: E: non-executable-script /usr/lib64/python3.12/site-packages/MaterialX/colorspace.py 644 /usr/bin/python3 -sP python3-materialx.x86_64: E: non-executable-script /usr/lib64/python3.12/site-packages/MaterialX/datatype.py 644 /usr/bin/python3 -sP python3-materialx.x86_64: E: non-executable-script /usr/lib64/python3.12/site-packages/MaterialX/main.py 644 /usr/bin/python3 -sP materialx-tools.x86_64: W: no-manual-page-for-binary baketextures.py materialx-tools.x86_64: W: no-manual-page-for-binary generateshader.py materialx-tools.x86_64: W: no-manual-page-for-binary genmdl.py materialx-tools.x86_64: W: no-manual-page-for-binary mxdoc.py materialx-tools.x86_64: W: no-manual-page-for-binary mxformat.py materialx-tools.x86_64: W: no-manual-page-for-binary mxvalidate.py materialx-tools.x86_64: W: no-manual-page-for-binary translateshader.py materialx-tools.x86_64: W: no-manual-page-for-binary writenodegraphs.py materialx-tools.x86_64: W: no-documentation python3-materialx.x86_64: W: no-documentation materialx-tools.x86_64: E: no-binary materialx.x86_64: E: files-duplicated-waste 106863 materialx.x86_64: W: files-duplicate /usr/share/materialx/resources/Materials/TestSuite/libraries/metal/textures/mesh_wire_norm.png /usr/share/materialx/resources/Images/mesh_wire_norm.png materialx.x86_64: W: files-duplicate /usr/share/materialx/resources/Materials/TestSuite/pbrlib/bsdf/wedge_conductor.mtlx /usr/share/materialx/resources/Materials/TestSuite/pbrlib/bsdf/conductor.mtlx materialx.x86_64: W: files-duplicate /usr/share/materialx/stdlib/genmsl/mx_burn_float.metal /usr/share/materialx/stdlib/genglsl/mx_burn_float.glsl materialx.x86_64: W: files-duplicate /usr/share/materialx/stdlib/genmsl/mx_dodge_float.metal /usr/share/materialx/stdlib/genglsl/mx_dodge_float.glsl materialx.x86_64: W: files-duplicate /usr/share/materialx/stdlib/genmsl/mx_smoothstep_float.metal /usr/share/materialx/stdlib/genglsl/mx_smoothstep_float.glsl materialx.x86_64: W: devel-file-in-non-devel-package /usr/share/materialx/stdlib/genosl/include/color4.h materialx.x86_64: W: devel-file-in-non-devel-package /usr/share/materialx/stdlib/genosl/include/matrix33.h materialx.x86_64: W: devel-file-in-non-devel-package /usr/share/materialx/stdlib/genosl/include/mx_funcs.h materialx.x86_64: W: devel-file-in-non-devel-package /usr/share/materialx/stdlib/genosl/include/vector2.h materialx.x86_64: W: devel-file-in-non-devel-package /usr/share/materialx/stdlib/genosl/include/vector4.h python3-materialx.x86_64: W: description-shorter-than-summary =================================================== 7 packages and 0 specfiles checked; 16 errors, 26 warnings, 551 filtered, 16 badness; has taken 7.9 s =================================================== Rpmlint (debuginfo) ------------------- Checking: materialx-debuginfo-1.38.8-1.fc41.x86_64.rpm =========================================================================================== rpmlint session starts ========================================================================================== rpmlint: 2.5.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml rpmlintrc: [PosixPath('/tmp/tmplo2dc5pk')] checks: 32, packages: 1 ===================================================== 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 30 filtered, 0 badness; has taken 2.2 s ===================================================== Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.5.0 configuration: /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora-legacy-licenses.toml /etc/xdg/rpmlint/fedora-spdx-licenses.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml checks: 32, packages: 6 materialx-devel.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/materialx-devel/README.md python3-materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/lib64/python3.12/site-packages/MaterialX/colorspace.py python3-materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/lib64/python3.12/site-packages/MaterialX/datatype.py python3-materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/lib64/python3.12/site-packages/MaterialX/main.py materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/materialx/CHANGELOG.md materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/materialx/README.md materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/share/doc/materialx/SECURITY.md materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/share/licenses/materialx/LICENSE materialx.x86_64: E: wrong-script-end-of-line-encoding /usr/share/licenses/materialx/THIRD-PARTY.md python3-materialx.x86_64: W: unexpanded-macro %description -l C %{description} materialx-devel.x86_64: W: spurious-executable-perm /usr/share/doc/materialx-devel/README.md materialx.x86_64: W: spurious-executable-perm /usr/share/doc/materialx/CHANGELOG.md materialx.x86_64: W: spurious-executable-perm /usr/share/doc/materialx/README.md materialx.x86_64: W: spurious-executable-perm /usr/share/doc/materialx/SECURITY.md materialx.x86_64: E: script-without-shebang /usr/share/licenses/materialx/LICENSE materialx.x86_64: E: script-without-shebang /usr/share/licenses/materialx/THIRD-PARTY.md python3-materialx.x86_64: E: non-executable-script /usr/lib64/python3.12/site-packages/MaterialX/colorspace.py 644 /usr/bin/python3 -sP python3-materialx.x86_64: E: non-executable-script /usr/lib64/python3.12/site-packages/MaterialX/datatype.py 644 /usr/bin/python3 -sP python3-materialx.x86_64: E: non-executable-script /usr/lib64/python3.12/site-packages/MaterialX/main.py 644 /usr/bin/python3 -sP materialx-tools.x86_64: W: no-manual-page-for-binary baketextures.py materialx-tools.x86_64: W: no-manual-page-for-binary generateshader.py materialx-tools.x86_64: W: no-manual-page-for-binary genmdl.py materialx-tools.x86_64: W: no-manual-page-for-binary mxdoc.py materialx-tools.x86_64: W: no-manual-page-for-binary mxformat.py materialx-tools.x86_64: W: no-manual-page-for-binary mxvalidate.py materialx-tools.x86_64: W: no-manual-page-for-binary translateshader.py materialx-tools.x86_64: W: no-manual-page-for-binary writenodegraphs.py python3-materialx.x86_64: W: no-documentation materialx-tools.x86_64: W: no-documentation materialx-tools.x86_64: E: no-binary materialx.x86_64: E: files-duplicated-waste 106863 materialx.x86_64: W: files-duplicate /usr/share/materialx/resources/Materials/TestSuite/libraries/metal/textures/mesh_wire_norm.png /usr/share/materialx/resources/Images/mesh_wire_norm.png materialx.x86_64: W: files-duplicate /usr/share/materialx/resources/Materials/TestSuite/pbrlib/bsdf/wedge_conductor.mtlx /usr/share/materialx/resources/Materials/TestSuite/pbrlib/bsdf/conductor.mtlx materialx.x86_64: W: files-duplicate /usr/share/materialx/stdlib/genmsl/mx_burn_float.metal /usr/share/materialx/stdlib/genglsl/mx_burn_float.glsl materialx.x86_64: W: files-duplicate /usr/share/materialx/stdlib/genmsl/mx_dodge_float.metal /usr/share/materialx/stdlib/genglsl/mx_dodge_float.glsl materialx.x86_64: W: files-duplicate /usr/share/materialx/stdlib/genmsl/mx_smoothstep_float.metal /usr/share/materialx/stdlib/genglsl/mx_smoothstep_float.glsl materialx.x86_64: W: devel-file-in-non-devel-package /usr/share/materialx/stdlib/genosl/include/color4.h materialx.x86_64: W: devel-file-in-non-devel-package /usr/share/materialx/stdlib/genosl/include/matrix33.h materialx.x86_64: W: devel-file-in-non-devel-package /usr/share/materialx/stdlib/genosl/include/mx_funcs.h materialx.x86_64: W: devel-file-in-non-devel-package /usr/share/materialx/stdlib/genosl/include/vector2.h materialx.x86_64: W: devel-file-in-non-devel-package /usr/share/materialx/stdlib/genosl/include/vector4.h python3-materialx.x86_64: W: description-shorter-than-summary 6 packages and 0 specfiles checked; 16 errors, 26 warnings, 558 filtered, 16 badness; has taken 6.4 s Unversioned so-files -------------------- python3-materialx: /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXCore.cpython-312-x86_64-linux-gnu.so python3-materialx: /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXFormat.cpython-312-x86_64-linux-gnu.so python3-materialx: /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXGenGlsl.cpython-312-x86_64-linux-gnu.so python3-materialx: /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXGenMdl.cpython-312-x86_64-linux-gnu.so python3-materialx: /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXGenMsl.cpython-312-x86_64-linux-gnu.so python3-materialx: /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXGenOsl.cpython-312-x86_64-linux-gnu.so python3-materialx: /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXGenShader.cpython-312-x86_64-linux-gnu.so python3-materialx: /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXRender.cpython-312-x86_64-linux-gnu.so python3-materialx: /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXRenderGlsl.cpython-312-x86_64-linux-gnu.so python3-materialx: /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXRenderOsl.cpython-312-x86_64-linux-gnu.so Source checksums ---------------- https://github.com/AcademySoftwareFoundation/MaterialX/releases/download/v1.38.8/MaterialX-1.38.8.tar.gz : CHECKSUM(SHA256) this package : 6769800cc3c15a9ecc99933774824ed5a766382f71966ab607c22ca33a4d0162 CHECKSUM(SHA256) upstream package : 6769800cc3c15a9ecc99933774824ed5a766382f71966ab607c22ca33a4d0162 Requires -------- materialx (rpmlib, GLIBC filtered): libGLX.so.0()(64bit) libMaterialXCore.so.1()(64bit) libMaterialXFormat.so.1()(64bit) libMaterialXGenGlsl.so.1()(64bit) libMaterialXGenShader.so.1()(64bit) libMaterialXRender.so.1()(64bit) libMaterialXRenderHw.so.1()(64bit) libOpenImageIO.so.2.5()(64bit) libOpenImageIO_Util.so.2.5()(64bit) libX11.so.6()(64bit) libXt.so.6()(64bit) libasan.so.8()(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) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libubsan.so.1()(64bit) rtld(GNU_HASH) materialx-devel (rpmlib, GLIBC filtered): cmake-filesystem(x86-64) libMaterialXCore.so.1()(64bit) libMaterialXFormat.so.1()(64bit) libMaterialXGenGlsl.so.1()(64bit) libMaterialXGenMdl.so.1()(64bit) libMaterialXGenMsl.so.1()(64bit) libMaterialXGenOsl.so.1()(64bit) libMaterialXGenShader.so.1()(64bit) libMaterialXRender.so.1()(64bit) libMaterialXRenderGlsl.so.1()(64bit) libMaterialXRenderHw.so.1()(64bit) libMaterialXRenderOsl.so.1()(64bit) materialx(x86-64) python3-materialx (rpmlib, GLIBC filtered): libMaterialXCore.so.1()(64bit) libMaterialXFormat.so.1()(64bit) libMaterialXGenGlsl.so.1()(64bit) libMaterialXGenMdl.so.1()(64bit) libMaterialXGenMsl.so.1()(64bit) libMaterialXGenOsl.so.1()(64bit) libMaterialXGenShader.so.1()(64bit) libMaterialXRender.so.1()(64bit) libMaterialXRenderGlsl.so.1()(64bit) libMaterialXRenderOsl.so.1()(64bit) libasan.so.8()(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) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.13)(64bit) libstdc++.so.6(CXXABI_1.3.15)(64bit) libstdc++.so.6(CXXABI_1.3.2)(64bit) libstdc++.so.6(CXXABI_1.3.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libubsan.so.1()(64bit) materialx(x86-64) python(abi) rtld(GNU_HASH) materialx-tools (rpmlib, GLIBC filtered): /usr/bin/python3 python3-materialx(x86-64) materialx-debuginfo (rpmlib, GLIBC filtered): materialx-debugsource (rpmlib, GLIBC filtered): Provides -------- materialx: libMaterialXCore.so.1()(64bit) libMaterialXFormat.so.1()(64bit) libMaterialXGenGlsl.so.1()(64bit) libMaterialXGenMdl.so.1()(64bit) libMaterialXGenMsl.so.1()(64bit) libMaterialXGenOsl.so.1()(64bit) libMaterialXGenShader.so.1()(64bit) libMaterialXRender.so.1()(64bit) libMaterialXRenderGlsl.so.1()(64bit) libMaterialXRenderHw.so.1()(64bit) libMaterialXRenderOsl.so.1()(64bit) materialx materialx(x86-64) materialx-devel: cmake(MaterialX) cmake(materialx) materialx-devel materialx-devel(x86-64) python3-materialx: python-materialx python3-materialx python3-materialx(x86-64) python3.12-materialx materialx-tools: materialx-tools materialx-tools(x86-64) materialx-debuginfo: debuginfo(build-id) libMaterialXCore.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit) libMaterialXFormat.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit) libMaterialXGenGlsl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit) libMaterialXGenMdl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit) libMaterialXGenMsl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit) libMaterialXGenOsl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit) libMaterialXGenShader.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit) libMaterialXRender.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit) libMaterialXRenderGlsl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit) libMaterialXRenderHw.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit) libMaterialXRenderOsl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit) materialx-debuginfo materialx-debuginfo(x86-64) materialx-debugsource: materialx-debugsource materialx-debugsource(x86-64) Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2262694 --mock-options=--dnf Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, C/C++, Shell-api, Python Disabled plugins: Perl, PHP, R, fonts, Java, SugarActivity, Haskell, Ocaml Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH -- You are receiving this mail because: You are on the CC list for the bug. You are always notified about changes to this product and component https://bugzilla.redhat.com/show_bug.cgi?id=2262694 Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202262694%23c45 -- _______________________________________________ package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue