https://bugzilla.redhat.com/show_bug.cgi?id=2354797 --- Comment #6 from Petr Pisar <ppisar@xxxxxxxxxx> --- The standalone spec file differs from a spec file from the source package (a new-line at the end of the file). I will review spec file from the source package. URL and Source0 addresses are Ok. Source0 archive (SHA-512: d293731c4ff40508611d334e5cb31f5c10a8e143cdac6b82e122bcf3312b37b98fc005b88975b7b1ab28302a090dee0f5e192f4418a7028298712fd98f4dbca8) is original. Ok. TODO: I recommend moving the %bcond macros to the top of the spec file. This is a prominent place where people building the package look for them. TODO: You can stop using clang build condition. There is already a system-provided %toolchain macro defaulting to gcc. Use that for build-requiring g++/clang. TODO: Remove a notice about "Python bindings" from libpkgmanifest description. That binary package does not contain Python bindings. It's in python3-libpkgmanifest. TODO: You don't need to repeat License tag at every subpackage. They are inherited from the main package. License verified from: LICENSE. Ok. TODO: You don't need to package LICENSE in every subpackage. Only libpkgmanifest is enough as it is required by any of them. TODO: Add an explicit -DWITH_CODE_COVERAGE=OFF argument to %cmake invocation (CMakeLists.txt:13). All configure-time options should be specified to prevent from unnoticed changes. FIX: Build-require "pkgconf-pkg-config" (CMakeLists.txt:24). FIX: Build-require "doxygen" if docs build condition is enabled, or remove the build condition from spec file (docs/CMakeLists.txt:11). $ rpmlint libpkgmanifest.spec ../SRPMS/libpkgmanifest-0.5.8-1.fc43.src.rpm ../RPMS/x86_64/*libpkgmanifest-* ======================================== rpmlint session starts ======================================= rpmlint: 2.7.0 configuration: /usr/lib/python3.13/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: 8 python3-libpkgmanifest.x86_64: W: no-documentation libpkgmanifest.x86_64: E: incorrect-fsf-address /usr/share/licenses/libpkgmanifest/LICENSE libpkgmanifest-devel.x86_64: E: incorrect-fsf-address /usr/share/licenses/libpkgmanifest-devel/LICENSE python3-libpkgmanifest.x86_64: E: incorrect-fsf-address /usr/share/licenses/python3-libpkgmanifest/LICENSE == 7 packages and 1 specfiles checked; 3 errors, 1 warnings, 40 filtered, 3 badness; has taken 1.7 s == TODO: Ask upstream for updating the postal address in LICENSE file. Current wording of the license is at <https://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt>. $ rpm -q -lv -p ../RPMS/x86_64/libpkgmanifest-0.5.8-1.fc43.x86_64.rpm drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/lib/.build-id drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/lib/.build-id/f6 lrwxrwxrwx 1 root root 41 Apr 2 02:00 /usr/lib/.build-id/f6/70f6db21c3691f1f4324af39380924f66f10b7 -> ../../../../usr/lib64/libpkgmanifest.so.0 -rwxr-xr-x 1 root root 597712 Apr 2 02:00 /usr/lib64/libpkgmanifest.so.0 drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/share/licenses/libpkgmanifest -rw-r--r-- 1 root root 26042 Apr 1 16:55 /usr/share/licenses/libpkgmanifest/LICENSE $ rpm -q -lv -p ../RPMS/x86_64/libpkgmanifest-devel-0.5.8-1.fc43.x86_64.rpm drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/include/libpkgmanifest drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/include/libpkgmanifest/common -rw-r--r-- 1 root root 468 Apr 1 16:55 /usr/include/libpkgmanifest/common/exception.hpp -rw-r--r-- 1 root root 2919 Apr 1 16:55 /usr/include/libpkgmanifest/common/repositories.hpp -rw-r--r-- 1 root root 1842 Apr 1 16:55 /usr/include/libpkgmanifest/common/repository.hpp -rw-r--r-- 1 root root 1551 Apr 1 16:55 /usr/include/libpkgmanifest/common/version.hpp drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/include/libpkgmanifest/input -rw-r--r-- 1 root root 3361 Apr 1 16:55 /usr/include/libpkgmanifest/input/input.hpp -rw-r--r-- 1 root root 911 Apr 1 16:55 /usr/include/libpkgmanifest/input/modules.hpp -rw-r--r-- 1 root root 1022 Apr 1 16:55 /usr/include/libpkgmanifest/input/options.hpp -rw-r--r-- 1 root root 957 Apr 1 16:55 /usr/include/libpkgmanifest/input/packages.hpp -rw-r--r-- 1 root root 1073 Apr 1 16:55 /usr/include/libpkgmanifest/input/parser.hpp drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/include/libpkgmanifest/manifest -rw-r--r-- 1 root root 1251 Apr 1 16:55 /usr/include/libpkgmanifest/manifest/checksum.hpp -rw-r--r-- 1 root root 2408 Apr 1 16:55 /usr/include/libpkgmanifest/manifest/manifest.hpp -rw-r--r-- 1 root root 1433 Apr 1 16:55 /usr/include/libpkgmanifest/manifest/module.hpp -rw-r--r-- 1 root root 2204 Apr 1 16:55 /usr/include/libpkgmanifest/manifest/nevra.hpp -rw-r--r-- 1 root root 3905 Apr 1 16:55 /usr/include/libpkgmanifest/manifest/package.hpp -rw-r--r-- 1 root root 2363 Apr 1 16:55 /usr/include/libpkgmanifest/manifest/packages.hpp -rw-r--r-- 1 root root 627 Apr 1 16:55 /usr/include/libpkgmanifest/manifest/parser.hpp -rw-r--r-- 1 root root 698 Apr 1 16:55 /usr/include/libpkgmanifest/manifest/serializer.hpp lrwxrwxrwx 1 root root 19 Apr 2 02:00 /usr/lib64/libpkgmanifest.so -> libpkgmanifest.so.0 -rw-r--r-- 1 root root 246 Apr 2 02:00 /usr/lib64/pkgconfig/libpkgmanifest.pc drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/share/licenses/libpkgmanifest-devel -rw-r--r-- 1 root root 26042 Apr 1 16:55 /usr/share/licenses/libpkgmanifest-devel/LICENSE $ rpm -q -lv -p ../RPMS/x86_64/python3-libpkgmanifest-0.5.8-1.fc43.x86_64.rpm drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/lib/.build-id drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/lib/.build-id/03 lrwxrwxrwx 1 root root 74 Apr 2 02:00 /usr/lib/.build-id/03/d7bf814441b9a5c405cf5a5e40f2cb256996a5 -> ../../../../usr/lib64/python3.13/site-packages/libpkgmanifest/_manifest.so drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/lib/.build-id/7c lrwxrwxrwx 1 root root 71 Apr 2 02:00 /usr/lib/.build-id/7c/a6678b29ab8a6adaa3c6aea55ed5dfaed5b459 -> ../../../../usr/lib64/python3.13/site-packages/libpkgmanifest/_input.so drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/lib/.build-id/f7 lrwxrwxrwx 1 root root 72 Apr 2 02:00 /usr/lib/.build-id/f7/5a02ef3a7d1a7960a5fc11bd41e51db91a19de -> ../../../../usr/lib64/python3.13/site-packages/libpkgmanifest/_common.so drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest-0.5.8.dist-info -rw-r--r-- 1 root root 58 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest-0.5.8.dist-info/METADATA -rw-r--r-- 1 root root 64 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/__init__.py drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/__pycache__ -rw-r--r-- 2 root root 254 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/__pycache__/__init__.cpython-313.opt-1.pyc -rw-r--r-- 2 root root 254 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/__pycache__/__init__.cpython-313.pyc -rw-r--r-- 2 root root 37519 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/__pycache__/common.cpython-313.opt-1.pyc -rw-r--r-- 2 root root 37519 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/__pycache__/common.cpython-313.pyc -rw-r--r-- 2 root root 48817 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/__pycache__/input.cpython-313.opt-1.pyc -rw-r--r-- 2 root root 48817 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/__pycache__/input.cpython-313.pyc -rw-r--r-- 2 root root 70943 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/__pycache__/manifest.cpython-313.opt-1.pyc -rw-r--r-- 2 root root 70943 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/__pycache__/manifest.cpython-313.pyc -rwxr-xr-x 1 root root 268264 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/_common.so -rwxr-xr-x 1 root root 311896 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/_input.so -rwxr-xr-x 1 root root 521040 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/_manifest.so -rw-r--r-- 1 root root 23129 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/common.py -rw-r--r-- 1 root root 32256 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/input.py -rw-r--r-- 1 root root 49787 Apr 2 02:00 /usr/lib64/python3.13/site-packages/libpkgmanifest/manifest.py drwxr-xr-x 2 root root 0 Apr 2 02:00 /usr/share/licenses/python3-libpkgmanifest -rw-r--r-- 1 root root 26042 Apr 1 16:55 /usr/share/licenses/python3-libpkgmanifest/LICENSE TODO: Add README.md to libpkgmanifest binary package. TODO: Add docs/design to libpkgmanifest-devel if you don't build a complete documentation. Some documentation is better than none. $ rpm -q --requires -p ../RPMS/x86_64/libpkgmanifest-0.5.8-1.fc43.x86_64.rpm | sort -f | uniq -c 1 libc.so.6()(64bit) 1 libc.so.6(GLIBC_2.14)(64bit) 1 libc.so.6(GLIBC_2.2.5)(64bit) 1 libc.so.6(GLIBC_2.32)(64bit) 1 libc.so.6(GLIBC_2.38)(64bit) 1 libc.so.6(GLIBC_2.4)(64bit) 1 libc.so.6(GLIBC_ABI_DT_RELR)(64bit) 1 libgcc_s.so.1()(64bit) 1 libgcc_s.so.1(GCC_3.0)(64bit) 1 libgcc_s.so.1(GCC_3.3.1)(64bit) 1 libm.so.6()(64bit) 1 libm.so.6(GLIBC_2.2.5)(64bit) 1 libstdc++.so.6()(64bit) 1 libstdc++.so.6(CXXABI_1.3)(64bit) 1 libstdc++.so.6(CXXABI_1.3.9)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.20)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.21)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.26)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.29)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.30)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.31)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.32)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.9)(64bit) 1 libyaml-cpp.so.0.8()(64bit) 1 rpmlib(CompressedFileNames) <= 3.0.4-1 1 rpmlib(FileDigests) <= 4.6.0-1 1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 1 rpmlib(PayloadIsZstd) <= 5.4.18-1 1 rtld(GNU_HASH) $ rpm -q --requires -p ../RPMS/x86_64/libpkgmanifest-devel-0.5.8-1.fc43.x86_64.rpm | sort -f | uniq -c 1 /usr/bin/pkg-config 1 libpkgmanifest(x86-64) = 0.5.8-1.fc43 1 libpkgmanifest.so.0()(64bit) 1 pkgconfig(yaml-cpp) 1 rpmlib(CompressedFileNames) <= 3.0.4-1 1 rpmlib(FileDigests) <= 4.6.0-1 1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 1 rpmlib(PayloadIsZstd) <= 5.4.18-1 $ rpm -q --requires -p ../RPMS/x86_64/python3-libpkgmanifest-0.5.8-1.fc43.x86_64.rpm | sort -f | uniq -c 1 libc.so.6()(64bit) 1 libc.so.6(GLIBC_2.14)(64bit) 1 libc.so.6(GLIBC_2.2.5)(64bit) 1 libc.so.6(GLIBC_2.3.4)(64bit) 1 libc.so.6(GLIBC_2.4)(64bit) 1 libc.so.6(GLIBC_ABI_DT_RELR)(64bit) 1 libgcc_s.so.1()(64bit) 1 libgcc_s.so.1(GCC_3.0)(64bit) 1 libgcc_s.so.1(GCC_3.3.1)(64bit) 1 libpkgmanifest(x86-64) = 0.5.8-1.fc43 1 libpkgmanifest.so.0()(64bit) 1 libpython3.13.so.1.0()(64bit) 1 libstdc++.so.6()(64bit) 1 libstdc++.so.6(CXXABI_1.3)(64bit) 1 libstdc++.so.6(CXXABI_1.3.9)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.21)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.30)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.32)(64bit) 1 python(abi) = 3.13 1 rpmlib(CompressedFileNames) <= 3.0.4-1 1 rpmlib(FileDigests) <= 4.6.0-1 1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 1 rpmlib(PayloadIsZstd) <= 5.4.18-1 1 rtld(GNU_HASH) Binary requires are Ok. TODO: Report upstream that libpkgmanifest.pc file contains a useless dependency on yaml-cpp. The library links to libyaml-cpp.so and header files do not include yaml-cpp header files. Therefore libpkgmanifest applications do not need to link to yaml-cpp and it should not be declared in Requires of the pkg-config file. $ rpm -q --provides -p ../RPMS/x86_64/libpkgmanifest-0.5.8-1.fc43.x86_64.rpm | sort -f | uniq -c 1 libpkgmanifest = 0.5.8-1.fc43 1 libpkgmanifest(x86-64) = 0.5.8-1.fc43 1 libpkgmanifest.so.0()(64bit) $ rpm -q --provides -p ../RPMS/x86_64/libpkgmanifest-devel-0.5.8-1.fc43.x86_64.rpm | sort -f | uniq -c 1 libpkgmanifest-devel = 0.5.8-1.fc43 1 libpkgmanifest-devel(x86-64) = 0.5.8-1.fc43 1 pkgconfig(libpkgmanifest) = 0.5.8 $ rpm -q --provides -p ../RPMS/x86_64/python3-libpkgmanifest-0.5.8-1.fc43.x86_64.rpm | sort -f | uniq -c 1 python-libpkgmanifest = 0.5.8-1.fc43 1 python3-libpkgmanifest = 0.5.8-1.fc43 1 python3-libpkgmanifest(x86-64) = 0.5.8-1.fc43 1 python3.13-libpkgmanifest = 0.5.8-1.fc43 1 python3.13dist(libpkgmanifest) = 0.5.8 1 python3dist(libpkgmanifest) = 0.5.8 Binary provides are Ok. $ resolvedeps f43-build ../RPMS/x86_64/libpkgmanifest{,-devel}-0.5.8-1.fc43.x86_64.rpm Binary dependencies are resolvable. Ok. The package builds in Fedora 43 <https://koji.fedoraproject.org/koji/taskinfo?taskID=131007412>. Ok. Otherwise, the package is in line-with Fedora and Python packaging guidelines. Please correct FIX item, consider fixing TODO items, and provide a new spec file. -- 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=2354797 Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202354797%23c6 -- _______________________________________________ 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