Fedora Account System
Red Hat Associate
Red Hat Customer
Spec URL: https://raw.githubusercontent.com/stsoe/XRT-DEBIAN/2.21.75/src/fedora/xrt.spec SRPM URL: https://raw.githubusercontent.com/stsoe/XRT-DEBIAN/2.21.75/src/fedora/xrt-2.21.75-1.fc42.src.rpm Description: AMD Xilinx Runtime (XRT) provides a runtime environment for AMD Xilinx Alveo FPGAs and AMD Ryzen NPUs. It includes core runtime libraries, Python bindings, development files, and utilities for managing and programming AMD Xilinx devices. Fedora Account System Username: stsoe
Some broad strokes. # SPDX-License-Identifier: Apache-2.0 # Spec layout mirrors src/debian/control and src/debian/rules. # Assisted-by: Generic LLM chatbot Fedora's default license is MIT, Apache is fine. Remove the next two lines, no one will have the context of the debian package. Assisted-by: and any other signoff should be in the git commit log and can be done later. Release: 1%{?dist} consider using the Release: %autorelease and later %changelog %autochangelog Summary: AMD Xilinx FPGA and ACAP runtime (XRT) I usually copy the 'about' section of the github page consider using Summary: Run Time for AIE and FPGA based platforms License: Apache-2.0 AND MIT AND MIT-Khronos-old # License breakdown: # - Core XRT runtime: Apache-2.0 # - AIE binary utilities: MIT # - Core XRT OpenCL library: Apache-2.0 and MIT-Khronos-old Review the fedorareview output file licensecheck. A lot of licenses were not captured in the license: tag The breakdown of the licenses is too brief. There are many license.txt or similar files not captured in the later %license in file If code is not used, remove it in the %prep stage to make the license review easier. Patch102: license.patch remove this patch. The full licenses are fine and any license changes should be done in the upstream not in distro patches. # Debian patches # Fedora patches These are all fedora patches now, these comments are not needed Patch0: 6.18.patch Patch1: 6.19.patch Patches should have a comment on what the patch does and if possible reference the upstream issue or pr this is a general problem. I find using git format patches more helpful as any updated to the package will require rebasing. consider reworking these patches to be git friendly. # Man pages not installed by CMake Source10: aiebu-asm.1 Source11: aiebu-dump.1 How are these man pages generated ? I see from aiebu-asm SEE ALSO The full documentation for aiebu-asm is maintained as a Texinfo manual. If the info and aiebu-asm programs are properly inβ stalled at your site, the command info aiebu-asm they reference info, which afaik isn't in this package so these man pages will confuse users. ExclusiveArch: aarch64 x86_64 Does this package and all its features work on aarch64 ? hip i know is only x86_64. BuildRequires: cmake >= 3.16 only 1 version of cmake, this is not needed. The reset of the buildrequires looks autogenerated. review what is actually needed and put then in a better order. The packages are a matter of taste. Mine is to limit the packages I think the xrt-utils-* could be collapsed to the main package. Similar for xrt-npu package. For consistency with ROCm the programming interfaces opencl and hip should be xrt-opencl, xrt-opencl-devel and xrt-hip and xrt-hip-devel %cmake \ -DCMAKE_BUILD_TYPE=Release \ Release should change to RelWithDebInfo %check does this really work without hw ? %files ... %{_libdir}/libxrt++.so.* This globbing it too aggressive. At least the major so version needs to be captured. consider something like https://src.fedoraproject.org/rpms/rocclr/blob/rawhide/f/rocclr.spec#_440
The latest COPR build https://copr.fedorainfracloud.org/coprs/stsoe/xrt/build/10650329/ addresses most of the mentioned issues. What I am unsure about is the license breakdown. I removed all files under "Unknown or generated" that ware not needed, the remaining ones are needed and covered by what I listed under the breakdown. I have made upstream changes to fix some of the missing or incorrect licenses also. I did not combine or rename any packages, as mentioned it is a matter of choice and current packages reflect what we are doing for Debian. If a must, then of course this can be changed. However, I do not feel that utils* can be collapsed to main package; the main package is all that needed to for run time. The %check runs user space tests, there are no HW tests. Please advise what further changes are required. Thank you for your feedback.
(In reply to Soren Soe from comment #2) > The latest COPR build > https://copr.fedorainfracloud.org/coprs/stsoe/xrt/build/10650329/ addresses > most of the mentioned issues. > > What I am unsure about is the license breakdown. I removed all files under > "Unknown or generated" that ware not needed, the remaining ones are needed > and covered by what I listed under the breakdown. I have made upstream > changes to fix some of the missing or incorrect licenses also. > > I did not combine or rename any packages, as mentioned it is a matter of > choice and current packages reflect what we are doing for Debian. If a > must, then of course this can be changed. However, I do not feel that > utils* can be collapsed to main package; the main package is all that needed > to for run time. > > The %check runs user space tests, there are no HW tests. > > Please advise what further changes are required. Thank you for your > feedback. Forgot to mention that the man pages are copied from Debian. The reference to info is the Linux info command. I can remove the man pages if necessary.
Please add the updated spec and srpm this bz. copr builds are temporary, use a url that will be around for a while. Use Spec/SRPM URL: <url to> To be useful, this package should do something. I likely have the hw needed to run this package, could you recommend something maybe using the lemonade server ? here is what i get on strix halo, is aie2p supported by xrt runtime ? ******* Agent 3 ******* Name: aie2p Uuid: AIE-XX Marketing Name: RyzenAI-npu5 Vendor Name: AMD Feature: AGENT_DISPATCH Profile: BASE_PROFILE Float Round Mode: NEAR Max Queue Number: 1(0x1) Queue Min Size: 64(0x40) Queue Max Size: 64(0x40) Queue Type: SINGLE Node: 0 Device Type: DSP Cache Info: L2: 2048(0x800) KB L3: 32768(0x8000) KB Chip ID: 0(0x0) ASIC Revision: 0(0x0) Cacheline Size: 0(0x0) Max Clock Freq. (MHz): 0 BDFID: 0 Internal Node ID: 0 Compute Unit: 0 SIMDs per CU: 0 Shader Engines: 0 Shader Arrs. per Eng.: 0 WatchPts on Addr. Ranges:0 Memory Properties: Features: AGENT_DISPATCH Pool Info: Pool 1 Segment: GLOBAL; FLAGS: KERNARG, COARSE GRAINED Size: 131151216(0x7d13570) KB Allocatable: TRUE Alloc Granule: 4KB Alloc Recommended Granule:4KB Alloc Alignment: 4KB Accessible by all: TRUE Pool 2 Segment: GLOBAL; FLAGS: COARSE GRAINED Size: 65536(0x10000) KB Allocatable: TRUE Alloc Granule: 4KB Alloc Recommended Granule:0KB Alloc Alignment: 4KB Accessible by all: TRUE Pool 3 Segment: GLOBAL; FLAGS: COARSE GRAINED Size: 131151216(0x7d13570) KB Allocatable: TRUE Alloc Granule: 4KB Alloc Recommended Granule:4KB Alloc Alignment: 4KB Accessible by all: TRUE ISA Info: *** Done ***
Not sure where to add a URL or SRPM when there is no server hosting XRT? Anyway, here is a link: - https://github.com/stsoe/XRT-DEBIAN/tree/2.21.75/src/fedora - https://github.com/stsoe/XRT-DEBIAN/blob/2.21.75/src/fedora/xrt-2.21.75-1.fc42.src.rpm The current packages created from the SRPM are functional. Minimum install these packages: - xrt-2.21.75-1.fc42.x86_64.rpm - xrt-npu-2.21.75-1.fc42.x86_64.rpm - xrt-utils-2.21.75-1.fc42.x86_64.rpm # Examine system and install % xrt-smi examine # Validate the system, follow instructions to install binary validation archive % xrt-smi validate AIE2P is supported.
Copr build: https://copr.fedorainfracloud.org/coprs/build/10758829 (failed) Build log: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2480195-xrt/srpm-builds/10758829/builder-live.log.gz Please make sure the package builds successfully at least for Fedora Rawhide. - If the build failed for unrelated reasons (e.g. temporary network unavailability), please ignore it. - If the build failed because of missing BuildRequires, please make sure they are listed in the "Depends On" field --- 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.
Corrected SRPM raw link: - https://raw.githubusercontent.com/stsoe/XRT-DEBIAN/2.21.75/src/fedora/xrt-2.21.75-1.fc42.src.rpm
Updated links in description. Repeated here Spec URL: https://raw.githubusercontent.com/stsoe/XRT-DEBIAN/2.21.75/src/fedora/xrt.spec SRPM URL: https://raw.githubusercontent.com/stsoe/XRT-DEBIAN/2.21.75/src/fedora/xrt-2.21.75-1.fc42.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/10758907 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2480195-xrt/fedora-rawhide-x86_64/10758907-xrt/fedora-review/review.txt Found issues: - License file LICENSE.aie-rt is not marked as %license Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text - Not a valid SPDX expression 'Apache-2.0 AND MIT AND Khronos'. Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 - Upstream MD5sum check error, diff is in /var/lib/copr-rpmbuild/results/xrt/diff.txt Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ 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.
Copr build: https://copr.fedorainfracloud.org/coprs/build/10758922 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2480195-xrt/fedora-rawhide-x86_64/10758922-xrt/fedora-review/review.txt Found issues: - License file LICENSE.aie-rt is not marked as %license Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/#_license_text - Not a valid SPDX expression 'Apache-2.0 AND MIT AND Khronos'. Read more: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 - Upstream MD5sum check error, diff is in /var/lib/copr-rpmbuild/results/xrt/diff.txt Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ 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 am going through the new specfile looking for changes I requested. This request was not changed. > Patch0: 6.18.patch > Patch1: 6.19.patch > Patches should have a comment on what the patch does and if possible reference the upstream issue or pr > this is a general problem. > I find using git format patches more helpful as any updated to the package will require rebasing. > consider reworking these patches to be git friendly. Consider using this prompt to generate the comments, and for you to verify them https://fedoraproject.org/wiki/SIGs/AI-ML#Adding_comments_to_specfile_patches
(In reply to Tom.Rix from comment #11) > I am going through the new specfile looking for changes I requested. > This request was not changed. > > > Patch0: 6.18.patch > > Patch1: 6.19.patch > > > Patches should have a comment on what the patch does and if possible reference the upstream issue or pr > > this is a general problem. > > I find using git format patches more helpful as any updated to the package will require rebasing. > > consider reworking these patches to be git friendly. > > Consider using this prompt to generate the comments, and for you to verify > them > https://fedoraproject.org/wiki/SIGs/AI-ML#Adding_comments_to_specfile_patches The linked spec has been updated with patch comments.
This is a review *template*. Besides handling the [ ]-marked tests you are also supposed to fix the template before pasting into bugzilla: - Add issues you find to the list of issues on top. If there isn't such a list, create one. - Add your own remarks to the template checks. - Add new lines marked [!] or [?] when you discover new things not listed by fedora-review. - Change or remove any text in the template which is plain wrong. In this case you could also file a bug against fedora-review - Remove the "[ ] Manual check required", you will not have any such lines in what you paste. - Remove attachments which you deem not really useful (the rpmlint ones are mandatory, though) - Remove this text Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed Look at xrt/README.rst .. image:: https://travis-ci.org/Xilinx/XRT.svg?branch=master :target: https://travis-ci.org/Xilinx/XRT These links are broken. Why do subproject carry their own licenses ? Why not combine -utils into the main and npu packages ? Otherwise, this naming is awkward -npu and -utils-npu, should be -npu and -npu-utils mv -f %{buildroot}%{_prefix}/python/xbtop.py %{buildroot}%{_bindir}/xbtop 2>/dev/null || : mv -f %{buildroot}%{python3_sitearch}/xbtop.py %{buildroot}%{_bindir}/xbtop 2>/dev/null || : Why 2 commands? remove the wrong one. Issues: ======= - 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. Note: License file LICENSE.aie-rt is not marked as %license See: https://docs.fedoraproject.org/en-US/packaging- guidelines/LicensingGuidelines/#_license_text - The License field must be a valid SPDX expression. Note: Not a valid SPDX expression 'Apache-2.0 AND MIT AND Khronos'. See: https://fedoraproject.org/wiki/Changes/SPDX_Licenses_Phase_1 Maybe https://spdx.org/licenses/MIT-Khronos-old.html - Sources used to build the package match the upstream source, as provided in the spec URL. Note: Upstream MD5sum check error, diff is in /sfs/fedora- review/xrt/review-xrt/diff.txt See: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ ===== MUST items ===== C/C++: [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. [x]: If your application is a C or C++ application you must list a BuildRequires against gcc, gcc-c++ or clang. [x]: Header files in -devel subpackage, if present. [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: [ ]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [ ]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "Apache License 2.0", "Apache License 2.0 and/or GNU General Public License, Version 2", "Khronos License", "MIT License", "GNU General Public License, Version 2", "Apache License 2.0 and/or GNU General Public License v2.0 or later [obsolete FSF postal address (Temple Place)]", "*No copyright* MIT License", "BSD 3-Clause License", "*No copyright* Apache License 2.0", "Apache License". 144 files have unknown license. Detailed output of licensecheck in /sfs/fedora-review/xrt/review-xrt/licensecheck.txt [!]: License file installed when any subpackage combination is installed. See question about License: in the subpackages above. [x]: If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [x]: Package must own all directories that it creates. Note: Directories without known owners: /usr/lib64/python3.15/site- packages, /usr/lib/.build-id/fc, /usr/lib64/python3.15 known problem. [x]: %build honors applicable compiler flags or justifies otherwise. [x]: Package contains no bundled libraries or specifies bundled libraries with Provides: bundled(<libname>) if unbundling is not possible. [x]: Changelog in prescribed format. [!]: Sources contain only permissible code or content. ELF binaries found in upstream tarball: 1. .../aie-rt/driver/tests/utest/elf_files/aieml_elfs/passthrough 2. .../aie-rt/driver/tests/utest/elf_files/aie_elfs/passthrough 3. .../aie-rt/driver/tests/utest/elf_files/aie_elfs/overlap_elf 4. .../aie-rt/driver/tests/utest/elf_files/aie_elfs/large_elf 5. .../aie-rt/driver/tests/utest/elf_files/aie_elfs/mmul Remove these in %prep [-]: 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. [x]: 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]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: Package requires other packages for directories it uses. [x]: Package does not own files or directories owned by other packages. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 9014 bytes in 2 files. [x]: Packages must not store files under /srv, /opt or /usr/local Python: [x]: Python eggs must not download any dependencies during the build process. [x]: A package which is used by another package via an egg interface should provide egg info. [x]: Package meets the Packaging Guidelines::Python [x]: Package contains BR: python2-devel or python3-devel [x]: Packages MUST NOT have dependencies (either build-time or runtime) on packages named with the unversioned python- prefix unless no properly versioned package exists. Dependencies on Python packages instead MUST use names beginning with python2- or python3- as appropriate. [x]: Python packages must not contain %{pythonX_site(lib|arch)}/* in %files [x]: Binary eggs must be removed in %prep ===== SHOULD items ===== Generic: [!]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. same as below [x]: Final provides and requires are sane (see attachments). [!]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in xrt-npu , python3-xrt , xrt-utils , xrt-utils-npu , xrt-utils-alveo [x]: Package functions as described. [x]: Latest version is packaged. [!]: Package does not include license text files separate from upstream. license.patch You can not in the package change the license of the upstream source. [!]: Patches link to upstream bugs/comments/lists or are otherwise justified. See earlier comment in bz. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [x]: %check is present and all tests pass. [x]: Packages should try to preserve timestamps of original installed files. [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: The placement of pkgconfig(.pc) files are correct. [x]: Sources can be downloaded from URI in Source: tag [x]: SourceX is a working URL. [x]: Package should compile and build into binary rpms on all supported architectures. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on debuginfo package(s). Note: There are rpmlint messages (see attachment). [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: xrt-2.21.75-1.fc45.x86_64.rpm xrt-npu-2.21.75-1.fc45.x86_64.rpm python3-xrt-2.21.75-1.fc45.x86_64.rpm xrt-devel-2.21.75-1.fc45.x86_64.rpm xrt-utils-2.21.75-1.fc45.x86_64.rpm xrt-utils-npu-2.21.75-1.fc45.x86_64.rpm xrt-utils-alveo-2.21.75-1.fc45.x86_64.rpm xrt-2.21.75-1.fc45.src.rpm ============================ rpmlint session starts ============================ rpmlint: 2.9.0 configuration: /usr/lib/python3.14/site-packages/rpmlint/configdefaults.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/tmp6hw171r9')] checks: 32, packages: 8 xrt-utils.x86_64: W: non-conffile-in-etc /etc/OpenCL/vendors/amdxrt.icd python3-xrt.x86_64: W: no-manual-page-for-binary xbtop xrt-utils.x86_64: W: no-manual-page-for-binary xrt-smi xrt-utils-alveo.x86_64: W: no-manual-page-for-binary xbflash.qspi xrt-utils-npu.x86_64: W: no-manual-page-for-binary xrt-runner python3-xrt.x86_64: W: no-documentation xrt-devel.x86_64: W: no-documentation xrt.src: W: invalid-license Khronos xrt.x86_64: W: invalid-license Khronos xrt-devel.x86_64: W: invalid-license Khronos xrt-utils.x86_64: W: invalid-license Khronos xrt-utils-alveo.x86_64: W: invalid-license Khronos xrt-utils-npu.x86_64: W: invalid-license Khronos 8 packages and 0 specfiles checked; 0 errors, 13 warnings, 78 filtered, 0 badness; has taken 31.3 s Rpmlint (debuginfo) ------------------- Checking: xrt-utils-npu-debuginfo-2.21.75-1.fc45.x86_64.rpm xrt-npu-debuginfo-2.21.75-1.fc45.x86_64.rpm xrt-debuginfo-2.21.75-1.fc45.x86_64.rpm xrt-utils-alveo-debuginfo-2.21.75-1.fc45.x86_64.rpm xrt-utils-debuginfo-2.21.75-1.fc45.x86_64.rpm ============================ rpmlint session starts ============================ rpmlint: 2.9.0 configuration: /usr/lib/python3.14/site-packages/rpmlint/configdefaults.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/tmpx7rops2l')] checks: 32, packages: 5 xrt-debuginfo.x86_64: W: invalid-license Khronos xrt-utils-alveo-debuginfo.x86_64: W: invalid-license Khronos xrt-utils-debuginfo.x86_64: W: invalid-license Khronos xrt-utils-npu-debuginfo.x86_64: W: invalid-license Khronos 5 packages and 0 specfiles checked; 0 errors, 4 warnings, 64 filtered, 0 badness; has taken 6.4 s Rpmlint (installed packages) ---------------------------- ============================ rpmlint session starts ============================ rpmlint: 2.9.0 configuration: /usr/lib/python3.15/site-packages/rpmlint/configdefaults.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: 12 xrt-utils.x86_64: W: non-conffile-in-etc /etc/OpenCL/vendors/amdxrt.icd xrt-utils-npu.x86_64: W: no-manual-page-for-binary xrt-runner xrt-utils.x86_64: W: no-manual-page-for-binary xrt-smi xrt-utils-alveo.x86_64: W: no-manual-page-for-binary xbflash.qspi python3-xrt.x86_64: W: no-manual-page-for-binary xbtop xrt-devel.x86_64: W: no-documentation python3-xrt.x86_64: W: no-documentation xrt.x86_64: W: invalid-license Khronos xrt-devel.x86_64: W: invalid-license Khronos xrt-utils-npu.x86_64: W: invalid-license Khronos xrt-utils-npu-debuginfo.x86_64: W: invalid-license Khronos xrt-utils-alveo-debuginfo.x86_64: W: invalid-license Khronos xrt-utils.x86_64: W: invalid-license Khronos xrt-utils-alveo.x86_64: W: invalid-license Khronos xrt-utils-debuginfo.x86_64: W: invalid-license Khronos xrt-debuginfo.x86_64: W: invalid-license Khronos 12 packages and 0 specfiles checked; 0 errors, 16 warnings, 158 filtered, 0 badness; has taken 5.4 s Unversioned so-files -------------------- python3-xrt: /usr/lib64/python3.15/site-packages/pyxrt.cpython-315-x86_64-linux-gnu.so Source checksums ---------------- https://github.com/Xilinx/XRT/releases/download/2.21.75/2.21.75.tar.gz#/xrt-2.21.75.tar.gz : CHECKSUM(SHA256) this package : 299c15e991034f2f32adadd03ac912d6ef8d4bad3a99db632bd17c7a25dbaf6e CHECKSUM(SHA256) upstream package : 30343a3c74103ac5d5016525d6f051601b197855c54e980f8d6623bfc6f3d229 diff -r also reports differences Requires -------- xrt (rpmlib, GLIBC filtered): 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) libgcc_s.so.1(GCC_3.4)(64bit) libm.so.6()(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(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) libstdc++.so.6(CXXABI_1.3.7)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libuuid.so.1()(64bit) libuuid.so.1(UUID_1.0)(64bit) libxrt++.so.2()(64bit) libxrt_coreutil.so.2()(64bit) rtld(GNU_HASH) xrt-npu (rpmlib, GLIBC filtered): 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) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.15)(64bit) libstdc++.so.6(CXXABI_1.3.2)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libuuid.so.1()(64bit) libuuid.so.1(UUID_1.0)(64bit) libxdp_core.so.2()(64bit) libxrt_core.so.2()(64bit) libxrt_coreutil.so.2()(64bit) rtld(GNU_HASH) xrt(x86-64) python3-xrt (rpmlib, GLIBC filtered): /usr/bin/python3 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) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(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) libstdc++.so.6(CXXABI_1.3.9)(64bit) libuuid.so.1()(64bit) libuuid.so.1(UUID_1.0)(64bit) libxrt_coreutil.so.2()(64bit) python(abi) python3(x86-64) rtld(GNU_HASH) xrt(x86-64) xrt-devel (rpmlib, GLIBC filtered): /usr/bin/pkg-config cmake-filesystem libuuid-devel libxilinxopencl.so.2()(64bit) libxrt++.so.2()(64bit) libxrt_core.so.2()(64bit) libxrt_coreutil.so.2()(64bit) libxrt_hip.so.2()(64bit) opencl-headers python3-xrt(x86-64) rocm-hip-devel(x86-64) xrt(x86-64) xrt-npu(x86-64) xrt-utils (rpmlib, GLIBC filtered): libboost_filesystem.so.1.90.0()(64bit) libboost_program_options.so.1.90.0()(64bit) libc.so.6()(64bit) libcrypto.so.4()(64bit) libcrypto.so.4(OPENSSL_4.0.0)(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.11)(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) libstdc++.so.6(CXXABI_1.3.8)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libuuid.so.1()(64bit) libuuid.so.1(UUID_1.0)(64bit) libxrt_coreutil.so.2()(64bit) opencl-filesystem python3(x86-64) rtld(GNU_HASH) xrt(x86-64) xrt-utils-npu (rpmlib, GLIBC filtered): 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) 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.3)(64bit) libstdc++.so.6(CXXABI_1.3.5)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libxrt_coreutil.so.2()(64bit) rtld(GNU_HASH) xrt-npu(x86-64) xrt-utils(x86-64) xrt-utils-alveo (rpmlib, GLIBC filtered): libboost_program_options.so.1.90.0()(64bit) libc.so.6()(64bit) libgcc_s.so.1()(64bit) libgcc_s.so.1(GCC_3.0)(64bit) libgcc_s.so.1(GCC_3.3.1)(64bit) libstdc++.so.6()(64bit) libstdc++.so.6(CXXABI_1.3)(64bit) libstdc++.so.6(CXXABI_1.3.9)(64bit) libxrt_coreutil.so.2()(64bit) rtld(GNU_HASH) xrt-utils(x86-64) Provides -------- xrt: libxilinxopencl.so.2()(64bit) libxrt++.so.2()(64bit) libxrt_core.so.2()(64bit) libxrt_coreutil.so.2()(64bit) libxrt_hip.so.2()(64bit) xrt xrt(x86-64) xrt-npu: libxdp_aie_profile_plugin.so.2()(64bit) libxdp_aie_trace_plugin.so.2()(64bit) libxdp_core.so.2()(64bit) libxdp_ml_timeline_plugin.so.2()(64bit) libxdp_native_plugin.so.2()(64bit) libxdp_user_plugin.so.2()(64bit) libxrt_driver_xdna.so.2()(64bit) xrt-npu xrt-npu(x86-64) python3-xrt: python-xrt python3-xrt python3-xrt(x86-64) python3.15-xrt xrt-devel: cmake(xrt) pkgconfig(xrt) xrt-devel xrt-devel(x86-64) xrt-utils: xrt-utils xrt-utils(x86-64) xrt-utils-npu: xrt-utils-npu xrt-utils-npu(x86-64) xrt-utils-alveo: xrt-utils-alveo xrt-utils-alveo(x86-64) Generated by fedora-review 0.11.0 (05c5b26) last change: 2025-11-29 Command line :/usr/bin/fedora-review -n xrt Buildroot used: fedora-rawhide-x86_64 Active plugins: Generic, Python, C/C++, Shell-api Disabled plugins: PHP, R, Haskell, Perl, SugarActivity, fonts, Java, Ocaml Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH
Package refactoring for Fedora - Remove Alveo - Install all binary build artifacts into main package - Keep devel package - Remove utils packages - Drop OpenCL bindings for xrt_coreutil, not supported on NPU any way - Remove stray ELF files in %prep - Remove license.patch SRPM and SPEC file updated in links.
When updating the spec and srpm, it is necessary to add the tags Spec URL: <something> SPRM URL: <somethign> everytime, this triggers the automatic fedora reviewer and lets the reviewer know where the update is. going with maybe the correct url from above, i get these errors - 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. Note: License file LICENSE.aie-rt is not marked as %license See: https://docs.fedoraproject.org/en-US/packaging- guidelines/LicensingGuidelines/#_license_text Please fix - Sources used to build the package match the upstream source, as provided in the spec URL. Note: Upstream MD5sum check error, diff is in /sfs/fedora- review/xrt/review-xrt/diff.txt See: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ This is important. make sure the upstream IS what is in the src tarball Anything not needed from the upstream src tarball can be rm-ed in %prep. [ ]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "Apache License 2.0", "Apache License 2.0 and/or GNU General Public License, Version 2", "Khronos License", "MIT License", "GNU General Public License, Version 2", "Apache License 2.0 and/or GNU General Public License v2.0 or later [obsolete FSF postal address (Temple Place)]", "*No copyright* MIT License", "BSD 3-Clause License", "*No copyright* Apache License 2.0", "Apache License". 144 files have unknown license. Detailed output of licensecheck in /sfs/fedora-review/xrt/review-xrt/licensecheck.txt Has several licenses that are not in License: Apache-2.0 AND MIT All the licenses need to be in the License: field. If something is not really needed and it would simplify the license, rm it in %prep xrt-debuginfo.x86_64: W: invalid-license Khronos
Not sure what I should do with the license comment? The spec has: %files %license %{_licensedir}/%{name}/* %license %{_licensedir}/%{name}-npu/* which covers license.aie-rt as installed %install ... install -pm 0644 xrt/XRT/src/runtime_src/aie-rt/license.txt \ %{buildroot}%{_licensedir}/%{name}/LICENSE.aie-rt As for the MD5, I had to repackage the upstream release tar-ball with a top-level directory prior to rpmbuild, thus the SRPM contains the repackaged tar-ball. Not sure how I ran into the problem that forced me to repackage? This will be moot in next release where the upstream release tar-ball contains the top-level dir. For licenses, what do I do about dual licensed files where only one license is application for user space code and thus the packages created here? Also, %prep has removed unused files that completely eliminates Khronos, but XRT/NOTICE still references it as XRT (without prep) includes software from Khronos. How do I deal with this situation? The license review complains about a lot of files, but these have been remedied in the spec explicitly. I updated the to license to include GPL-2.0-only, but in reality the files with GPL-2 are dual licensed as Apache-2.0. Spec URL: https://raw.githubusercontent.com/stsoe/XRT-DEBIAN/2.21.75/src/fedora/xrt.spec SRPM URL: https://raw.githubusercontent.com/stsoe/XRT-DEBIAN/2.21.75/src/fedora/xrt-2.21.75-1.fc44.src.rpm
Copr build: https://copr.fedorainfracloud.org/coprs/build/10882883 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2480195-xrt/fedora-rawhide-x86_64/10882883-xrt/fedora-review/review.txt Found issues: - Upstream MD5sum check error, diff is in /var/lib/copr-rpmbuild/results/xrt/diff.txt Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/SourceURL/ 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.
Update the release to 2.25.0 with new XRT sources. No current patches. Misc spec changes per previous release reivew. Spec URL: https://raw.githubusercontent.com/stsoe/XRT-DEBIAN/2.25.0/src/fedora/xrt.spec SRPM URL: https://github.com/Xilinx/XRT/releases/download/2.25.0/xrt-2.25.0-1.fc44.src.rpm
[fedora-review-service-build]
[ ]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "Apache License 2.0", "Apache License 2.0 and/or GNU General Public License, Version 2", "Khronos License", "GNU General Public License, Version 2", "MIT License", "Apache License 2.0 and/or GNU General Public License v2.0 or later [obsolete FSF postal address (Temple Place)]", "*No copyright* MIT License", "BSD 3-Clause License", "*No copyright* Apache License 2.0". 11346 files have unknown license. Detailed output of licensecheck in /sfs/fedora-review/xrt/review-xrt/licensecheck.txt BSD 3-Clause License -------------------- xrt-2.25.0-build/xrt-2.25.0/xrt/XRT/src/runtime_src/core/common/gsl/ThirdPartyNotices.txt THIRD-PARTY SOFTWARE NOTICES AND INFORMATION Do Not Translate or Localize GSL: Guidelines Support Library incorporates third party material from the projects listed below. ------------------------------------------------------------------------------- Software: Google Test Owner: Google Inc. Source URL: github.com/google/googletest License: BSD 3 - Clause Text: Copyright 2008, Google Inc. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Google Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ------------------------------------------------------------------------------- - There is no googletest source, this is a false positive. Khronos License --------------- xrt-2.25.0-build/xrt-2.25.0/xrt/XRT/NOTICE The actual Khronos code was rm-ed for rm -rf xrt/XRT/src/include rm -rf xrt/XRT/src/runtime_src/xocl this is good too.. ELF binaries found in upstream tarball: 1. .../aie-rt/driver/tests/utest/elf_files/aieml_elfs/passthrough 2. .../aie-rt/driver/tests/utest/elf_files/aie_elfs/passthrough 3. .../aie-rt/driver/tests/utest/elf_files/aie_elfs/overlap_elf 4. .../aie-rt/driver/tests/utest/elf_files/aie_elfs/large_elf 5. .../aie-rt/driver/tests/utest/elf_files/aie_elfs/mmul these are removed. [!]: Package does not include license text files separate from upstream. license.patch patches are removed, good here too. Thanks for the update and changes Approved.