[Bug 2262694] Review Request: materialx - Open standard for the exchange of rich material

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.redhat.com/show_bug.cgi?id=2262694

Ben Beasley <code@xxxxxxxxxxxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|needinfo?(code@musicinmybra |
                   |in.net)                     |



--- Comment #45 from Ben Beasley <code@xxxxxxxxxxxxxxxxxx> ---
I am not sure that I dug into this deeply enough to find *everything*; consider
this a preliminary review.

Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated


Issues:
=======
- Header files in -devel subpackage, if present.
  Note: materialx : /usr/share/materialx/stdlib/genosl/include/color4.h
  materialx : /usr/share/materialx/stdlib/genosl/include/matrix33.h
  materialx : /usr/share/materialx/stdlib/genosl/include/mx_funcs.h
  materialx : /usr/share/materialx/stdlib/genosl/include/vector2.h
  materialx : /usr/share/materialx/stdlib/genosl/include/vector4.h
  See: https://docs.fedoraproject.org/en-US/packaging-
  guidelines/#_devel_packages

  OK: These header files appear to be used for code generation.

- Package contains BR: python2-devel or python3-devel

  OK: BuildRequires:  pkgconfig(python3) implies python3-devel.

- Since CC0-1.0 is not-allowed for code in Fedora, please add a spec file
  comment that makes it clear that components from ambientcg and poly-haven
  under CC0-1.0 are solely “assets” and therefore content, for which CC0-1.0 is
  still allowed in Fedora. I had a hard time identifying the exact files taken
  from these projects, but it seems like both projects are content collections
  rather than software, so I think there is no problem here.

- The nanogui license does not appear to be BSD-4-Clause as claimed in the spec
  file. It seems like it might be BSD-3-Clause-LBNL.

- It’s a bit nicer and more general to write

    ExcludeArch:    i686

  as

    ExcludeArch:    %{ix86}

  although they are equivalent in Fedora proper.

- Anything bundled needs to follow the rules in

    https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling

  So you need the virtual Provides:

    Provides:       bundled(nanogui) = 0.2.0^20221102gitf5020e2

  but also you need to use a system copy if possible, and if not possible then
  you need to publicly contact upstream about a path to doing so.

  For nanogui in particular, it looks like there is some support for an
  external copy of nanogui, but maybe this just means a source tree rather than
  an installed library. I haven’t looked into it.

   
https://github.com/AcademySoftwareFoundation/MaterialX/blob/92734332d595278298ad08e6543409bbabf344f0/source/MaterialXView/CMakeLists.txt#L3

  Either way, the process for justifying and indicating bundled libraries needs
  to be followed for each bundled library.

  There are a lot of other bundled libraries: I have not tried to account for
  them all, but they do all need to be accounted for.

- In general, licensecheck output suggests that there is code under many
  licenses that are not mentioned in THIRD_PARTY.md or in the License
  expression. This is related to the unaccounted-for bundled libraries
  mentioned in the previous point.

- The asan/ubsan sanitizers have a runtime cost and are not really intended for
  “production.” Please remove

    BuildRequires:  libasan
    BuildRequires:  libubsan

  and change

        -DMATERIALX_DYNAMIC_ANALYSIS=ON \

  to

        -DMATERIALX_DYNAMIC_ANALYSIS=OFF \

  (the default).

- Similarly, coverage analysis is not really useful for us, and (from grepping
  the sources) it seems like this option is no longer implemented anyway, so
  please consider removing:

        -DMATERIALX_COVERAGE_ANALYSIS=ON \

- From python/Scripts/README.md, the scripts in python/Scripts/ are “example
  Python scripts that generate, process, and validate material content using
  the MaterialX API.” I don’t think it makes sense to install these example
  scripts in the system PATH (/usr/bin/) due to their “example” status and
  their fairly generic names. Maybe you could install them in a documentation
  directory instead?

- It is not correct to say that the License of the -devel subpackage is simply
  Apache-2.0, since the API headers include many bundled header-only libraries
  under various licenses. These licenses need to be accounted for, and the
  -devel subpackage needs the appropriate virtual Provides – assuming the
  prescribed preconditions for bundling are satisfied in the package overall.

- Similarly, the License of the python3-materialx subpackage should probably be
  the same as that of the base package, because any of the bundled code under
  various licenses could be included in the various compiled extensions. At
  most, you might be able to prove that the content/asset files under CC0-1.0
  are not included, and drop that term from the license expression for
  python3-materialx.

- Since the contents of %{_datadir}/%{name}, i.e. /usr/share/materialx, are
  quite large (136M), it would be better to split them out into a
  materialx-data package that is noarch. This saves space on mirrors. The base
  package can then have a fully-versioned dependency on the -data subpackage,
  like:

    Requires:       %{name}-data = %{version}-%{release}

  Since all the other subpackages should end up depending directly or
  indirectly on this subpackage, it could be a good place to ship the license
  files, too.

  See also:

     Note: Arch-ed rpms have a total of 140707840 bytes in /usr/share
     materialx-1.38.8-1.fc41.x86_64.rpm:140697600

- The source tree contains bundled fonts. Please ensure these are not needed,
  and remove them in %prep, e.g.:

    # Ensure there are no bundled fonts
    #
https://docs.fedoraproject.org/en-US/packaging-guidelines/#_avoid_bundling_of_fonts_in_other_packages
    find . -type f \( \
        -name '*.tt[cf]' -o -name '*.ot[cf]' \
        -o -name '*.eot' -o -name '*.woff' -o -name '*.woff2' \
        \) -print -delete

- This does not work:

    %description -n python3-%{name}
    %{description}

  The resulting package literally has unexpanded %{description} as its
description.

- You should remove useless shebang lines in non-script files.

    python3-materialx.x86_64: E: non-executable-script
/usr/lib64/python3.12/site-packages/MaterialX/colorspace.py 644
/usr/bin/python3 -sP
    python3-materialx.x86_64: E: non-executable-script
/usr/lib64/python3.12/site-packages/MaterialX/datatype.py 644 /usr/bin/python3
-sP
    python3-materialx.x86_64: E: non-executable-script
/usr/lib64/python3.12/site-packages/MaterialX/main.py 644 /usr/bin/python3 -sP

  Something like this could work:

    sed -r -i '1{/^#!/d}' python/MaterialX/{colorspace,datatype,main}.py

  But it would be even better to offer this upstream, and apply the PR as a
  patch, since these files do not have the executable bit set in the git
  repository, so the shebang lines are always useless for everyone.

- Despite some efforts to fix spurious executable permissions,

    # Relocate changelog, licenses and remove executable permission
    chmod -x %{buildroot}%{_prefix}/*.md
    mv %{buildroot}%{_prefix}/{CHANGELOG,README}.md
%{buildroot}%{_docdir}/%{name}/
    mv %{buildroot}%{_prefix}/THIRD-PARTY.md
%{buildroot}%{_datadir}/licenses/%{name}/

  there are still spurious executable permissions.

    materialx.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx/CHANGELOG.md
    materialx.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx/README.md
    materialx.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx/SECURITY.md
    materialx-devel.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx-devel/README.md

  Consider fixing these in %prep instead.

    chmod -v a-x LICENSE *.md

  Also, these files (like pretty much the entire source tree) are in
  DOS/Windows format. Add

    BuildRequires:  dos2unix

  and in %prep,

    dos2unix --keepdate LICENSE *.md

  Investigate whether any other packaged text files need the same
  chmod/dos2unix treatment. For example:

    python3-materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/lib64/python3.12/site-packages/MaterialX/colorspace.py
    python3-materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/lib64/python3.12/site-packages/MaterialX/datatype.py
    python3-materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/lib64/python3.12/site-packages/MaterialX/main.py

  I don’t know what part of upstream’s release process is converting all these
  files to CRLF and making them executable.

  The really big hammer is something like

    find . -type f -perm /0111 -exec chmod -v a-x '{}' '+'
    find . -type f | xargs file | awk -F ':' '/CRLF/ { print $1 }' |
      xargs -r dos2unix --keepdate

  and perhaps that is justified. It doesn’t look like anything really needs to
  be executable; you would just need to audit to make sure nothing is being
  EOL-converted that really does need to stay as-is.

- I am not convinced the Python extension is really built correctly. There is a
  suspicious message in %install:

    Traceback (most recent call last):
      File
"/builddir/build/BUILD/MaterialX-1.38.8/redhat-linux-build/python/setup.py",
line 1, in <module>
        from setuptools import setup
    ModuleNotFoundError: No module named 'setuptools'

  and there is no .dist-info directory with Python metadata.

  I think it would be wise to explore building the Python package separately
from the main cmake build, i.e.

    Patch:         
0001-Downstream-only-do-without-the-dynamic-versioning-sc.patch

    BuildRequires:  ninja-build

    [...]

    %prep
    %autosetup -n MaterialX-%{version} -p1
    sed -r -i 's/@VERSION@/%{version}/' pyproject.toml

    [...]

    %generate_buildrequires
    %pyproject_buildrequires

  (I will upload
  0001-Downstream-only-do-without-the-dynamic-versioning-sc.patch as an
  attachment.)

  Remove:

    %if %{with python}
            -DMATERIALX_BUILD_PYTHON=ON \
    %endif

  Add to %build:

    %pyproject_wheel

  Add to %install:

    %pyproject_install
    %pyproject_save_files MaterialX

  Then do

    %files -n python3-%{name} -f %{pyproject_files}

  I almost got this approach working, but it’s currently failing with

    FAILED:
source/MaterialXRender/CMakeFiles/MaterialXRender.dir/StbImageLoader.cpp.o
    /usr/bin/g++ -DMATERIALX_BUILD_GEN_GLSL -DMATERIALX_BUILD_GEN_MDL
-DMATERIALX_BUILD_GEN_MSL -DMATERIALX_BUILD_GEN_OSL
-DMATERIALX_INSTALL_MDL_MODULE_PATH=\"libraries\"
-DMATERIALX_MDLC_EXECUTABLE=\"\" -DMATERIALX_MDL_MODULE_PATHS=\"\"
-DMATERIALX_MDL_RENDER_ARGUMENTS=\"\" -DMATERIALX_MDL_RENDER_EXECUTABLE=\"\"
-DMATERIALX_OSL_BINARY_OSLC=\"\" -DMATERIALX_OSL_BINARY_TESTRENDER=\"\"
-DMATERIALX_OSL_INCLUDE_PATH=\"\" -DMATERIALX_OSL_LEGACY_CLOSURES
-DMATERIALX_RENDER_EXPORTS
-I/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/..
-I/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXGenShader/..
-I/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXCore/..
-I/builddir/build/BUILD/MaterialX-1.38.8/.pyproject-builddir/tmplp4i5e7l/build/source/MaterialXCore/..
-I/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXFormat/.. -O2
-flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall
-Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3
-Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
-fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64
-march=x86-64 -mtune=generic -fasynchronous-unwind-tables
-fstack-clash-protection -fcf-protection -fno-omit-frame-pointer
-mno-omit-leaf-frame-pointer -O3 -DNDEBUG -std=gnu++14 -fPIC -Wall
-Wno-missing-braces -Werror -Wno-unused-function -MD -MT
source/MaterialXRender/CMakeFiles/MaterialXRender.dir/StbImageLoader.cpp.o -MF
source/MaterialXRender/CMakeFiles/MaterialXRender.dir/StbImageLoader.cpp.o.d -o
source/MaterialXRender/CMakeFiles/MaterialXRender.dir/StbImageLoader.cpp.o -c
/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/StbImageLoader.cpp
    In file included from
/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/StbImageLoader.cpp:17:
   
/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/../MaterialXRender/External/StbImage/stb_image.h:
In function ‘stbi__parse_png_file(stbi__png*, int, int) [clone .constprop.0]’:
   
/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/../MaterialXRender/External/StbImage/stb_image.h:4882:56:
error: writing 1 byte into a region of size 0 [-Werror=stringop-overflow=]
     4882 |                   for (k = 0; k < s->img_n; ++k) tc[k] =
(stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non
8-bit images will be larger
          |                                                 
~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   
/builddir/build/BUILD/MaterialX-1.38.8/source/MaterialXRender/../MaterialXRender/External/StbImage/stb_image.h:4801:25:
note: at offset 3 into destination object ‘tc’ of size 3
     4801 |    stbi_uc has_trans=0, tc[3]={0};
          |                         ^~
    cc1plus: all warnings being treated as errors

  Maybe this is fixed in the current stb_image.h from
  https://src.fedoraproject.org/rpms/stb. I did not have time to try unbundling
  it right now.

===== MUST items =====

C/C++:
[-]: Provides: bundled(gnulib) in place as required.
     Note: Sources not installed
[x]: Package does not contain kernel modules.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.


     The only unversioned so-files are:

      
/usr/lib64/python3.12/site-packages/MaterialX/PyMaterialX*.cpython-312-x86_64-linux-gnu.so

     These are all properly-installed Python extension modules.  

[x]: If your application is a C or C++ application you must list a
     BuildRequires against gcc, gcc-c++ or clang.
[x]: ldconfig not called in %post and %postun for Fedora 28 and later.
[x]: Package does not contain any libtool archives (.la)
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.

     It appears that CC0-1.0 files are content only (good!); see Issues for
     more comments.

[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated", "*No copyright* Apache License 2.0",
     "BSD 3-Clause License", "*No copyright* Apache License", "Apache
     License 2.0", "MIT License", "*No copyright* ISC License", "BSD
     3-Clause License and/or Lawrence Berkeley National Labs BSD variant
     license", "*No copyright* Apache License 2.0 and/or SIL Open Font
     License 1.1", "Apache License 2.0 and/or BSD 3-Clause License", "zlib
     License", "MIT License and/or The Unlicense", "*No copyright* MIT
     License", "Apache License 2.0 and/or Khronos License and/or MIT
     License", "Khronos License", "*No copyright* Boost Software License
     1.0", "Boost Software License 1.0", "Simple Public License and/or zlib
     License", "*No copyright* The Unlicense [generated file]", "SIL Open
     Font License 1.1", "*No copyright* zlib License", "SIL Open Font
     License 1.0", "*No copyright* Public domain", "*No copyright* SIL Open
     Font License 1.1", "GNU Lesser General Public License v2.1 or later".
     1357 files have unknown license. Detailed output of licensecheck in
     /home/ben/Downloads/review/2262694-materialx/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[!]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.

     This is no longer a formal requirement:

       https://gitlab.com/fedora/legal/fedora-legal-docs/-/issues/64

     However, not all of the licenses in the sources are accounted for in the
     License tags.

[x]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/lib64/python3.12, /usr/lib64/cmake,
     /usr/lib64/python3.12/site-packages

     This diagnostic is spurious.

[x]: %build honors applicable compiler flags or justifies otherwise.
[!]: Package contains no bundled libraries without FPC exception.

     FPC exception is no longer required, but all bundled libraries must follow
     https://docs.fedoraproject.org/en-US/packaging-guidelines/#bundling.

     Many bundled libraries are unaccounted for.

[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.

     However, bundled fonts need to be removed in %prep to ensure they are not
     used.

[!]: Macros in Summary, %description expandable at SRPM build time.
     Note: Macros in: python3-materialx (description)
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 44550 bytes in 4 files.
[x]: Package complies to the Packaging Guidelines

     (except as otherwise noted)

[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: The License field must be a valid SPDX expression.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

Python:
[-]: Binary eggs must be removed in %prep
     Note: Cannot find any build in BUILD directory (--prebuilt option?)
[x]: Python eggs must not download any dependencies during the build
     process.
[x]: A package which is used by another package via an egg interface should
     provide egg info.
[x]: Package meets the Packaging Guidelines::Python
[x]: Packages MUST NOT have dependencies (either build-time or runtime) on
     packages named with the unversioned python- prefix unless no properly
     versioned package exists. Dependencies on Python packages instead MUST
     use names beginning with python2- or python3- as appropriate.
[x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[!]: Final provides and requires are sane (see attachments).

     The only problems here are noted elsewhere: there should not be a runtime
     dependency on libubsan/libasan, and the virtual Provides for bundled
     dependencies are absent.

[ ]: Package functions as described.
[ ]: Latest version is packaged.
[ ]: Package does not include license text files separate from upstream.
[ ]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[ ]: Package should compile and build into binary rpms on all supported
     architectures.
[ ]: %check is present and all tests pass.
[ ]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[!]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
     Note: Arch-ed rpms have a total of 140707840 bytes in /usr/share
     materialx-1.38.8-1.fc41.x86_64.rpm:140697600
     See:
    
https://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines

     See Isuses.

[x]: Rpmlint is run on debuginfo package(s).
     Note: No rpmlint messages.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: materialx-1.38.8-1.fc41.x86_64.rpm
          materialx-devel-1.38.8-1.fc41.x86_64.rpm
          python3-materialx-1.38.8-1.fc41.x86_64.rpm
          materialx-tools-1.38.8-1.fc41.x86_64.rpm
          materialx-debuginfo-1.38.8-1.fc41.x86_64.rpm
          materialx-debugsource-1.38.8-1.fc41.x86_64.rpm
          materialx-1.38.8-1.fc41.src.rpm
===========================================================================================
rpmlint session starts
==========================================================================================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmp3xqglxoh')]
checks: 32, packages: 7

materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/doc/materialx/CHANGELOG.md
materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/doc/materialx/README.md
materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/doc/materialx/SECURITY.md
materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/licenses/materialx/LICENSE
materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/licenses/materialx/THIRD-PARTY.md
materialx-devel.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/doc/materialx-devel/README.md
python3-materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/lib64/python3.12/site-packages/MaterialX/colorspace.py
python3-materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/lib64/python3.12/site-packages/MaterialX/datatype.py
python3-materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/lib64/python3.12/site-packages/MaterialX/main.py
python3-materialx.x86_64: W: unexpanded-macro %description -l C %{description}
materialx.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx/CHANGELOG.md
materialx.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx/README.md
materialx.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx/SECURITY.md
materialx-devel.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx-devel/README.md
materialx.x86_64: E: script-without-shebang
/usr/share/licenses/materialx/LICENSE
materialx.x86_64: E: script-without-shebang
/usr/share/licenses/materialx/THIRD-PARTY.md
python3-materialx.x86_64: E: non-executable-script
/usr/lib64/python3.12/site-packages/MaterialX/colorspace.py 644
/usr/bin/python3 -sP
python3-materialx.x86_64: E: non-executable-script
/usr/lib64/python3.12/site-packages/MaterialX/datatype.py 644 /usr/bin/python3
-sP
python3-materialx.x86_64: E: non-executable-script
/usr/lib64/python3.12/site-packages/MaterialX/main.py 644 /usr/bin/python3 -sP
materialx-tools.x86_64: W: no-manual-page-for-binary baketextures.py
materialx-tools.x86_64: W: no-manual-page-for-binary generateshader.py
materialx-tools.x86_64: W: no-manual-page-for-binary genmdl.py
materialx-tools.x86_64: W: no-manual-page-for-binary mxdoc.py
materialx-tools.x86_64: W: no-manual-page-for-binary mxformat.py
materialx-tools.x86_64: W: no-manual-page-for-binary mxvalidate.py
materialx-tools.x86_64: W: no-manual-page-for-binary translateshader.py
materialx-tools.x86_64: W: no-manual-page-for-binary writenodegraphs.py
materialx-tools.x86_64: W: no-documentation
python3-materialx.x86_64: W: no-documentation
materialx-tools.x86_64: E: no-binary
materialx.x86_64: E: files-duplicated-waste 106863
materialx.x86_64: W: files-duplicate
/usr/share/materialx/resources/Materials/TestSuite/libraries/metal/textures/mesh_wire_norm.png
/usr/share/materialx/resources/Images/mesh_wire_norm.png
materialx.x86_64: W: files-duplicate
/usr/share/materialx/resources/Materials/TestSuite/pbrlib/bsdf/wedge_conductor.mtlx
/usr/share/materialx/resources/Materials/TestSuite/pbrlib/bsdf/conductor.mtlx
materialx.x86_64: W: files-duplicate
/usr/share/materialx/stdlib/genmsl/mx_burn_float.metal
/usr/share/materialx/stdlib/genglsl/mx_burn_float.glsl
materialx.x86_64: W: files-duplicate
/usr/share/materialx/stdlib/genmsl/mx_dodge_float.metal
/usr/share/materialx/stdlib/genglsl/mx_dodge_float.glsl
materialx.x86_64: W: files-duplicate
/usr/share/materialx/stdlib/genmsl/mx_smoothstep_float.metal
/usr/share/materialx/stdlib/genglsl/mx_smoothstep_float.glsl
materialx.x86_64: W: devel-file-in-non-devel-package
/usr/share/materialx/stdlib/genosl/include/color4.h
materialx.x86_64: W: devel-file-in-non-devel-package
/usr/share/materialx/stdlib/genosl/include/matrix33.h
materialx.x86_64: W: devel-file-in-non-devel-package
/usr/share/materialx/stdlib/genosl/include/mx_funcs.h
materialx.x86_64: W: devel-file-in-non-devel-package
/usr/share/materialx/stdlib/genosl/include/vector2.h
materialx.x86_64: W: devel-file-in-non-devel-package
/usr/share/materialx/stdlib/genosl/include/vector4.h
python3-materialx.x86_64: W: description-shorter-than-summary
=================================================== 7 packages and 0 specfiles
checked; 16 errors, 26 warnings, 551 filtered, 16 badness; has taken 7.9 s
===================================================




Rpmlint (debuginfo)
-------------------
Checking: materialx-debuginfo-1.38.8-1.fc41.x86_64.rpm
===========================================================================================
rpmlint session starts
==========================================================================================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
rpmlintrc: [PosixPath('/tmp/tmplo2dc5pk')]
checks: 32, packages: 1

===================================================== 1 packages and 0
specfiles checked; 0 errors, 0 warnings, 30 filtered, 0 badness; has taken 2.2
s =====================================================





Rpmlint (installed packages)
----------------------------
============================ rpmlint session starts
============================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/site-packages/rpmlint/configdefaults.toml
    /etc/xdg/rpmlint/fedora-legacy-licenses.toml
    /etc/xdg/rpmlint/fedora-spdx-licenses.toml
    /etc/xdg/rpmlint/fedora.toml
    /etc/xdg/rpmlint/scoring.toml
    /etc/xdg/rpmlint/users-groups.toml
    /etc/xdg/rpmlint/warn-on-functions.toml
checks: 32, packages: 6

materialx-devel.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/doc/materialx-devel/README.md
python3-materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/lib64/python3.12/site-packages/MaterialX/colorspace.py
python3-materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/lib64/python3.12/site-packages/MaterialX/datatype.py
python3-materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/lib64/python3.12/site-packages/MaterialX/main.py
materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/doc/materialx/CHANGELOG.md
materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/doc/materialx/README.md
materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/doc/materialx/SECURITY.md
materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/licenses/materialx/LICENSE
materialx.x86_64: E: wrong-script-end-of-line-encoding
/usr/share/licenses/materialx/THIRD-PARTY.md
python3-materialx.x86_64: W: unexpanded-macro %description -l C %{description}
materialx-devel.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx-devel/README.md
materialx.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx/CHANGELOG.md
materialx.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx/README.md
materialx.x86_64: W: spurious-executable-perm
/usr/share/doc/materialx/SECURITY.md
materialx.x86_64: E: script-without-shebang
/usr/share/licenses/materialx/LICENSE
materialx.x86_64: E: script-without-shebang
/usr/share/licenses/materialx/THIRD-PARTY.md
python3-materialx.x86_64: E: non-executable-script
/usr/lib64/python3.12/site-packages/MaterialX/colorspace.py 644
/usr/bin/python3 -sP
python3-materialx.x86_64: E: non-executable-script
/usr/lib64/python3.12/site-packages/MaterialX/datatype.py 644 /usr/bin/python3
-sP
python3-materialx.x86_64: E: non-executable-script
/usr/lib64/python3.12/site-packages/MaterialX/main.py 644 /usr/bin/python3 -sP
materialx-tools.x86_64: W: no-manual-page-for-binary baketextures.py
materialx-tools.x86_64: W: no-manual-page-for-binary generateshader.py
materialx-tools.x86_64: W: no-manual-page-for-binary genmdl.py
materialx-tools.x86_64: W: no-manual-page-for-binary mxdoc.py
materialx-tools.x86_64: W: no-manual-page-for-binary mxformat.py
materialx-tools.x86_64: W: no-manual-page-for-binary mxvalidate.py
materialx-tools.x86_64: W: no-manual-page-for-binary translateshader.py
materialx-tools.x86_64: W: no-manual-page-for-binary writenodegraphs.py
python3-materialx.x86_64: W: no-documentation
materialx-tools.x86_64: W: no-documentation
materialx-tools.x86_64: E: no-binary
materialx.x86_64: E: files-duplicated-waste 106863
materialx.x86_64: W: files-duplicate
/usr/share/materialx/resources/Materials/TestSuite/libraries/metal/textures/mesh_wire_norm.png
/usr/share/materialx/resources/Images/mesh_wire_norm.png
materialx.x86_64: W: files-duplicate
/usr/share/materialx/resources/Materials/TestSuite/pbrlib/bsdf/wedge_conductor.mtlx
/usr/share/materialx/resources/Materials/TestSuite/pbrlib/bsdf/conductor.mtlx
materialx.x86_64: W: files-duplicate
/usr/share/materialx/stdlib/genmsl/mx_burn_float.metal
/usr/share/materialx/stdlib/genglsl/mx_burn_float.glsl
materialx.x86_64: W: files-duplicate
/usr/share/materialx/stdlib/genmsl/mx_dodge_float.metal
/usr/share/materialx/stdlib/genglsl/mx_dodge_float.glsl
materialx.x86_64: W: files-duplicate
/usr/share/materialx/stdlib/genmsl/mx_smoothstep_float.metal
/usr/share/materialx/stdlib/genglsl/mx_smoothstep_float.glsl
materialx.x86_64: W: devel-file-in-non-devel-package
/usr/share/materialx/stdlib/genosl/include/color4.h
materialx.x86_64: W: devel-file-in-non-devel-package
/usr/share/materialx/stdlib/genosl/include/matrix33.h
materialx.x86_64: W: devel-file-in-non-devel-package
/usr/share/materialx/stdlib/genosl/include/mx_funcs.h
materialx.x86_64: W: devel-file-in-non-devel-package
/usr/share/materialx/stdlib/genosl/include/vector2.h
materialx.x86_64: W: devel-file-in-non-devel-package
/usr/share/materialx/stdlib/genosl/include/vector4.h
python3-materialx.x86_64: W: description-shorter-than-summary
 6 packages and 0 specfiles checked; 16 errors, 26 warnings, 558 filtered, 16
badness; has taken 6.4 s 



Unversioned so-files
--------------------
python3-materialx:
/usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXCore.cpython-312-x86_64-linux-gnu.so
python3-materialx:
/usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXFormat.cpython-312-x86_64-linux-gnu.so
python3-materialx:
/usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXGenGlsl.cpython-312-x86_64-linux-gnu.so
python3-materialx:
/usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXGenMdl.cpython-312-x86_64-linux-gnu.so
python3-materialx:
/usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXGenMsl.cpython-312-x86_64-linux-gnu.so
python3-materialx:
/usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXGenOsl.cpython-312-x86_64-linux-gnu.so
python3-materialx:
/usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXGenShader.cpython-312-x86_64-linux-gnu.so
python3-materialx:
/usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXRender.cpython-312-x86_64-linux-gnu.so
python3-materialx:
/usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXRenderGlsl.cpython-312-x86_64-linux-gnu.so
python3-materialx:
/usr/lib64/python3.12/site-packages/MaterialX/PyMaterialXRenderOsl.cpython-312-x86_64-linux-gnu.so

Source checksums
----------------
https://github.com/AcademySoftwareFoundation/MaterialX/releases/download/v1.38.8/MaterialX-1.38.8.tar.gz
:
  CHECKSUM(SHA256) this package     :
6769800cc3c15a9ecc99933774824ed5a766382f71966ab607c22ca33a4d0162
  CHECKSUM(SHA256) upstream package :
6769800cc3c15a9ecc99933774824ed5a766382f71966ab607c22ca33a4d0162


Requires
--------
materialx (rpmlib, GLIBC filtered):
    libGLX.so.0()(64bit)
    libMaterialXCore.so.1()(64bit)
    libMaterialXFormat.so.1()(64bit)
    libMaterialXGenGlsl.so.1()(64bit)
    libMaterialXGenShader.so.1()(64bit)
    libMaterialXRender.so.1()(64bit)
    libMaterialXRenderHw.so.1()(64bit)
    libOpenImageIO.so.2.5()(64bit)
    libOpenImageIO_Util.so.2.5()(64bit)
    libX11.so.6()(64bit)
    libXt.so.6()(64bit)
    libasan.so.8()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    libm.so.6()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.5)(64bit)
    libubsan.so.1()(64bit)
    rtld(GNU_HASH)

materialx-devel (rpmlib, GLIBC filtered):
    cmake-filesystem(x86-64)
    libMaterialXCore.so.1()(64bit)
    libMaterialXFormat.so.1()(64bit)
    libMaterialXGenGlsl.so.1()(64bit)
    libMaterialXGenMdl.so.1()(64bit)
    libMaterialXGenMsl.so.1()(64bit)
    libMaterialXGenOsl.so.1()(64bit)
    libMaterialXGenShader.so.1()(64bit)
    libMaterialXRender.so.1()(64bit)
    libMaterialXRenderGlsl.so.1()(64bit)
    libMaterialXRenderHw.so.1()(64bit)
    libMaterialXRenderOsl.so.1()(64bit)
    materialx(x86-64)

python3-materialx (rpmlib, GLIBC filtered):
    libMaterialXCore.so.1()(64bit)
    libMaterialXFormat.so.1()(64bit)
    libMaterialXGenGlsl.so.1()(64bit)
    libMaterialXGenMdl.so.1()(64bit)
    libMaterialXGenMsl.so.1()(64bit)
    libMaterialXGenOsl.so.1()(64bit)
    libMaterialXGenShader.so.1()(64bit)
    libMaterialXRender.so.1()(64bit)
    libMaterialXRenderGlsl.so.1()(64bit)
    libMaterialXRenderOsl.so.1()(64bit)
    libasan.so.8()(64bit)
    libc.so.6()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_3.3.1)(64bit)
    libm.so.6()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.13)(64bit)
    libstdc++.so.6(CXXABI_1.3.15)(64bit)
    libstdc++.so.6(CXXABI_1.3.2)(64bit)
    libstdc++.so.6(CXXABI_1.3.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.5)(64bit)
    libubsan.so.1()(64bit)
    materialx(x86-64)
    python(abi)
    rtld(GNU_HASH)

materialx-tools (rpmlib, GLIBC filtered):
    /usr/bin/python3
    python3-materialx(x86-64)

materialx-debuginfo (rpmlib, GLIBC filtered):

materialx-debugsource (rpmlib, GLIBC filtered):



Provides
--------
materialx:
    libMaterialXCore.so.1()(64bit)
    libMaterialXFormat.so.1()(64bit)
    libMaterialXGenGlsl.so.1()(64bit)
    libMaterialXGenMdl.so.1()(64bit)
    libMaterialXGenMsl.so.1()(64bit)
    libMaterialXGenOsl.so.1()(64bit)
    libMaterialXGenShader.so.1()(64bit)
    libMaterialXRender.so.1()(64bit)
    libMaterialXRenderGlsl.so.1()(64bit)
    libMaterialXRenderHw.so.1()(64bit)
    libMaterialXRenderOsl.so.1()(64bit)
    materialx
    materialx(x86-64)

materialx-devel:
    cmake(MaterialX)
    cmake(materialx)
    materialx-devel
    materialx-devel(x86-64)

python3-materialx:
    python-materialx
    python3-materialx
    python3-materialx(x86-64)
    python3.12-materialx

materialx-tools:
    materialx-tools
    materialx-tools(x86-64)

materialx-debuginfo:
    debuginfo(build-id)
    libMaterialXCore.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit)
    libMaterialXFormat.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit)
    libMaterialXGenGlsl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit)
    libMaterialXGenMdl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit)
    libMaterialXGenMsl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit)
    libMaterialXGenOsl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit)
    libMaterialXGenShader.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit)
    libMaterialXRender.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit)
    libMaterialXRenderGlsl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit)
    libMaterialXRenderHw.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit)
    libMaterialXRenderOsl.so.1.38.8-1.38.8-1.fc41.x86_64.debug()(64bit)
    materialx-debuginfo
    materialx-debuginfo(x86-64)

materialx-debugsource:
    materialx-debugsource
    materialx-debugsource(x86-64)



Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24
Command line :/usr/bin/fedora-review -b 2262694 --mock-options=--dnf
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, C/C++, Shell-api, Python
Disabled plugins: Perl, PHP, R, fonts, Java, SugarActivity, Haskell, Ocaml
Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH


-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2262694

Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202262694%23c45
--
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite Conditions]     [KDE Users]

  Powered by Linux