Spec URL: https://download.copr.fedorainfracloud.org/results/crisdel/gemmlowp/fedora-39-x86_64/06589799-gemmlowp/gemmlowp.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/crisdel/gemmlowp/fedora-39-x86_64/06589799-gemmlowp/gemmlowp-0~git20221409.08e4bb3-1.fc39.src.rpm Description: Small self-contained low-precision GEMM library, this is not a full linear algebra library, only a GEMM library, it only does general matrix multiplication("GEMM") Fedora Account System Username:crisdel
Copr build: https://copr.fedorainfracloud.org/coprs/build/6589815 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2247559-gemmlowp/fedora-rawhide-x86_64/06589815-gemmlowp/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.
UPDATE: This is the new built Spec URL: https://download.copr.fedorainfracloud.org/results/crisdel/gemmlowp/fedora-rawhide-x86_64/06604288-libgemmlowp-devel/libgemmlowp.spec SRPM URL: https://download.copr.fedorainfracloud.org/results/crisdel/gemmlowp/fedora-rawhide-x86_64/06604288-libgemmlowp-devel/libgemmlowp-devel-0~git20221409.08e4bb3-1.fc40.src.rpm Description: Small self-contained low-precision GEMM library, this is not a full linear algebra library, only a GEMM library, it only does general matrix multiplication("GEMM") Fedora Account System Username:crisdel
Copr build: https://copr.fedorainfracloud.org/coprs/build/6608034 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2247559-gemmlowp/fedora-rawhide-x86_64/06608034-libgemmlowp-devel/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.
UPDATE: This is the new build Spec URL:https://download.copr.fedorainfracloud.org/results/crisdel/gemmlowp/fedora-rawhide-x86_64/06627449-gemmlowp/gemmlowp.spec SRPM URL:https://download.copr.fedorainfracloud.org/results/crisdel/gemmlowp/fedora-rawhide-x86_64/06627449-gemmlowp/gemmlowp-0~git20221409.08e4bb3-1.fc40.src.rpm Description: Small self-contained low-precision GEMM library, this is not a full linear algebra library, only a GEMM library, it only does general matrix multiplication("GEMM") Fedora Account System Username:crisdel
Copr build: https://copr.fedorainfracloud.org/coprs/build/6627480 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2247559-gemmlowp/fedora-rawhide-x86_64/06627480-gemmlowp/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.
Installation errors ------------------- INFO: mock.py version 5.2 starting (python version = 3.12.0, NVR = mock-5.2-1.fc39), args: /usr/libexec/mock/mock -r fedora-rawhide-aarch64 --no-cleanup-after --no-clean --resultdir=/home/fedora/2247559-gemmlowp/results install '/home/fedora/2247559-gemmlowp/results/gemmlowp-0~git20221409.08e4bb3-1.fc40.aarch64.rpm' '/home/fedora/2247559-gemmlowp/results/gemmlowp-devel-0~git20221409.08e4bb3-1.fc40.aarch64.rpm' '/home/fedora/2247559-gemmlowp/results/gemmlowp-devel-debuginfo-0~git20221409.08e4bb3-1.fc40.aarch64.rpm' '/home/fedora/2247559-gemmlowp/results/gemmlowp-debugsource-0~git20221409.08e4bb3-1.fc40.aarch64.rpm' Start(bootstrap): init plugins INFO: selinux enabled Finish(bootstrap): init plugins Start: init plugins INFO: selinux enabled Finish: init plugins INFO: Signal handler active Start: run Mock Version: 5.2 INFO: Mock Version: 5.2 Start(bootstrap): chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start(bootstrap): cleaning package manager metadata Finish(bootstrap): cleaning package manager metadata INFO: Package manager dnf detected and used (fallback) Finish(bootstrap): chroot init Start: chroot init INFO: calling preinit hooks INFO: enabled root cache INFO: enabled package manager cache Start: cleaning package manager metadata Finish: cleaning package manager metadata INFO: enabled HW Info plugin INFO: Package manager dnf detected and used (direct choice) Finish: chroot init INFO: installing package(s): /builddir/gemmlowp-0~git20221409.08e4bb3-1.fc40.aarch64.rpm /builddir/gemmlowp-devel-0~git20221409.08e4bb3-1.fc40.aarch64.rpm /builddir/gemmlowp-devel-debuginfo-0~git20221409.08e4bb3-1.fc40.aarch64.rpm /builddir/gemmlowp-debugsource-0~git20221409.08e4bb3-1.fc40.aarch64.rpm ERROR: Command failed: # /usr/bin/systemd-nspawn -q -M b55b16a529ce40359919a0e3a5282de6 -D /var/lib/mock/fedora-rawhide-aarch64-bootstrap/root -a --capability=cap_ipc_lock --bind=/tmp/mock-resolv.fsjg58eb:/etc/resolv.conf --console=pipe --setenv=TERM=vt100 --setenv=SHELL=/bin/bash --setenv=HOME=/var/lib/mock/fedora-rawhide-aarch64/root/installation-homedir --setenv=HOSTNAME=mock --setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin '--setenv=PROMPT_COMMAND=printf "\033]0;<mock-chroot>\007"' '--setenv=PS1=<mock-chroot> \s-\v\$ ' --setenv=LANG=C.UTF-8 --setenv=LC_MESSAGES=C.UTF-8 --resolv-conf=off /usr/bin/dnf-3 --installroot /var/lib/mock/fedora-rawhide-aarch64/root/ --releasever 40 --setopt=deltarpm=False --setopt=allow_vendor_change=yes --allowerasing --disableplugin=local --disableplugin=spacewalk --disableplugin=versionlock install '/builddir/gemmlowp-0~git20221409.08e4bb3-1.fc40.aarch64.rpm' '/builddir/gemmlowp-devel-0~git20221409.08e4bb3-1.fc40.aarch64.rpm' '/builddir/gemmlowp-devel-debuginfo-0~git20221409.08e4bb3-1.fc40.aarch64.rpm' '/builddir/gemmlowp-debugsource-0~git20221409.08e4bb3-1.fc40.aarch64.rpm' --setopt=tsflags=nocontexts gemmlowp-devel.aarch64: E: standard-dir-owned-by-package /usr/lib64 gemmlowp.aarch64: W: package-with-huge-docs 100% gemmlowp-devel.aarch64: W: no-documentation gemmlowp.aarch64: E: no-binary gemmlowp-devel.aarch64: E: invalid-soname /usr/lib64/libeight_bit_int_gemm.so libeight_bit_int_gemm.so Do not glob %{_libdir}/ Need to list libraries Libraries should also have a soname https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/#_libraries The main package just seems to contain documentation, but typically library with soname is placed in the main package and unversioned link to the library in the development package. It maybe better to create a docs package for most of the files in the main package.
Take a look at this package https://src.fedoraproject.org/rpms/pthreadpool You will likely need to patch the main project to get a *.so version The main page say aarch64 and x86_64, you likely need to exclusive arch this project to those. you must have the %license LICENSE in the %files. For docs, if you are going to include them all, have a docs subpackage. I am not sure if it is worth including the 'todo' dir in the docs From the public commits, this may be a dead project, how will it be used in fedora ?
Thanks so much for your feedback, i take into consideration every suggestion. UPDATE: This is the new build. Sonames was added, and package was added specific for the documentation, a patch was added to get the soname and to set specific flags for x86_64 and arm, license is added to %files, and todo/ is no longer added to the package Spec URL:https://download.copr.fedorainfracloud.org/results/crisdel/gemmlowp/fedora-rawhide-x86_64/06695973-gemmlowp/gemmlowp.spec SRPM URL:https://download.copr.fedorainfracloud.org/results/crisdel/gemmlowp/fedora-rawhide-x86_64/06695973-gemmlowp/gemmlowp-0~git20221409.08e4bb3-1.fc40.src.rpm Description: Small self-contained low-precision GEMM library, this is not a full linear algebra library, only a GEMM library, it only does general matrix multiplication("GEMM") Fedora Account System Username:crisdel
Created attachment 2001611 [details] The .spec file difference from Copr build 6627480 to 6696029
Copr build: https://copr.fedorainfracloud.org/coprs/build/6696029 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2247559-gemmlowp/fedora-rawhide-x86_64/06696029-gemmlowp/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.
Comments: a) IT is typical to put the README.md in the main package rather than in the docs package. b) The docs package should be a noarch package and should be called doc not docs c) The doc package should also have %license LICENSE as it does not require the main package. d) Rather than using %exclude %{_libdir}/cmake/gemmlowp/gemmlowp-config-noconfig.cmake %exclude %{_libdir}/cmake/gemmlowp/gemmlowp-config.cmake Please add %dir %{_libdir}/cmake/gemmlowp %{_libdir}/cmake/gemmlowp/gemmlowp-config-noconfig.cmake %{_libdir}/cmake/gemmlowp/gemmlowp-config.cmake to the devel package as these files are useful for builds using CMake which have gemmlowp as a dependency.
Hi Benson, thanks for your feedback, I've made some adjustments, and this is the new build. Thanks for your time. Spec URL:https://download.copr.fedorainfracloud.org/results/crisdel/gemmlowp/fedora-rawhide-x86_64/06750173-gemmlowp/gemmlowp.spec SRPM URL:https://download.copr.fedorainfracloud.org/results/crisdel/gemmlowp/fedora-rawhide-x86_64/06750173-gemmlowp/gemmlowp-0~git20221409.08e4bb3-1.fc40.src.rpm Description: Small self-contained low-precision GEMM library, this is not a full linear algebra library, only a GEMM library, it only does general matrix multiplication("GEMM") Fedora Account System Username:crisdel
Created attachment 2004184 [details] The .spec file difference from Copr build 6696029 to 6750269
Copr build: https://copr.fedorainfracloud.org/coprs/build/6750269 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2247559-gemmlowp/fedora-rawhide-x86_64/06750269-gemmlowp/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.
Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [-]: Provides: bundled(gnulib) in place as required. Note: Sources not installed [x]: Package does not contain kernel modules. [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. [x]: Development (unversioned) .so files in -devel subpackage, if present. Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "Unknown or generated", "*No copyright* Apache License 2.0", "Apache License 2.0". 44 files have unknown license. Detailed output of licensecheck in /home/fedora/2247559-gemmlowp/licensecheck.txt [!]: License file installed when any subpackage combination is installed. [!]: %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. [-]: Package contains desktop file if it is a GUI application. [!]: 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. [ ]: Package complies to the Packaging Guidelines [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: If (and only if) the source package includes the text of the license(s) in its own file, then that file, containing the text of the license(s) for the package is included in %license. [x]: 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]: Macros in Summary, %description expandable at SRPM build time. [x]: Dist tag is present. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package must not depend on deprecated() packages. [x]: Package use %makeinstall only when make install DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package does not use a name that already exists. [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 9539 bytes in 1 files. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [ ]: Package functions as described. [!]: Latest version is packaged. [x]: Package does not include license text files separate from upstream. [!]: Patches link to upstream bugs/comments/lists or are otherwise justified. [-]: Sources are verified with gpgverify first in %prep if upstream publishes signatures. Note: gpgverify is not used. [ ]: Package should compile and build into binary rpms on all supported architectures. [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]: 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: [x]: Rpmlint is run on debuginfo package(s). Note: No rpmlint messages. [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: gemmlowp-0~git20221409.08e4bb3-1.fc40.x86_64.rpm gemmlowp-devel-0~git20221409.08e4bb3-1.fc40.x86_64.rpm gemmlowp-doc-0~git20221409.08e4bb3-1.fc40.noarch.rpm gemmlowp-debuginfo-0~git20221409.08e4bb3-1.fc40.x86_64.rpm gemmlowp-debugsource-0~git20221409.08e4bb3-1.fc40.x86_64.rpm gemmlowp-0~git20221409.08e4bb3-1.fc40.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/tmpz03gl2mh')] checks: 32, packages: 6 gemmlowp-doc.noarch: W: summary-ended-with-dot Documentation for GEMM library. gemmlowp.spec:42: W: setup-not-quiet gemmlowp-devel.x86_64: W: no-documentation 6 packages and 0 specfiles checked; 0 errors, 3 warnings, 31 filtered, 0 badness; has taken 1.0 s Rpmlint (debuginfo) ------------------- Checking: gemmlowp-debuginfo-0~git20221409.08e4bb3-1.fc40.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/tmph49n875p')] checks: 32, packages: 1 1 packages and 0 specfiles checked; 0 errors, 0 warnings, 5 filtered, 0 badness; has taken 0.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: 5 gemmlowp-doc.noarch: W: summary-ended-with-dot Documentation for GEMM library. gemmlowp-devel.x86_64: W: no-documentation 5 packages and 0 specfiles checked; 0 errors, 2 warnings, 28 filtered, 0 badness; has taken 0.9 s Source checksums ---------------- https://github.com/google/gemmlowp/archive/08e4bb339e34017a0835269d4a37c4ea04d15a69/gemmlowp-08e4bb3.tar.gz : CHECKSUM(SHA256) this package : cc8a22b6f071c3781e6b4b72654c89b1cdc198e72ebadebb17638eac205344c1 CHECKSUM(SHA256) upstream package : cc8a22b6f071c3781e6b4b72654c89b1cdc198e72ebadebb17638eac205344c1 Requires -------- gemmlowp (rpmlib, GLIBC filtered): cmake-filesystem(x86-64) 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) rtld(GNU_HASH) gemmlowp-devel (rpmlib, GLIBC filtered): gemmlowp(x86-64) libeight_bit_int_gemm.so.1()(64bit) gemmlowp-doc (rpmlib, GLIBC filtered): gemmlowp-debuginfo (rpmlib, GLIBC filtered): gemmlowp-debugsource (rpmlib, GLIBC filtered): Provides -------- gemmlowp: cmake(gemmlowp) gemmlowp gemmlowp(x86-64) libeight_bit_int_gemm.so.1()(64bit) gemmlowp-devel: gemmlowp-devel gemmlowp-devel(x86-64) gemmlowp-doc: gemmlowp-doc gemmlowp-debuginfo: debuginfo(build-id) gemmlowp-debuginfo gemmlowp-debuginfo(x86-64) libeight_bit_int_gemm.so.1.0.0-0~git20221409.08e4bb3-1.fc40.x86_64.debug()(64bit) gemmlowp-debugsource: gemmlowp-debugsource gemmlowp-debugsource(x86-64) Generated by fedora-review 0.10.0 (e79b66b) last change: 2023-07-24 Command line :/usr/bin/fedora-review -b 2247559 Buildroot used: fedora-rawhide-x86_64 Active plugins: Shell-api, Generic, C/C++ Disabled plugins: R, Ocaml, Python, fonts, Haskell, Java, PHP, Perl, SugarActivity Disabled flags: EXARCH, EPEL6, EPEL7, DISTTAG, BATCH Comments: a) CMake files should be in the development package. Initial part of soname should be included in file listings. License should be in main package and in any package that does not require the main package. See https://docs.fedoraproject.org/en-US/packaging-guidelines/#_listing_shared_library_files So use something like: %files %doc README.md %license LICENSE %{_libdir}/libeight_bit_int_gemm.so.0* %files devel %{_includedir}/gemmlowp/ %{_libdir}/libeight_bit_int_gemm.so %dir %{_libdir}/cmake/gemmlowp %{_libdir}/cmake/gemmlowp/gemmlowp-config-noconfig.cmake %{_libdir}/cmake/gemmlowp/gemmlowp-config.cmake %files doc %license LICENSE %doc doc/ b) Change doc package summary from Summary: Documentation for GEMM library. to Summary: Documentation for GEMM library c) Can the latest commit from November 2023 be used? d) Please add an explanation in the spec file above the patch explaining what the patch does. Please also make a pull request with the patch as it would be good for upstream to add a soname. e) The soname should be 0.0.1 not 1.0.0 see https://docs.fedoraproject.org/en-US/packaging-guidelines/#_downstream_so_name_versioning f) The patch changes the vectorization flags. Unless there is a good reason to do this, perhaps better to leave them as default.
This is an automatic check from review-stats script. This review request ticket hasn't been updated for some time, but it seems that the review is still being working out by you. If this is right, please respond to this comment clearing the NEEDINFO flag and try to reach out the submitter to proceed with the review. If you're not interested in reviewing this ticket anymore, please clear the fedora-review flag and reset the assignee, so that a new reviewer can take this ticket. Without any reply, this request will shortly be resetted.
Happy to finish the review.