Spec URL: https://kathenas.fedorapeople.org/development/fedora/rawhide/for_review/bctoolbox/bctoolbox.spec SRPM URL: https://kathenas.fedorapeople.org/development/fedora/rawhide/for_review/bctoolbox/bctoolbox-5.2.45-1.fc39.src.rpm Description: Utilities library used by Belledonne Communications softwares like belle-sip, mediastreamer2 and linphone. Fedora Account System Username: kathenas Additional Information: rpmlint: [1]: (S)RPM signed with the kathenas key. Note: Only way to report bugs is via github mirror repos and not via the gitlab.linphone.org instance which does not allow registration.
Could you come up with a distinct description for a devel subpackage? It looks similar to the the main package.
Spec URL: https://kathenas.fedorapeople.org/development/fedora/rawhide/for_review/bctoolbox/bctoolbox.spec SRPM URL: https://kathenas.fedorapeople.org/development/fedora/rawhide/for_review/bctoolbox/bctoolbox-5.2.45-1.fc39.src.rpm Hopefully trigger copr build. Changes: Made summaries and descriptions more individual per package and more generic.
(In reply to Petr Pisar from comment #1) > Could you come up with a distinct description for a devel subpackage? It > looks similar to the the main package. I have done a new upload that I hope has wording that meets approval.
Copr build: https://copr.fedorainfracloud.org/coprs/build/5777945 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2185424-bctoolbox/fedora-rawhide-x86_64/05777945-bctoolbox/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.
URL and Source0 address are Ok. Source0 archive (SHA-512 807a3526a9086e2fe9775806a073ba82dd979b9c2a1878d9fe628fedf4c207202effd2557c10521cdabc5ea1ae9adf42da9d537d1fcb7f9196dff34c1b308da0) is original. Ok. TODO: Consider using bzip2 archives. In this particular tag, it saves 20 % of space. Summary verified from README.md. Ok. Description verified from README.md. Ok. TODO: Use "%package tester" to make it similar to %package devel". TODO: Annotate the patches: Why they are applied, where you got them from, or where you proposed them to an upstream for merging. Is 0002_bctoolbox_fix_pkgconfig.patch really necessary? Because you only build shared libraries, Setting Requires.private is not helpful. FIX: License tag is missing GPL-3.0-or-later part. Found licenses: build/CMakeLists.txt: GPL-2.0-or-later cmake/BcGitVersion.cmake: GPL-2.0-or-later cmake/BcToolboxConfig.cmake.in: GPL-2.0-or-later cmake/BcToolboxCMakeUtils.cmake: GPL-2.0-or-later cmake/ConfigureSpecfile.cmake: GPL-2.0-or-later cmake/FindDecaf.cmake: GPL-2.0-or-later cmake/FindIconv.cmake: GPL-2.0-or-later cmake/FindMbedTLS.cmake: GPL-2.0-or-later cmake/FindPolarSSL.cmake: GPL-2.0-or-later cmake/gitversion.h.in: GPL-2.0-or-later cmake/MakeArchive.cmake: GPL-2.0-or-later CMakeLists.txt: GPL-2.0-or-later config.h.cmake: GPL-2.0-or-later include/CMakeLists.txt: GPL-2.0-or-later LICENSE.txt: GPL-3.0 text src/CMakeLists.txt: GPL-2.0-or-later src/vfs/vfs_standard.c: GPL-3.0-or-later tester/CMakeLists.txt: GPL-2.0-or-later tester/vfs.c: GPL-3.0-or-later other files are GPL-3.0-or-later. Because config.h.cmake is converted to config.h and then included to C files, the License tag should read "GPL-3.0-or-later AND GPL-2.0-or-later". TODO: Constrain 'cmake' build-dependency with '>= 3.2' (CMakeLists.txt:23). TODO: Add -DENABLE_SHARED=ON -DENABLE_MBEDTLS=ON -DENABLE_PACKAGE_SOURCE=OFF -DENABLE_DEFAULT_LOG_HANDLER=ON to %cmake arguments. It's important to disable autodetection and specify features explicitly to prevent from unnoticed flip by changes in upstream or in a build root. Distribution-wide compiler and linker flags are respected. Ok. No testes are contained. Ok. $ rpmlint bctoolbox.spec ../SRPMS/bctoolbox-5.2.45-1.fc39.src.rpm ../RPMS/x86_64/bctoolbox-* ======================================== rpmlint session starts ======================================= rpmlint: 2.4.0 configuration: /usr/lib/python3.11/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: 31, packages: 8 bctoolbox-tester.x86_64: W: no-manual-page-for-binary bctoolbox_tester bctoolbox.x86_64: W: no-documentation bctoolbox-tester.x86_64: W: no-documentation ========= 7 packages and 1 specfiles checked; 0 errors, 3 warnings, 0 badness; has taken 0.7 s ======== rpmlint is Ok. This package builds in F39 (https://koji.fedoraproject.org/koji/taskinfo?taskID=99932553). Ok. $ rpm -qlvp ../RPMS/x86_64/bctoolbox-5.2.45-1.fc39.x86_64.rpm drwxr-xr-x 2 root root 0 Mar 31 02:00 /usr/lib/.build-id drwxr-xr-x 2 root root 0 Mar 31 02:00 /usr/lib/.build-id/2c lrwxrwxrwx 1 root root 39 Mar 31 02:00 /usr/lib/.build-id/2c/2ba2e47984be841257250d9f7fef45e12b1492 -> ../../../../usr/lib64/libbctoolbox.so.1 -rwxr-xr-x 1 root root 388944 Mar 31 02:00 /usr/lib64/libbctoolbox.so.1 drwxr-xr-x 2 root root 0 Mar 31 02:00 /usr/share/licenses/bctoolbox -rw-r--r-- 1 root root 32473 Mar 27 11:43 /usr/share/licenses/bctoolbox/LICENSE.txt test@fedora-39:~/rpmbuild/SPECS $ rpm -qlvp ../RPMS/x86_64/bctoolbox-devel-5.2.45-1.fc39.x86_64.rpm drwxr-xr-x 2 root root 0 Mar 31 02:00 /usr/include/bctoolbox -rw-r--r-- 1 root root 4439 Mar 27 11:43 /usr/include/bctoolbox/charconv.h -rw-r--r-- 1 root root 1625 Mar 27 11:43 /usr/include/bctoolbox/compiler.h -rw-r--r-- 1 root root 54098 Mar 27 11:43 /usr/include/bctoolbox/crypto.h -rw-r--r-- 1 root root 10424 Mar 27 11:43 /usr/include/bctoolbox/crypto.hh -rw-r--r-- 1 root root 1385 Mar 27 11:43 /usr/include/bctoolbox/defs.h -rw-r--r-- 1 root root 2133 Mar 27 11:43 /usr/include/bctoolbox/exception.hh -rw-r--r-- 1 root root 4601 Mar 27 11:43 /usr/include/bctoolbox/list.h -rw-r--r-- 1 root root 12670 Mar 27 11:43 /usr/include/bctoolbox/logging.h -rw-r--r-- 1 root root 6174 Mar 27 11:43 /usr/include/bctoolbox/map.h -rw-r--r-- 1 root root 3459 Mar 27 11:43 /usr/include/bctoolbox/ownership.hh -rw-r--r-- 1 root root 2126 Mar 27 11:43 /usr/include/bctoolbox/param_string.h -rw-r--r-- 1 root root 3951 Mar 27 11:43 /usr/include/bctoolbox/parser.h -rw-r--r-- 1 root root 32127 Mar 27 11:43 /usr/include/bctoolbox/port.h -rw-r--r-- 1 root root 1082 Mar 27 11:43 /usr/include/bctoolbox/regex.h -rw-r--r-- 1 root root 11954 Mar 27 11:43 /usr/include/bctoolbox/tester.h -rw-r--r-- 1 root root 2252 Mar 27 11:43 /usr/include/bctoolbox/utils.hh -rw-r--r-- 1 root root 7500 Mar 27 11:43 /usr/include/bctoolbox/vconnect.h -rw-r--r-- 1 root root 9999 Mar 27 11:43 /usr/include/bctoolbox/vfs.h -rw-r--r-- 1 root root 8110 Mar 27 11:43 /usr/include/bctoolbox/vfs_encrypted.hh -rw-r--r-- 1 root root 1058 Mar 27 11:43 /usr/include/bctoolbox/vfs_standard.h drwxr-xr-x 2 root root 0 Mar 31 02:00 /usr/lib64/cmake/bctoolbox -rw-r--r-- 1 root root 2174 Mar 31 02:00 /usr/lib64/cmake/bctoolbox/BcGitVersion.cmake -rw-r--r-- 1 root root 1595 Mar 27 11:43 /usr/lib64/cmake/bctoolbox/ConfigureSpecfile.cmake -rw-r--r-- 1 root root 1508 Mar 27 11:43 /usr/lib64/cmake/bctoolbox/MakeArchive.cmake -rw-r--r-- 1 root root 14075 Mar 31 02:00 /usr/lib64/cmake/bctoolbox/bctoolboxCMakeUtils.cmake -rw-r--r-- 1 root root 4811 Mar 31 02:00 /usr/lib64/cmake/bctoolbox/bctoolboxConfig.cmake -rw-r--r-- 1 root root 1862 Mar 31 02:00 /usr/lib64/cmake/bctoolbox/bctoolboxConfigVersion.cmake -rw-r--r-- 1 root root 1431 Mar 31 02:00 /usr/lib64/cmake/bctoolbox/bctoolboxTargets-noconfig.cmake -rw-r--r-- 1 root root 4580 Mar 31 02:00 /usr/lib64/cmake/bctoolbox/bctoolboxTargets.cmake -rw-r--r-- 1 root root 820 Mar 31 02:00 /usr/lib64/cmake/bctoolbox/gitversion.h.in lrwxrwxrwx 1 root root 24 Mar 31 02:00 /usr/lib64/libbctoolbox-tester.so -> libbctoolbox-tester.so.1 lrwxrwxrwx 1 root root 17 Mar 31 02:00 /usr/lib64/libbctoolbox.so -> libbctoolbox.so.1 -rw-r--r-- 1 root root 266 Mar 31 02:00 /usr/lib64/pkgconfig/bctoolbox-tester.pc -rw-r--r-- 1 root root 262 Mar 31 02:00 /usr/lib64/pkgconfig/bctoolbox.pc drwxr-xr-x 2 root root 0 Mar 31 02:00 /usr/share/doc/bctoolbox-devel -rw-r--r-- 1 root root 1782 Mar 27 11:43 /usr/share/doc/bctoolbox-devel/CHANGELOG.md -rw-r--r-- 1 root root 2053 Mar 27 11:43 /usr/share/doc/bctoolbox-devel/README.md drwxr-xr-x 2 root root 0 Mar 31 02:00 /usr/share/licenses/bctoolbox-devel -rw-r--r-- 1 root root 32473 Mar 27 11:43 /usr/share/licenses/bctoolbox-devel/LICENSE.txt test@fedora-39:~/rpmbuild/SPECS $ rpm -qlvp ../RPMS/x86_64/bctoolbox-tester-5.2.45-1.fc39.x86_64.rpm -rwxr-xr-x 1 root root 167280 Mar 31 02:00 /usr/bin/bctoolbox_tester drwxr-xr-x 2 root root 0 Mar 31 02:00 /usr/lib/.build-id drwxr-xr-x 2 root root 0 Mar 31 02:00 /usr/lib/.build-id/48 lrwxrwxrwx 1 root root 46 Mar 31 02:00 /usr/lib/.build-id/48/2709f33d1f001db748520082ebb0fde52c2a7b -> ../../../../usr/lib64/libbctoolbox-tester.so.1 drwxr-xr-x 2 root root 0 Mar 31 02:00 /usr/lib/.build-id/b1 lrwxrwxrwx 1 root root 36 Mar 31 02:00 /usr/lib/.build-id/b1/f89a9d5a317ef381f12a57a0fdf11441a5f93f -> ../../../../usr/bin/bctoolbox_tester -rwxr-xr-x 1 root root 44920 Mar 31 02:00 /usr/lib64/libbctoolbox-tester.so.1 drwxr-xr-x 2 root root 0 Mar 31 02:00 /usr/share/licenses/bctoolbox-tester -rw-r--r-- 1 root root 32473 Mar 27 11:43 /usr/share/licenses/bctoolbox-tester/LICENSE.txt File layout and permissions are OK. TODO: Do not package LICENSE.txt in bctoolbox-devel and bctoolbox-tester. These package require bctoolbox that already contains the license file. $ rpm -q --requires -p ../RPMS/x86_64/bctoolbox-5.2.45-1.fc39.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.17)(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.32)(64bit) 1 libc.so.6(GLIBC_2.33)(64bit) 1 libc.so.6(GLIBC_2.34)(64bit) 1 libc.so.6(GLIBC_2.4)(64bit) 1 libc.so.6(GLIBC_2.7)(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 libmbedcrypto.so.7()(64bit) 1 libmbedtls.so.14()(64bit) 1 libmbedx509.so.1()(64bit) 1 libstdc++.so.6()(64bit) 1 libstdc++.so.6(CXXABI_1.3)(64bit) 1 libstdc++.so.6(CXXABI_1.3.13)(64bit) 1 libstdc++.so.6(CXXABI_1.3.3)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.11)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.14)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.15)(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.29)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.30)(64bit) 1 libstdc++.so.6(GLIBCXX_3.4.9)(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/bctoolbox-devel-5.2.45-1.fc39.x86_64.rpm | sort -f | uniq -c 1 /usr/bin/pkg-config 1 bctoolbox(x86-64) = 5.2.45-1.fc39 1 bctoolbox-tester(x86-64) = 5.2.45-1.fc39 1 cmake-filesystem(x86-64) 1 libbctoolbox-tester.so.1()(64bit) 1 libbctoolbox.so.1()(64bit) 1 make 1 mbedtls-devel 1 pkgconfig(bcunit) 1 pkgconfig(zlib) 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 FIX: I cannot see a reason why to depend on make, mbedtls-devel, pkgconfig(bcunit), and pkgconfig(zlib). Those would be needed only for linking against a static bctoolbox library, but you do not build and package it. $ rpm -q --requires -p ../RPMS/x86_64/bctoolbox-tester-5.2.45-1.fc39.x86_64.rpm | sort -f | uniq -c 1 libbctoolbox-tester.so.1()(64bit) 1 libbctoolbox.so.1()(64bit) 1 libbcunit.so.1()(64bit) 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.34)(64bit) 1 libc.so.6(GLIBC_2.4)(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 libmbedcrypto.so.7()(64bit) 1 libstdc++.so.6()(64bit) 1 libstdc++.so.6(CXXABI_1.3)(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.9)(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) FIX: bctoolbox-tester requires libbctoolbox.so.1()(64bit) provided by bctoolbox. To keep both packages aligned, explicitly run-require exact release of bctoolbox from bctoolbox-tester. $ rpm -q --provides -p ../RPMS/x86_64/bctoolbox-5.2.45-1.fc39.x86_64.rpm | sort -f | uniq -c 1 bctoolbox = 5.2.45-1.fc39 1 bctoolbox(x86-64) = 5.2.45-1.fc39 1 libbctoolbox.so.1()(64bit) $ rpm -q --provides -p ../RPMS/x86_64/bctoolbox-devel-5.2.45-1.fc39.x86_64.rpm | sort -f | uniq -c 1 bctoolbox-devel = 5.2.45-1.fc39 1 bctoolbox-devel(x86-64) = 5.2.45-1.fc39 1 cmake(bctoolbox) = 5.2.45 1 pkgconfig(bctoolbox) = 5.2.45 1 pkgconfig(bctoolbox-tester) = 5.2.45 $ rpm -q --provides -p ../RPMS/x86_64/bctoolbox-tester-5.2.45-1.fc39.x86_64.rpm | sort -f | uniq -c 1 bctoolbox-tester = 5.2.45-1.fc39 1 bctoolbox-tester(x86-64) = 5.2.45-1.fc39 1 libbctoolbox-tester.so.1()(64bit) Binary provides are Ok. $ resolvedeps rawhide ../RPMS/x86_64/bctoolbox-{,devel-,tester-}5.2.45-1.fc39.x86_64.rpm Binary dependencies are resolvable. Ok. Otherwise, the package is in line with Fedora and CMake packaging guidelines. Please correct FIX items, consider fixigin TODO items, and provide a new spec file.
Spec URL: https://kathenas.fedorapeople.org/development/fedora/rawhide/for_review/bctoolbox/bctoolbox.spec SRPM URL: https://kathenas.fedorapeople.org/development/fedora/rawhide/for_review/bctoolbox/bctoolbox-5.2.45-1.fc39.src.rpm All issues addressed, except that shared does build require mbedtls-devel, pkgconfig(bcunit) and pkgconfig(ncurses). Any issues related to this will be addressed in the future where applicable.
Created attachment 1964751 [details] The .spec file difference from Copr build 5777945 to 5921173
Copr build: https://copr.fedorainfracloud.org/coprs/build/5921173 (succeeded) Review template: https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2185424-bctoolbox/fedora-rawhide-x86_64/05921173-bctoolbox/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.
Source0 archive (SHA-512: 442603d7bfa0edb7ffb2bb65b3b9b82b530cd9d22c6568979f4d681754902726952d2887f844e76b42bc7289f67d12bb57fd94017205394e4461e3bfdbb9bf3b) is original. Ok. Bzip2 archive content is identical to gzip archive content. Ok. License is Ok. $ rpmlint bctoolbox.spec ../SRPMS/bctoolbox-5.2.45-1.fc39.src.rpm ../RPMS/x86_64/bctoolbox-* ======================================== rpmlint session starts ======================================= rpmlint: 2.4.0 configuration: /usr/lib/python3.11/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: 31, packages: 8 bctoolbox-tester.x86_64: W: no-manual-page-for-binary bctoolbox_tester bctoolbox.x86_64: W: no-documentation bctoolbox-tester.x86_64: W: no-documentation ========= 7 packages and 1 specfiles checked; 0 errors, 3 warnings, 0 badness; has taken 0.7 s ======== rpmlint is Ok. $ rpm -q --requires -p ../RPMS/x86_64/bctoolbox-devel-5.2.45-1.fc39.x86_64.rpm | sort -f | uniq -c 1 /usr/bin/pkg-config 1 bctoolbox(x86-64) = 5.2.45-1.fc39 1 bctoolbox-tester(x86-64) = 5.2.45-1.fc39 1 cmake-filesystem(x86-64) 1 libbctoolbox-tester.so.1()(64bit) 1 libbctoolbox.so.1()(64bit) 1 pkgconfig(bcunit) 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 TODO: The useless pkgconfig(bcunit) dependency is here generated probably because of "Requires.private: bcunit" line in /usr/lib64/pkgconfig/bctoolbox-tester.pc. Ask upstream to exclude this line if a static library is not built. Before then you can filter out the RPM dependency with __exclude_requires macro <https://docs.fedoraproject.org/en-US/packaging-guidelines/AutoProvidesAndRequiresFiltering/>. The package builds in F39 (https://koji.fedoraproject.org/koji/taskinfo?taskID=101249486). Ok. Otherwise, this package is in line with Fedora packaging guidelines. Please consider fixing the TODO item before building this package. Resolution: Package APPROVED.
The Pagure repository was created at https://src.fedoraproject.org/rpms/bctoolbox
Builds ongoing.