Spec URL: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-39-x86_64/06967755-materialx/materialx.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-39-x86_64/06967755-materialx/materialx-1.38.8-1.fc39.src.rpm Description: MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers. Fedora Account System Username: luya
Copr build: https://copr.fedorainfracloud.org/coprs/build/6985695 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/06985695-materialx/fedora-review/review.txt Found issues: - 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 Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
The devel packages has this `Requires`: Requires: %{name}-libs%{?_isa} = %{version}-%{release} Notice the `-libs`, but no `-libs` is being generated with this spec, nor it comes in fedora rawhide. Is it a bug?
Yes, it is an oversight. Here is the updated SRPM and SPEC files: SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-39-aarch64/06988746-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-39-aarch64/06988746-materialx/materialx-1.38.8-1.fc39.src.rpm
Created attachment 2015499 [details] The .spec file difference from Copr build 6985695 to 6995048
Copr build: https://copr.fedorainfracloud.org/coprs/build/6995048 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/06995048-materialx/fedora-review/review.txt Found issues: - 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 Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Regarding "BSD" in the license: * The License should be encoded using the SPDX ids: https://spdx.org/licenses/ * It looks to me that the libs subpackage license is only Apache-2.0. The project references a THIRD-PARTY.md file with detailed licenses "of third-party projects that have been imported or incorporated into MaterialX". For what I can detect, these are the license listed there using the SPDX ids: They are all MIT except these: ambientcg CC0-1.0 catch BSL-1.0 cgltf MIT glfw MIT-0? Zlib? nanogui BSD-4-Clause openimageio BSD-3-Clause openshadinglanguage BSD-3-Clause poly-haven CC0-1.0 pybind11 BSD-4-Clause It looks to me they are all for the top package (where the datadir is going), and should be listed with an AND. The THIRD-PARTY.md file should also be included as a `%license` as well. Relevant linting errors and warnings: materialx.src: E: summary-too-long Open standard for the exchange of rich material and look-development content across applications and renderers. materialx.x86_64: E: summary-too-long Open standard for the exchange of rich material and look-development content across applications and renderers. materialx.src: W: summary-ended-with-dot Open standard for the exchange of rich material and look-development content across applications and renderers. materialx.x86_64: W: summary-ended-with-dot Open standard for the exchange of rich material and look-development content across applications and renderers. 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-devel.x86_64: W: no-documentation materialx.x86_64: E: no-binary # this one will be the case, unless the python scripts are included. We will need a second pair of eyes for this one. materialx.spec:76: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 76) materialx.src: E: description-line-too-long MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers. materialx.x86_64: E: description-line-too-long MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers. materialx-libs.x86_64: E: description-line-too-long MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers. 5 packages and 0 specfiles checked; 12 errors, 17 warnings, 12 badness; has taken 2.6 s
One more thing, is there any reason the unit tests are disabled? "-DMATERIALX_BUILD_TESTS=OFF"
(In reply to Carlos Rodriguez-Fernandez from comment #7) > One more thing, is there any reason the unit tests are disabled? > "-DMATERIALX_BUILD_TESTS=OFF" An issue related to Filesystem Hierarchy Standard like the following: ''' RPM build errors: error: Installed (but unpackaged) file(s) found: /builddir/build/BUILD/MaterialX-1.38.8/redhat-linux-build/bin/usr/lib64/mdl/materialx/core.mdl /builddir/build/BUILD/MaterialX-1.38.8/redhat-linux-build/bin/usr/lib64/mdl/materialx/hsv.mdl /builddir/build/BUILD/MaterialX-1.38.8/redhat-linux-build/bin/usr/lib64/mdl/materialx/noise.mdl /builddir/build/BUILD/MaterialX-1.38.8/redhat-linux-build/bin/usr/lib64/mdl/materialx/pbrlib.mdl /builddir/build/BUILD/MaterialX-1.38.8/redhat-linux-build/bin/usr/lib64/mdl/materialx/sampling.mdl /builddir/build/BUILD/MaterialX-1.38.8/redhat-linux-build/bin/usr/lib64/mdl/materialx/stdlib.mdl /builddir/build/BUILD/MaterialX-1.38.8/redhat-linux-build/bin/usr/lib64/mdl/materialx/swizzle.mdl /usr/lib64/README.md '''
Here is an update with disabled test until the FHS related issue get resolved and enabled python support: SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07002255-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07002255-materialx/materialx-1.38.8-1.fc40.src.rpm
Created attachment 2015982 [details] The .spec file difference from Copr build 6995048 to 7002551
Copr build: https://copr.fedorainfracloud.org/coprs/build/7002551 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/07002551-materialx/fedora-review/review.txt Found issues: - materialx-libs : /usr/lib64/stdlib/genosl/include/color4.h materialx-libs : /usr/lib64/stdlib/genosl/include/matrix33.h materialx-libs : /usr/lib64/stdlib/genosl/include/mx_funcs.h materialx-libs : /usr/lib64/stdlib/genosl/include/vector2.h materialx-libs : /usr/lib64/stdlib/genosl/include/vector4.h python3-materialx : /usr/lib64/python3.12/site-packages/MaterialX/usr/lib64/stdlib/genosl/include/color4.h python3-materialx : /usr/lib64/python3.12/site-packages/MaterialX/usr/lib64/stdlib/genosl/include/matrix33.h python3-materialx : /usr/lib64/python3.12/site-packages/MaterialX/usr/lib64/stdlib/genosl/include/mx_funcs.h python3-materialx : /usr/lib64/python3.12/site-packages/MaterialX/usr/lib64/stdlib/genosl/include/vector2.h python3-materialx : /usr/lib64/python3.12/site-packages/MaterialX/usr/lib64/stdlib/genosl/include/vector4.h Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Thank you Luya for the updated version. ==LICENSE== After looking at the licenses, would you mind please changing it this way? For package materialx: --------------------- # All third-party components imported or incorporated are under MIT except the following: # ambientcg CC0-1.0 # catch BSL-1.0 # glfw Zlib # nanogui BSD-4-Clause # openimageio BSD-3-Clause # openshadinglanguage BSD-3-Clause # poly-haven CC0-1.0 # pybind11 BSD-4-Clause License: MIT AND Apache-2.0 AND BSD-4-Clause AND CC0-1.0 AND BSD-3-Clause AND BSL-1.0 AND Zlib For subpackage libs: ------------------- License: Apache-2.0 %files %license LICENSE %license THIRD-PARTY.md %doc CHANGELOG.md README.md SECURITY.md ==DIR OWNERSHIP== /usr/lib64/cmake/MaterialX has the wrong onwership. Could you please change "%{_libdir}/cmake/MaterialX/*.cmake" to "%{_libdir}/cmake/MaterialX/" to fix the ownership roblem? ==DEPENDENCIES== Shouldn't the `python3-%{name}` depend on the libs? Shouldn't the top level package itself with those artifacts depend on the libs? For what I can understand upstream, all those components depend on the libs to be installed, so I wonder if this should be structured differently. Perhaps the top library should install the dyn libraries together with all the resources (or the resources in a different subpackage), then a devel package for the headers, and another one for python. That way they all depend on the parent one cleanly. That takes me to the next thought that perhaps the top package should be called `libmaterialx`. ==FHS== %{_libdir}/{bxdf,cmlib,lights,mdl,pbrlib,stdlib,targets} * These libraries are not ELF dynamic libraries. They should go to /usr/share/materialx. * They should be located under materialx/{bxdf,cmlib,lights,mdl,pbrlib,stdlib,targets} ==DEVEL AND LIBS== Could you please list the actual libraries instead of *.so and *.so.{1,%{version}}? https://docs.fedoraproject.org/en-US/packaging-guidelines/#_listing_shared_library_files https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_lists
(In reply to Carlos Rodriguez-Fernandez from comment #12) > Thank you Luya for the updated version. > > ==LICENSE== > > After looking at the licenses, would you mind please changing it this way? > > > For package materialx: > --------------------- > > # All third-party components imported or incorporated are under MIT except > the following: > # ambientcg CC0-1.0 > # catch BSL-1.0 > # glfw Zlib > # nanogui BSD-4-Clause > # openimageio BSD-3-Clause > # openshadinglanguage BSD-3-Clause > # poly-haven CC0-1.0 > # pybind11 BSD-4-Clause > > License: MIT AND Apache-2.0 AND BSD-4-Clause AND CC0-1.0 AND > BSD-3-Clause AND BSL-1.0 AND Zlib > > > For subpackage libs: > ------------------- > > License: Apache-2.0 > > Fixed. > > %files > %license LICENSE > %license THIRD-PARTY.md > %doc CHANGELOG.md README.md SECURITY.md > The build system dislike adding extra %license for THIRD-PARTY.md so %doc was the only option. > > ==DIR OWNERSHIP== > > /usr/lib64/cmake/MaterialX has the wrong onwership. > Could you please change "%{_libdir}/cmake/MaterialX/*.cmake" to > "%{_libdir}/cmake/MaterialX/" to fix the ownership roblem? Fixed. > > ==DEPENDENCIES== > > Shouldn't the `python3-%{name}` depend on the libs? > Shouldn't the top level package itself with those artifacts depend on the > libs? > > For what I can understand upstream, all those components depend on the libs > to be installed, so I wonder if this should be structured differently. > Perhaps the top library should install the dyn libraries together with all > the resources (or the resources in a different subpackage), then a devel > package for the headers, and another one for python. That way they all > depend on the parent one cleanly. That takes me to the next thought that > perhaps the top package should be called `libmaterialx`. > Or something like materialx-osl due to the optional support of OSL? > > ==FHS== > > %{_libdir}/{bxdf,cmlib,lights,mdl,pbrlib,stdlib,targets} > > * These libraries are not ELF dynamic libraries. They should go to > /usr/share/materialx. > * They should be located under > materialx/{bxdf,cmlib,lights,mdl,pbrlib,stdlib,targets} > Fixed. > ==DEVEL AND LIBS== > > Could you please list the actual libraries instead of *.so and > *.so.{1,%{version}}? > Fixed. Here is the updated SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07005412-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07005412-materialx/materialx-1.38.8-1.fc40.src.rpm
Created attachment 2016146 [details] The .spec file difference from Copr build 7002551 to 7005489
Copr build: https://copr.fedorainfracloud.org/coprs/build/7005489 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/07005489-materialx/fedora-review/review.txt Found issues: - 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 python3-materialx : /usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx/stdlib/genosl/include/color4.h python3-materialx : /usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx/stdlib/genosl/include/matrix33.h python3-materialx : /usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx/stdlib/genosl/include/mx_funcs.h python3-materialx : /usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx/stdlib/genosl/include/vector2.h python3-materialx : /usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx/stdlib/genosl/include/vector4.h Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Luya, thank you so much for all the updates. Inspecting the packages I found these files being installed in python3-%{name} (cut for brevity): /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXCore.cpython-312-x86_64-linux-gnu.so /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXFormat.cpython-312-x86_64-linux-gnu.so ... /usr/lib64/python3.12/site-packages/MaterialX/__init__.py /usr/lib64/python3.12/site-packages/MaterialX/__pycache__ /usr/lib64/python3.12/site-packages/MaterialX/__pycache__/__init__.cpython-312.opt-1.pyc ... /usr/lib64/python3.12/site-packages/MaterialX/_scripts /usr/lib64/python3.12/site-packages/MaterialX/_scripts/README.md ... /usr/lib64/python3.12/site-packages/MaterialX/colorspace.py /usr/lib64/python3.12/site-packages/MaterialX/datatype.py /usr/lib64/python3.12/site-packages/MaterialX/main.py /usr/lib64/python3.12/site-packages/MaterialX/usr /usr/lib64/python3.12/site-packages/MaterialX/usr/share /usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx /usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx/README.md /usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx/bxdf /usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx/bxdf/disney_brdf_2012.mtlx ... Notice that `/usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx` folder with a lot of the resources that are already in /usr/share/materialx. Is that a bug? Also, I opened some of the "Scripts" *.py files you are installing in the top package and I found some dependencies missing in the SPEC file: *.py in %{name} depends on python libraries provided in python3-%{name}, which depends on %{name}-libs, which may be not of great help without the /usr/share/materialx files. This is an idea of how to restructure this, let me know what you think: package: libmaterialx (general naming for libs) * .so. files * /usr/share/materialx files * docs - doesn't depend on anything and stand on its own subpackage: python3-libmaterialx (many packages are named this way: python3-libXYZ) * python libs and cpython so files - depends on libmaterialx subpackage: libmaterialx-tools (some are named this way, e.g., libbpf-tools) * the *.py tools installed in /usr/bin - depends on python3-libmaterialx subpackage: libmaterialx-devel * development files - depends on libmaterialx
Regarding the license, this fix would do it: Move it to the right directory as the other LICENSE file: ``` mv %{buildroot}%{_prefix}/THIRD-PARTY.md %{buildroot}%{_datadir}/licenses/%{name}/ ``` Remove it from the "mv" doing the docs: ``` mv %{buildroot}%{_prefix}/{CHANGELOG,README}.md %{buildroot}%{_docdir}/%{name}/ ``` List the licenses with a full path: ``` %license %{_datadir}/licenses/%{name}/LICENSE %license %{_datadir}/licenses/%{name}/THIRD-PARTY.md ``` Then the build will work and place them in the right path: ``` $ rpm -ql /var/lib/mock/fedora-rawhide-x86_64/result/materialx-1.38.8-1.fc40.x86_64.rpm | grep licenses /usr/share/licenses/materialx/LICENSE /usr/share/licenses/materialx/THIRD-PARTY.md ```
(In reply to Carlos Rodriguez-Fernandez from comment #16) > Luya, thank you so much for all the updates. > > Inspecting the packages I found these files being installed in > python3-%{name} (cut for brevity): > > > /usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXCore.cpython-312- > x86_64-linux-gnu.so > ... > > > Notice that > `/usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx` folder > with a lot of the resources that are already in /usr/share/materialx. Is > that a bug? > Yes, a leftover bug from the line coming from Arch Linux like this one: "sed -i 's|resources|share/materialx/resources|g' python/CMakeLists.txt" It is now removed. > > > Also, I opened some of the "Scripts" *.py files you are installing in the > top package and I found some dependencies missing in the SPEC file: > *.py in %{name} depends on python libraries provided in python3-%{name}, > which depends on %{name}-libs, which may be not of great help without the > /usr/share/materialx files. > > > This is an idea of how to restructure this, let me know what you think: > > package: libmaterialx (general naming for libs) > * .so. files > * /usr/share/materialx files > * docs > - doesn't depend on anything and stand on its own > Materialx suited better to match the name of upstream although 'libmaterialx' fits well to reflect the libraries. > subpackage: python3-libmaterialx (many packages are named this way: > python3-libXYZ) > * python libs and cpython so files > - depends on libmaterialx > > subpackage: libmaterialx-tools (some are named this way, e.g., libbpf-tools) > * the *.py tools installed in /usr/bin > - depends on python3-libmaterialx > > subpackage: libmaterialx-devel > * development files > - depends on libmaterialx Here is the updated (the possible renaming will come later): SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07008526-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07008526-materialx/materialx-1.38.8-1.fc40.src.rpm
Thank you Luya for all the updates. That is a lot of work to get upstream cmake install to conform to FHS! I tested the new src.rpm, and unfortunately, those paths are still being installed: "/usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx" Another thing is that the `tools` subpackage does depend on `python3-%{name}` package because those /usr/bin/*.py files do import all the PyMaterialX modules. So, it will need this instead (which in itself, will bring the top level package lib as well): ``` Requires: python3-%{name}%{?_isa} = %{version}-%{release} ``` And, since that package is only built with the python flag, the `tools` package will also need to be wrapped with it as well "%if %{with python}".
Created attachment 2016552 [details] The .spec file difference from Copr build 7005489 to 7010709
Copr build: https://copr.fedorainfracloud.org/coprs/build/7010709 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/07010709-materialx/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
(In reply to Carlos Rodriguez-Fernandez from comment #19) > Thank you Luya for all the updates. That is a lot of work to get upstream > cmake install to conform to FHS! > It is. In a future, I will need help to translate the fix in cmake codes then submit to upstream. > I tested the new src.rpm, and unfortunately, those paths are still being > installed: > "/usr/lib64/python3.12/site-packages/MaterialX/usr/share/materialx" > Fixed by manually removing it. ''' mkdir -p %{buildroot}%{python3_sitearch} rm -rf %{buildroot}%{_prefix}/python/MaterialX/%{_prefix} mv %{buildroot}%{_prefix}/python/MaterialX %{buildroot}%{python3_sitearch} ''' > > Another thing is that the `tools` subpackage does depend on > `python3-%{name}` package because those /usr/bin/*.py files do import all > the PyMaterialX modules. So, it will need this instead (which in itself, > will bring the top level package lib as well): > ``` > Requires: python3-%{name}%{?_isa} = %{version}-%{release} > ``` > > And, since that package is only built with the python flag, the `tools` > package will also need to be wrapped with it as well "%if %{with python}". Fixed. Here is the update: SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07012117-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07012117-materialx/materialx-1.38.8-1.fc40.src.rpm
Created attachment 2016673 [details] The .spec file difference from Copr build 7010709 to 7013260
Copr build: https://copr.fedorainfracloud.org/coprs/build/7013260 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/07013260-materialx/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Thank you Luya, Sorry I missed this one earlier: The `python3-%{name}` and `tools` subpackages are both missing the "License: Apache-2.0" field. Other than that, I think this is ready.
No problem Carlos, based on feedback, here is SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07022343-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07022343-materialx/materialx-1.38.8-1.fc41.src.rpm
Carlos, in case of need of approval, look for flag->fedora-review in "Show Advanced Field" to switch either to "+" for approval or "?" for review. See https://docs.fedoraproject.org/en-US/package-maintainers/Package_Review_Process/#_reviewer
Created attachment 2017286 [details] The .spec file difference from Copr build 7013260 to 7027751
Copr build: https://copr.fedorainfracloud.org/coprs/build/7027751 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/07027751-materialx/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
[fedora-review-service-build]
Copr build: https://copr.fedorainfracloud.org/coprs/build/7035565 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/07035565-materialx/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Luya, The URL to the upstream tar ball is broken. The build is succeeding because the source is extracted from the srpm, but the review is not because it pulls it from the upstream directly, hence failing to post.
Here is the update with fixed source url: SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07035844-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07035844-materialx/materialx-1.38.8-1.fc41.src.rpm
Created attachment 2017693 [details] The .spec file difference from Copr build 7035565 to 7035959
Copr build: https://copr.fedorainfracloud.org/coprs/build/7035959 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/07035959-materialx/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
I'm using a non-rawhide review template since the rawhide one is broken. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed 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 - Package contains BR: python2-devel or python3-devel ===== MUST items ===== C/C++: [-]: Provides: bundled(gnulib) in place as required. Note: Sources not installed [-]: Package does not contain kernel modules. [ ]: 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]: Package contains no static executables. [x]: Rpath absent or only used for internal libs. Generic: [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. Note: Using prebuilt packages [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", "*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", "*No copyright* Public domain", "*No copyright* SIL Open Font License 1.1", "GNU Lesser General Public License v2.1 or later". 1358 files have unknown license. Detailed output of licensecheck in /var/lib/copr- rpmbuild/results/materialx/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]: 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. [x]: 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 [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 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]: 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?) [-]: 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 ===== SHOULD items ===== Generic: [x]: Reviewer should test that the package builds in mock. [-]: 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]: Package functions as described. [x]: Latest version is packaged. [x]: 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. [x]: Packages should try to preserve timestamps of original installed files. [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.fc39.x86_64.rpm:140697600 See: https://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: No rpmlint messages. Rpmlint ------- Checking: materialx-1.38.8-1.fc39.x86_64.rpm materialx-devel-1.38.8-1.fc39.x86_64.rpm python3-materialx-1.38.8-1.fc39.x86_64.rpm materialx-tools-1.38.8-1.fc39.x86_64.rpm materialx-debuginfo-1.38.8-1.fc39.x86_64.rpm materialx-debugsource-1.38.8-1.fc39.x86_64.rpm materialx-1.38.8-1.fc39.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/tmpc80rq1fk')] 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, 553 filtered, 16 badness; has taken 6.5 s Rpmlint (debuginfo) ------------------- Checking: materialx-debuginfo-1.38.8-1.fc39.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/tmphrl4wv1n')] checks: 32, packages: 1 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 30 filtered, 0 badness; has taken 1.6 s Rpmlint (installed packages) ---------------------------- (none): E: there is no installed rpm "python3-materialx". (none): E: there is no installed rpm "materialx-devel". (none): E: there is no installed rpm "materialx-debuginfo". (none): E: there is no installed rpm "materialx-tools". (none): E: there is no installed rpm "materialx". (none): E: there is no installed rpm "materialx-debugsource". There are no files to process nor additional arguments. Nothing to do, aborting. ============================ 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 0 packages and 0 specfiles checked; 0 errors, 0 warnings, 0 filtered, 0 badness; has taken 0.0 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.4()(64bit) libOpenImageIO_Util.so.2.4()(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.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.fc39.x86_64.debug()(64bit) libMaterialXFormat.so.1.38.8-1.38.8-1.fc39.x86_64.debug()(64bit) libMaterialXGenGlsl.so.1.38.8-1.38.8-1.fc39.x86_64.debug()(64bit) libMaterialXGenMdl.so.1.38.8-1.38.8-1.fc39.x86_64.debug()(64bit) libMaterialXGenMsl.so.1.38.8-1.38.8-1.fc39.x86_64.debug()(64bit) libMaterialXGenOsl.so.1.38.8-1.38.8-1.fc39.x86_64.debug()(64bit) libMaterialXGenShader.so.1.38.8-1.38.8-1.fc39.x86_64.debug()(64bit) libMaterialXRender.so.1.38.8-1.38.8-1.fc39.x86_64.debug()(64bit) libMaterialXRenderGlsl.so.1.38.8-1.38.8-1.fc39.x86_64.debug()(64bit) libMaterialXRenderHw.so.1.38.8-1.38.8-1.fc39.x86_64.debug()(64bit) libMaterialXRenderOsl.so.1.38.8-1.38.8-1.fc39.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 :/bin/fedora-review --no-colors --prebuilt --rpm-spec --name materialx --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg Buildroot used: fedora-39-x86_64 Active plugins: Python, Shell-api, Generic, C/C++ Disabled plugins: R, Perl, Ocaml, Java, SugarActivity, PHP, Haskell, fonts Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
[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. - They are cpython binding so [!]: Package should compile and build into binary rpms on all supported architectures. - https://koji.fedoraproject.org/koji/taskinfo?taskID=113778658 ``` DEBUG util.py:461: No matching package to install: 'pkgconfig(OpenImageIO)' DEBUG util.py:461: No matching package to install: 'pkgconfig(oslcomp)' DEBUG util.py:461: Not all dependencies satisfied DEBUG util.py:461: Error: Some packages could not be found. ``` https://src.fedoraproject.org/rpms/OpenImageIO/blob/rawhide/f/OpenImageIO.spec ``` # OpenVDB no longer builds for i686 ExcludeArch: i686 ``` Could you please remove i686 support? Your dependencies won't be available there.
Here is the update SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07037519-libmaterialx/libmaterialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07037519-libmaterialx/libmaterialx-1.38.8-1.fc41.src.rpm
Created attachment 2017956 [details] The .spec file difference from Copr build 7035959 to 7041939
Copr build: https://copr.fedorainfracloud.org/coprs/build/7041939 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/07041939-libmaterialx/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Thank you for the update, Luya. This part is missing in the new revision: ``` ExcludeArch: i686 ``` Also, I'm having a hard time where is the `%{oiio}` defined, and there is also an extra `}` on it: `-DMATERIALX_BUILD_OIIO=%{oiio}} \` * The naming is actually better `materialx` than `libmaterialx`, because as you said, reflects better the upstream project name. * openshadinglanguage, OpenImageIO, and pybind11 are already packages in fedora that this package is depending on, so their license is not really necessary to be listed. * The incorporated modules will need to investigated more to see exactly how they are being "imported or incorporated". They should be packaged separately if possible, or use Provides: bundled(...) = <version> otherwise. That would faciliate tracking them for security, licensing, etc... - ambientcg (assets copied over) CC0-1.0 - poly-haven (assets copied over) CC0-1.0 - catch (2.13.10, it looks like source copied over) BSL-1.0 - glfw (3.4.0, it looks like source copied over) Zlib - nanogui (incorporated as gitsubmodule, but what version?) BSD-4-Clause - ImGui - ImGuiEditor - and pretty much all the ones in https://github.com/AcademySoftwareFoundation/MaterialX/blob/main/THIRD-PARTY.md These are the git submodules I found related with NanoGUI, and also ImGui*: ``` $ git submodule status -9aae45eb4a05a5a1f96be1ef37eb503a12ceb889 source/MaterialXGraphEditor/External/ImGui -2f99b2d613a400f6579762bd7e7c343a0d844158 source/MaterialXGraphEditor/External/ImGuiNodeEditor -f5020e2f3e5114d517642e67afbb21cb88cf04c0 source/MaterialXView/NanoGUI ``` It looks like `CHANGELOG.md` can be a good source of details about the incorporated components, and how exactly they are brought in. I think it is better to have a senior packager pair of eyes looking into this, because of its complexity.
Thank you Carlos for the big review. The %{oiio} is an oversight meant to get replaced by ON boolean. I realized I uploaded the wrong SRPM so the right version will come in a moment. SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07048799-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07048799-materialx/materialx-1.38.8-1.fc41.src.rpm Ben, would you mind checking the current spec?
Created attachment 2018131 [details] The .spec file difference from Copr build 7041939 to 7048859
Copr build: https://copr.fedorainfracloud.org/coprs/build/7048859 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/07048859-materialx/fedora-review/review.txt Please take a look if any issues were found. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
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
Created attachment 2024120 [details] Updated materialx.spec file Resuming the spec file and implementing the suggestion. The patch in question is missing for testing purpose to fully build.
New update with latest upstream release, disabled python support and fixes from #45: SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07928588-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/07928588-materialx/materialx-1.39.0-1.fc42.src.rpm
Created attachment 2044561 [details] The .spec file difference from Copr build 7048859 to 7932202
Copr build: https://copr.fedorainfracloud.org/coprs/build/7932202 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/07932202-materialx/fedora-review/review.txt Found issues: - materialx-data : /usr/share/materialx/stdlib/genosl/include/color4.h materialx-data : /usr/share/materialx/stdlib/genosl/include/matrix33.h materialx-data : /usr/share/materialx/stdlib/genosl/include/mx_funcs.h materialx-data : /usr/share/materialx/stdlib/genosl/include/vector2.h materialx-data : /usr/share/materialx/stdlib/genosl/include/vector4.h Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Hi, there's more paths that need to be fixed on %prep. Here's the edits I added: sed -i 's|resources|%{_datadir}/%{name}/resources|g' source/MaterialXView/{Main.cpp,Viewer.cpp} sed -i 's|"libraries"|"%{_datadir}/%{name}"|g' source/MaterialXView/Main.cpp sed -i 's|resources|%{_datadir}/%{name}/resources|g' source/MaterialXGraphEditor/{Main.cpp,Graph.cpp} sed -i 's|"libraries"|"%{_datadir}/%{name}"|g' source/MaterialXGraphEditor/{Main.cpp,Graph.cpp} sed -i 's|"libraries"|"%{_datadir}/%{name}"|g' source/MaterialXGenShader/GenOptions.h sed -i 's|@PACKAGE_CMAKE_INSTALL_PREFIX@/libraries|%{_datadir}/%{name}|g' cmake/modules/MaterialXConfig.cmake.in sed -i 's|@PACKAGE_CMAKE_INSTALL_PREFIX@/python|%{python3_sitearch}/MaterialX|g' cmake/modules/MaterialXConfig.cmake.in sed -i 's|@PACKAGE_CMAKE_INSTALL_PREFIX@/resources|%{_datadir}/%{name}/resources|g' cmake/modules/MaterialXConfig.cmake.in Hope it helps!
Update with fix from comment #50 and disabled python subpackage SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-39-x86_64/08158627-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-39-x86_64/08158627-materialx/materialx-1.39.1-1.fc39.src.rpm
Created attachment 2052851 [details] The .spec file difference from Copr build 7932202 to 8158633
Copr build: https://copr.fedorainfracloud.org/coprs/build/8158633 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/08158633-materialx/fedora-review/review.txt Found issues: - materialx-data : /usr/share/materialx/stdlib/genosl/include/color4.h materialx-data : /usr/share/materialx/stdlib/genosl/include/matrix33.h materialx-data : /usr/share/materialx/stdlib/genosl/include/mx_funcs.h materialx-data : /usr/share/materialx/stdlib/genosl/include/vector2.h materialx-data : /usr/share/materialx/stdlib/genosl/include/vector4.h Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
Why does the spec use a less clear Summary from the title of the Bugzilla? What is the chrpath BR'd for? Why is there an unconditional `cmake(pybind11)` BR, but also a python-conditional `pkgconfig(pybind11)` BR? Why is dos2unix not run once with --keepdate in all cases? If python is enabled, then only a tools subpackage is added; where is the python3-%{name} subpackage?
Here is the updated package: SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/08864538-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/08864538-materialx/materialx-1.39.3-1.fc43.src.rpm
Created attachment 2083568 [details] The .spec file difference from Copr build 8158633 to 8864573
Copr build: https://copr.fedorainfracloud.org/coprs/build/8864573 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/08864573-materialx/fedora-review/review.txt Found issues: - materialx-data : /usr/share/materialx/stdlib/genosl/include/color4.h materialx-data : /usr/share/materialx/stdlib/genosl/include/matrix33.h materialx-data : /usr/share/materialx/stdlib/genosl/include/mx_funcs.h materialx-data : /usr/share/materialx/stdlib/genosl/include/vector2.h materialx-data : /usr/share/materialx/stdlib/genosl/include/vector4.h Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
> %bcond viewer 0 # Graphical viewer (enabled by default) The comment seems confused. > %{_libdir}/libMaterialX*.so.* The packaging guidelines say (https://docs.fedoraproject.org/en-US/packaging-guidelines/#_listing_shared_library_files): > Shared libraries installed directly into %{_libdir} SHOULD NOT be listed in the > %files section of the spec by using a glob in a way that conceals important > parts of the file name (e.g. libfoo.so*) In https://bugzilla.redhat.com/show_bug.cgi?id=2262694#c45 Ben noticed that bundled libraries are not handled properly and gave nanogui as an example. But https://bugzilla.redhat.com/show_bug.cgi?id=2262694#c41 lists many more bundled libraries. They need to be handled too. And please note that "handled properly" means that ideally the system version is used. At least glfw and catch are packaged.
One more thing: the Summary says "open standard". That is rather misleading. A package that is described as a standard would normally be expected to contain the text of the standard or something like that. But it seems to provide a library that implements it or something like that, I didn't actualy look.
(In reply to Zbigniew Jędrzejewski-Szmek from comment #58) > > %bcond viewer 0 # Graphical viewer (enabled by default) > The comment seems confused. Fixed. > > > %{_libdir}/libMaterialX*.so.* > The packaging guidelines say > (https://docs.fedoraproject.org/en-US/packaging-guidelines/ > #_listing_shared_library_files): > > Shared libraries installed directly into %{_libdir} SHOULD NOT be listed in the > > %files section of the spec by using a glob in a way that conceals important > > parts of the file name (e.g. libfoo.so*) Fixed with this line: "%{_libdir}/libMaterialX*.so.{1,%{version}}" Before simplification, the old spec version had the following: " %{_libdir}/libMaterialXCore.so.{1,%{version}} %{_libdir}/libMaterialXFormat.so.{1,%{version}} %{_libdir}/libMaterialXGen{,Glsl,Mdl,Msl,Osl,Shader}.so.{1,%{version}} %{_libdir}/libMaterialXRender{,Glsl,Hw,Osl}.so.{1,%{version}} " > > In https://bugzilla.redhat.com/show_bug.cgi?id=2262694#c45 Ben noticed > that bundled libraries are not handled properly and gave nanogui as an > example. > But https://bugzilla.redhat.com/show_bug.cgi?id=2262694#c41 lists many more > bundled libraries. They need to be handled too. And please note that > "handled properly" means that ideally the system version is used. Re-include the line: "Provides: bundled(nanogui) = 0.2.0^20221102gitf5020e2" Currently, upstream cmake requires git submodule for nanogui hence left disabled until a proper fix occurs. > At least glfw and catch are packaged. Fixed with the following: "BuildRequires: pkgconfig(catch2) BuildRequires: pkgconfig(glfw3)" > One more thing: the Summary says "open standard". That is rather misleading. > A package that is described as a standard would normally be expected to > contain > the text of the standard or something like that. But it seems to provide > a library that implements it or something like that, I didn't actualy look. The summary is updated with the following line: "Vendor-neutral specification for 3D material interchange" Here is the updated SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/08882889-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/08882889-materialx/materialx-1.39.3-1.fc43.src.rpm
Created attachment 2084146 [details] The .spec file difference from Copr build 8864573 to 8882938
Copr build: https://copr.fedorainfracloud.org/coprs/build/8882938 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/08882938-materialx/fedora-review/review.txt Found issues: - materialx-data : /usr/share/materialx/stdlib/genosl/include/color4.h materialx-data : /usr/share/materialx/stdlib/genosl/include/matrix33.h materialx-data : /usr/share/materialx/stdlib/genosl/include/mx_funcs.h materialx-data : /usr/share/materialx/stdlib/genosl/include/vector2.h materialx-data : /usr/share/materialx/stdlib/genosl/include/vector4.h Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.
I made some additions to build with python bindings, feel free to add it to your spec. SPEC: https://download.copr.fedorainfracloud.org/results/adro79/materialx/fedora-rawhide-x86_64/08887919-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/adro79/materialx/fedora-rawhide-x86_64/08887919-materialx/materialx-1.39.3-1.fc43.src.rpm Hope this can be added to the Fedora repos soon. I use MaterialX frequently with OpenUSD, and I'd love to have this enabled on the fedora's usd package. Thanks.
Thank you for the python bindings code, added to the spec. Hopefully as MaterialX is an optional dependency for Blender. Here is the latest update SPEC: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/08889136-materialx/materialx.spec SRPM: https://download.copr.fedorainfracloud.org/results/@designsuite/blender/fedora-rawhide-x86_64/08889136-materialx/materialx-1.39.3-1.fc43.src.rpm
Created attachment 2084399 [details] The .spec file difference from Copr build 8882938 to 8889447
Copr build: https://copr.fedorainfracloud.org/coprs/build/8889447 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2262694-materialx/fedora-rawhide-x86_64/08889447-materialx/fedora-review/review.txt Found issues: - materialx-data : /usr/share/materialx/stdlib/genosl/include/color4.h materialx-data : /usr/share/materialx/stdlib/genosl/include/matrix33.h materialx-data : /usr/share/materialx/stdlib/genosl/include/mx_funcs.h materialx-data : /usr/share/materialx/stdlib/genosl/include/vector2.h materialx-data : /usr/share/materialx/stdlib/genosl/include/vector4.h Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_devel_packages Please know that there can be false-positives. --- This comment was created by the fedora-review-service https://github.com/FrostyX/fedora-review-service If you want to trigger a new Copr build, add a comment containing new Spec and SRPM URLs or [fedora-review-service-build] string.