[Bug 2185424] Review Request: bctoolbox - Utilities library used by Belledonne Communications softwares like belle-sip, mediastreamer2 and linphone.

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

 



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



--- Comment #5 from Petr Pisar <ppisar@xxxxxxxxxx> ---
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.


-- 
You are receiving this mail because:
You are always notified about changes to this product and component
You are on the CC list for the bug.
https://bugzilla.redhat.com/show_bug.cgi?id=2185424
_______________________________________________
package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue




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

  Powered by Linux