Bug 2315907 - Review Request: lmdbal - LMDB Abstraction Layer
Summary: Review Request: lmdbal - LMDB Abstraction Layer
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL: https://git.macaw.me/blue/lmdbal
Whiteboard:
Depends On:
Blocks: 2316944
TreeView+ depends on / blocked
 
Reported: 2024-10-01 13:39 UTC by Benson Muite
Modified: 2024-10-23 10:07 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:
ppisar: fedora-review?


Attachments (Terms of Use)
The .spec file difference from Copr build 8110344 to 8111674 (610 bytes, patch)
2024-10-06 12:22 UTC, Fedora Review Service
no flags Details | Diff

Comment 1 Fedora Review Service 2024-10-01 13:39:59 UTC
The ticket summary is not in the correct format.
Expected:

    Review Request: <main package name here> - <short summary here>

Found:

    lmdbal - LMDB Abstraction Layer

As a consequence, the package name cannot be parsed and submitted to
be automatically build. Please modify the ticket summary and trigger a
build by typing [fedora-review-service-build].


---
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.

Comment 2 Petr Pisar 2024-10-04 08:24:50 UTC
URL and Source addresses are Ok.
Source archive (SHA512 e4d037c1080888a7ca5da400ff52cc1f756289a22f8f35f60a3bba68871033e6c53cbffe1641df4906b819d7dba6e1127d12d3fc1d508de526764f12584bf7b2) is original. Ok.

TODO: I recommend menitioning "Qt" in the description because lmdbal API uses Qt classes. That's import for programs deciding what library they will use. E.g. the Qt dependency would be a no-go for Gnome applications.

FIX: lmdbal-devel subpackage has a summary and a description equal to lmdbal subpackage. That's not good. Please use genuine and more descriptive texts. E.g. "Developmental files for lmdbal library".

TODO: Add a link <https://git.macaw.me/blue/lmdbal/pulls/2> to the Patch, and preferably use patches from the pull request.

Licenses found:

LICENSE.md: Modified GPL-3.0 text.
FATAL: The modification violates the license. People are not allowed to do modifications of the license text. Original version is at <https://www.gnu.org/licenses/gpl-3.0.md>. See e.g. the first line with a different number of hash signs. Report it to upstream to use FSF's copy of LICENSE.md.

cmake/FindLMDB.cmake: GPL-3.0-only
README.md: GPL-3.0-only
src/base.cpp: GPL-3.0-or-later
src/base.h: GPL-3.0-or-later
src/cache.h: GPL-3.0-or-later
src/cache.hpp: GPL-3.0-or-later
src/cursor.h: GPL-3.0-or-later
src/cursor.hpp: GPL-3.0-or-later
src/exceptions.cpp: GPL-3.0-or-later
src/exceptions.h: GPL-3.0-or-later
src/operators.hpp: GPL-3.0-or-later
src/serializer/serializer.h: GPL-3.0-or-later
src/serializer/serializer.hpp: GPL-3.0-or-later
src/serializer/serializer_double.hpp: GPL-3.0-or-later
src/serializer/serializer_float.hpp: GPL-3.0-or-later
src/serializer/serializer_int16.hpp: GPL-3.0-or-later
src/serializer/serializer_int32.hpp: GPL-3.0-or-later
src/serializer/serializer_int64.hpp: GPL-3.0-or-later
src/serializer/serializer_int8.hpp: GPL-3.0-or-later
src/serializer/serializer_qbytearray.hpp: GPL-3.0-or-later
src/serializer/serializer_qstring.hpp: GPL-3.0-or-later
src/serializer/serializer_stdstring.hpp: GPL-3.0-or-later
src/serializer/serializer_uint16.hpp: GPL-3.0-or-later
src/serializer/serializer_uint32.hpp: GPL-3.0-or-later
src/serializer/serializer_uint64.hpp: GPL-3.0-or-later
src/serializer/serializer_uint8.hpp: GPL-3.0-or-later
src/storage.cpp: GPL-3.0-or-later
src/storage.h: GPL-3.0-or-later
src/storage.hpp: GPL-3.0-or-later

FIX: Correct license tag to "GPL-3.0-only AND GPL-3.0-or-later" in lmdbal package and to "GPL-3.0-or-later" in lmdbal-devel package.
TODO: Ask upstream for clarifying the GPL-3.0-only clause in REAMDE.md. He probably did it wrong because all the code explicitly allows later versions.

TODO: Add '>= 3.16' constraint to 'cmake' build-dependency (CMakeLists.txt:1). That helps when porting the spec file to older distributions releases.
TODO: Specify BUILD_DOXYGEN_AWESOME option at %cmake macro. That helps from surprises when upstream changes the default value.

TODO: You don't have to explicitly package files under %{_includedir}/%{name} directory. %{_includedir}/%{name} is specific enough.

TODO: Remove disabling optimization from building the tests (test/CMakeLists.txt:15). All Fedora code is supposed to build with default optimization level. -O0 breaks code fortification as you can see in the compiler warnings:

In file included from /usr/include/c++/14/x86_64-redhat-linux/bits/os_defines.h:39,
                 from /usr/include/c++/14/x86_64-redhat-linux/bits/c++config.h:2521,
                 from /usr/include/c++/14/cstddef:49,
                 from /usr/include/gtest/gtest.h:52,
                 from /home/test/rpmbuild/BUILD/lmdbal-0.5.4-build/lmdbal/test/serialization.cpp:1:
/usr/include/features.h:422:4: warning: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Wcpp]

All tests pass. Ok.

$ rpmlint lmdbal.spec ../SRPMS/lmdbal-0.5.4-1.fc42.src.rpm ../RPMS/x86_64/lmdbal-*
======================================== rpmlint session starts =======================================
rpmlint: 2.5.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: 6

lmdbal-devel.x86_64: W: no-documentation
== 5 packages and 1 specfiles checked; 0 errors, 1 warnings, 50 filtered, 0 badness; has taken 0.6 s ==
FIX: Move the 3rd section manual pages to lmdbal-devel package.

$ rpm -q -lv -p ../RPMS/x86_64/lmdbal-0.5.4-1.fc42.x86_64.rpm 
drwxr-xr-x    2 root     root                        0 Oct  1 02:00 /usr/lib/.build-id
drwxr-xr-x    2 root     root                        0 Oct  1 02:00 /usr/lib/.build-id/01
lrwxrwxrwx    1 root     root                       36 Oct  1 02:00 /usr/lib/.build-id/01/5450a1df2d93cd02dda8c49a116ad426e57bcf -> ../../../../usr/lib64/libLMDBAL.so.1
-rwxr-xr-x    1 root     root                    95176 Oct  1 02:00 /usr/lib64/libLMDBAL.so.1
drwxr-xr-x    2 root     root                        0 Oct  1 02:00 /usr/share/doc/lmdbal
-rw-r--r--    1 root     root                     1238 Feb  4  2024 /usr/share/doc/lmdbal/CHANGELOG.md
-rw-r--r--    1 root     root                     3544 Feb  4  2024 /usr/share/doc/lmdbal/README.md
drwxr-xr-x    2 root     root                        0 Oct  1 02:00 /usr/share/licenses/lmdbal
-rw-r--r--    1 root     root                    34916 Feb  4  2024 /usr/share/licenses/lmdbal/LICENSE.md
-rw-r--r--    1 root     root                     2451 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Base.3.gz
-rw-r--r--    1 root     root                     5727 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Cache.3.gz
-rw-r--r--    1 root     root                      727 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Closed.3.gz
-rw-r--r--    1 root     root                     2949 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Cursor.3.gz
-rw-r--r--    1 root     root                      595 Oct  1 02:00 /usr/share/man/man3/LMDBAL_CursorEmpty.3.gz
-rw-r--r--    1 root     root                      659 Oct  1 02:00 /usr/share/man/man3/LMDBAL_CursorNotReady.3.gz
-rw-r--r--    1 root     root                      613 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Directory.3.gz
-rw-r--r--    1 root     root                      593 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Exception.3.gz
-rw-r--r--    1 root     root                      655 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Exist.3.gz
-rw-r--r--    1 root     root                      649 Oct  1 02:00 /usr/share/man/man3/LMDBAL_NotFound.3.gz
-rw-r--r--    1 root     root                      564 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Opened.3.gz
-rw-r--r--    1 root     root                      933 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer.3.gz
-rw-r--r--    1 root     root                      329 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ QByteArray _.3.gz
-rw-r--r--    1 root     root                      326 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ QString _.3.gz
-rw-r--r--    1 root     root                      324 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ double _.3.gz
-rw-r--r--    1 root     root                      323 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ float _.3.gz
-rw-r--r--    1 root     root                      327 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ int16_t _.3.gz
-rw-r--r--    1 root     root                      326 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ int32_t _.3.gz
-rw-r--r--    1 root     root                      327 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ int64_t _.3.gz
-rw-r--r--    1 root     root                      325 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ int8_t _.3.gz
-rw-r--r--    1 root     root                      329 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ std_string _.3.gz
-rw-r--r--    1 root     root                      327 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ uint16_t _.3.gz
-rw-r--r--    1 root     root                      327 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ uint32_t _.3.gz
-rw-r--r--    1 root     root                      328 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ uint64_t _.3.gz
-rw-r--r--    1 root     root                      326 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Serializer_ uint8_t _.3.gz
-rw-r--r--    1 root     root                     6091 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Storage.3.gz
-rw-r--r--    1 root     root                      637 Oct  1 02:00 /usr/share/man/man3/LMDBAL_StorageDuplicate.3.gz
-rw-r--r--    1 root     root                      942 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Transaction.3.gz
-rw-r--r--    1 root     root                      678 Oct  1 02:00 /usr/share/man/man3/LMDBAL_TransactionTerminated.3.gz
-rw-r--r--    1 root     root                      732 Oct  1 02:00 /usr/share/man/man3/LMDBAL_Unknown.3.gz
-rw-r--r--    1 root     root                     1111 Oct  1 02:00 /usr/share/man/man3/LMDBAL_WriteTransaction.3.gz
-rw-r--r--    1 root     root                     3770 Oct  1 02:00 /usr/share/man/man3/LMDBAL_iStorage.3.gz
FIX: Package manual pages in lmdbal-devel subpackage. Those are for developers and thus belong to devel subpackage.

$ rpm -q -lv -p ../RPMS/x86_64/lmdbal-devel-0.5.4-1.fc42.x86_64.rpm 
drwxr-xr-x    2 root     root                        0 Oct  1 02:00 /usr/include/lmdbal
-rw-r--r--    1 root     root                     8258 Feb  4  2024 /usr/include/lmdbal/base.h
-rw-r--r--    1 root     root                     5838 Feb  4  2024 /usr/include/lmdbal/cache.h
-rw-r--r--    1 root     root                    31369 Feb  4  2024 /usr/include/lmdbal/cache.hpp
-rw-r--r--    1 root     root                     4425 Feb  4  2024 /usr/include/lmdbal/cursor.h
-rw-r--r--    1 root     root                    25106 Feb  4  2024 /usr/include/lmdbal/cursor.hpp
-rw-r--r--    1 root     root                     6955 Feb  4  2024 /usr/include/lmdbal/exceptions.h
-rw-r--r--    1 root     root                     4950 Feb  4  2024 /usr/include/lmdbal/operators.hpp
-rw-r--r--    1 root     root                     1821 Feb  4  2024 /usr/include/lmdbal/serializer.h
-rw-r--r--    1 root     root                     3832 Feb  4  2024 /usr/include/lmdbal/serializer.hpp
-rw-r--r--    1 root     root                     1560 Feb  4  2024 /usr/include/lmdbal/serializer_double.hpp
-rw-r--r--    1 root     root                     1551 Feb  4  2024 /usr/include/lmdbal/serializer_float.hpp
-rw-r--r--    1 root     root                     1581 Feb  4  2024 /usr/include/lmdbal/serializer_int16.hpp
-rw-r--r--    1 root     root                     1584 Feb  4  2024 /usr/include/lmdbal/serializer_int32.hpp
-rw-r--r--    1 root     root                     1584 Feb  4  2024 /usr/include/lmdbal/serializer_int64.hpp
-rw-r--r--    1 root     root                     1575 Feb  4  2024 /usr/include/lmdbal/serializer_int8.hpp
-rw-r--r--    1 root     root                     1660 Feb  4  2024 /usr/include/lmdbal/serializer_qbytearray.hpp
-rw-r--r--    1 root     root                     1757 Feb  4  2024 /usr/include/lmdbal/serializer_qstring.hpp
-rw-r--r--    1 root     root                     1654 Feb  4  2024 /usr/include/lmdbal/serializer_stdstring.hpp
-rw-r--r--    1 root     root                     1592 Feb  4  2024 /usr/include/lmdbal/serializer_uint16.hpp
-rw-r--r--    1 root     root                     1590 Feb  4  2024 /usr/include/lmdbal/serializer_uint32.hpp
-rw-r--r--    1 root     root                     1591 Feb  4  2024 /usr/include/lmdbal/serializer_uint64.hpp
-rw-r--r--    1 root     root                     1584 Feb  4  2024 /usr/include/lmdbal/serializer_uint8.hpp
-rw-r--r--    1 root     root                    10146 Feb  4  2024 /usr/include/lmdbal/storage.h
-rw-r--r--    1 root     root                    51427 Feb  4  2024 /usr/include/lmdbal/storage.hpp
-rw-r--r--    1 root     root                     1198 Feb  4  2024 /usr/include/lmdbal/transaction.h
drwxr-xr-x    2 root     root                        0 Oct  1 02:00 /usr/lib64/cmake/lmdbal
-rw-r--r--    1 root     root                     1334 Oct  1 02:00 /usr/lib64/cmake/lmdbal/lmdbalConfig.cmake
-rw-r--r--    1 root     root                     1861 Oct  1 02:00 /usr/lib64/cmake/lmdbal/lmdbalConfigVersion.cmake
-rw-r--r--    1 root     root                      836 Oct  1 02:00 /usr/lib64/cmake/lmdbal/lmdbalTargets-debug.cmake
-rw-r--r--    1 root     root                     4567 Oct  1 02:00 /usr/lib64/cmake/lmdbal/lmdbalTargets.cmake
lrwxrwxrwx    1 root     root                       14 Oct  1 02:00 /usr/lib64/libLMDBAL.so -> libLMDBAL.so.1
File permisions and layout in lmdbal-devel are Ok.

$ rpm -q --requires -p ../RPMS/x86_64/lmdbal-0.5.4-1.fc42.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.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 liblmdb.so.0.0.0()(64bit)
      1 libQt5Core.so.5()(64bit)
      1 libQt5Core.so.5(Qt_5)(64bit)
      1 libQt5Core.so.5(Qt_5.15)(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.30)(64bit)
      1 libstdc++.so.6(GLIBCXX_3.4.32)(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/lmdbal-devel-0.5.4-1.fc42.x86_64.rpm | sort -f | uniq -c
      1 cmake-filesystem(x86-64)
      1 libLMDBAL.so.1()(64bit)
      1 lmdbal(x86-64) = 0.5.4-1.fc42
      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: Run-require "lmdb-devel" in lmdbal-devel (/usr/include/lmdbal/base.h:32).
FIX: Run-require "qt5-qtbase-devel" in lmdbal-devel (/usr/include/lmdbal/operators.hpp:28).

$ rpm -q --provides -p ../RPMS/x86_64/lmdbal-0.5.4-1.fc42.x86_64.rpm | sort -f | uniq -c
      1 libLMDBAL.so.1()(64bit)
      1 lmdbal = 0.5.4-1.fc42
      1 lmdbal(x86-64) = 0.5.4-1.fc42
$ rpm -q --provides -p ../RPMS/x86_64/lmdbal-devel-0.5.4-1.fc42.x86_64.rpm | sort -f | uniq -c
      1 cmake(lmdbal) = 0.5.4
      1 lmdbal-devel = 0.5.4-1.fc42
      1 lmdbal-devel(x86-64) = 0.5.4-1.fc42
Binary Provides are Ok.

Please correct the FIX items and consider fixing the TODO items.
I will continue with the review when the LICENSE.MD issue is resolved.

Comment 3 Benson Muite 2024-10-05 13:49:10 UTC
Updated.

Raised issue about license file:
https://git.macaw.me/blue/lmdbal/issues/6

Raised issue about license clarification:
https://git.macaw.me/blue/lmdbal/issues/4

In the includes have left .h and .hpp extensions, find them helpful. All other TODOs are DONE.

Will ping once License.MD is resolved. All other FIXEs are DONE.

spec: https://download.copr.fedorainfracloud.org/results/fed500/squawk/fedora-rawhide-x86_64/08110173-lmdbal/lmdbal.spec
srpm: https://download.copr.fedorainfracloud.org/results/fed500/squawk/fedora-rawhide-x86_64/08110173-lmdbal/lmdbal-0.5.4-1.fc42.src.rpm

Koji build has test failures on s390x and i686:

https://koji.fedoraproject.org/koji/taskinfo?taskID=124411955
Will probably exclude those architectures initially.

Comment 4 Fedora Review Service 2024-10-05 16:53:05 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8110344
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2315907-lmdbal/fedora-rawhide-x86_64/08110344-lmdbal/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.

Comment 6 Fedora Review Service 2024-10-06 12:22:11 UTC
Created attachment 2050708 [details]
The .spec file difference from Copr build 8110344 to 8111674

Comment 7 Fedora Review Service 2024-10-06 12:22:13 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8111674
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2315907-lmdbal/fedora-rawhide-x86_64/08111674-lmdbal/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.

Comment 8 Petr Pisar 2024-10-23 10:07:54 UTC
FIX: Fedora distributes source packages as well. The source package still contains the modified LICENSE.md file. You either needs to remove the file from the source tar ball, or package a git snapshot where the file is correct, or wait on upstream releasing a new version.

TODO: Summaries of lmdbal and lmdbal-devel are identical.
TODO: Your comment above the License tag "All code execpt" is missing a listing of the "GPL-3.0-only" files.

$ rpmlint lmdbal.spec ../SRPMS/lmdbal-0.5.4-1.fc42.src.rpm ../RPMS/x86_64/lmdbal-*
======================================== rpmlint session starts =======================================
rpmlint: 2.5.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: 6

== 5 packages and 1 specfiles checked; 0 errors, 0 warnings, 26 filtered, 0 badness; has taken 0.7 s ==
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/x86_64/lmdbal-0.5.4-1.fc42.x86_64.rpm 
drwxr-xr-x    2 root     root                        0 Oct  6 02:00 /usr/lib/.build-id
drwxr-xr-x    2 root     root                        0 Oct  6 02:00 /usr/lib/.build-id/2d
lrwxrwxrwx    1 root     root                       36 Oct  6 02:00 /usr/lib/.build-id/2d/480d64d91c5f8e7d542d225329f2377f6ce30c -> ../../../../usr/lib64/libLMDBAL.so.1
-rwxr-xr-x    1 root     root                    92200 Oct  6 02:00 /usr/lib64/libLMDBAL.so.1
drwxr-xr-x    2 root     root                        0 Oct  6 02:00 /usr/share/doc/lmdbal
-rw-r--r--    1 root     root                     1238 Feb  4  2024 /usr/share/doc/lmdbal/CHANGELOG.md
-rw-r--r--    1 root     root                     3544 Feb  4  2024 /usr/share/doc/lmdbal/README.md
drwxr-xr-x    2 root     root                        0 Oct  6 02:00 /usr/share/licenses/lmdbal
-rw-r--r--    1 root     root                    34894 Oct  6 02:00 /usr/share/licenses/lmdbal/LICENSE.md
$ rpm -q -lv -p ../RPMS/x86_64/lmdbal-devel-0.5.4-1.fc42.x86_64.rpm
drwxr-xr-x    2 root     root                        0 Oct  6 02:00 /usr/include/lmdbal
-rw-r--r--    1 root     root                     8258 Feb  4  2024 /usr/include/lmdbal/base.h
-rw-r--r--    1 root     root                     5838 Feb  4  2024 /usr/include/lmdbal/cache.h
-rw-r--r--    1 root     root                    31369 Feb  4  2024 /usr/include/lmdbal/cache.hpp
-rw-r--r--    1 root     root                     4425 Feb  4  2024 /usr/include/lmdbal/cursor.h
-rw-r--r--    1 root     root                    25106 Feb  4  2024 /usr/include/lmdbal/cursor.hpp
-rw-r--r--    1 root     root                     6955 Feb  4  2024 /usr/include/lmdbal/exceptions.h
-rw-r--r--    1 root     root                     4950 Feb  4  2024 /usr/include/lmdbal/operators.hpp
-rw-r--r--    1 root     root                     1821 Feb  4  2024 /usr/include/lmdbal/serializer.h
-rw-r--r--    1 root     root                     3832 Feb  4  2024 /usr/include/lmdbal/serializer.hpp
-rw-r--r--    1 root     root                     1560 Feb  4  2024 /usr/include/lmdbal/serializer_double.hpp
-rw-r--r--    1 root     root                     1551 Feb  4  2024 /usr/include/lmdbal/serializer_float.hpp
-rw-r--r--    1 root     root                     1581 Feb  4  2024 /usr/include/lmdbal/serializer_int16.hpp
-rw-r--r--    1 root     root                     1584 Feb  4  2024 /usr/include/lmdbal/serializer_int32.hpp
-rw-r--r--    1 root     root                     1584 Feb  4  2024 /usr/include/lmdbal/serializer_int64.hpp
-rw-r--r--    1 root     root                     1575 Feb  4  2024 /usr/include/lmdbal/serializer_int8.hpp
-rw-r--r--    1 root     root                     1660 Feb  4  2024 /usr/include/lmdbal/serializer_qbytearray.hpp
-rw-r--r--    1 root     root                     1757 Feb  4  2024 /usr/include/lmdbal/serializer_qstring.hpp
-rw-r--r--    1 root     root                     1654 Feb  4  2024 /usr/include/lmdbal/serializer_stdstring.hpp
-rw-r--r--    1 root     root                     1592 Feb  4  2024 /usr/include/lmdbal/serializer_uint16.hpp
-rw-r--r--    1 root     root                     1590 Feb  4  2024 /usr/include/lmdbal/serializer_uint32.hpp
-rw-r--r--    1 root     root                     1591 Feb  4  2024 /usr/include/lmdbal/serializer_uint64.hpp
-rw-r--r--    1 root     root                     1584 Feb  4  2024 /usr/include/lmdbal/serializer_uint8.hpp
-rw-r--r--    1 root     root                    10146 Feb  4  2024 /usr/include/lmdbal/storage.h
-rw-r--r--    1 root     root                    51427 Feb  4  2024 /usr/include/lmdbal/storage.hpp
-rw-r--r--    1 root     root                     1198 Feb  4  2024 /usr/include/lmdbal/transaction.h
drwxr-xr-x    2 root     root                        0 Oct  6 02:00 /usr/lib64/cmake/lmdbal
-rw-r--r--    1 root     root                     1334 Oct  6 02:00 /usr/lib64/cmake/lmdbal/lmdbalConfig.cmake
-rw-r--r--    1 root     root                     1861 Oct  6 02:00 /usr/lib64/cmake/lmdbal/lmdbalConfigVersion.cmake
-rw-r--r--    1 root     root                      836 Oct  6 02:00 /usr/lib64/cmake/lmdbal/lmdbalTargets-debug.cmake
-rw-r--r--    1 root     root                     4567 Oct  6 02:00 /usr/lib64/cmake/lmdbal/lmdbalTargets.cmake
lrwxrwxrwx    1 root     root                       14 Oct  6 02:00 /usr/lib64/libLMDBAL.so -> libLMDBAL.so.1
-rw-r--r--    1 root     root                     2451 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Base.3.gz
-rw-r--r--    1 root     root                     5727 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Cache.3.gz
-rw-r--r--    1 root     root                      727 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Closed.3.gz
-rw-r--r--    1 root     root                     2949 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Cursor.3.gz
-rw-r--r--    1 root     root                      595 Oct  6 02:00 /usr/share/man/man3/LMDBAL_CursorEmpty.3.gz
-rw-r--r--    1 root     root                      659 Oct  6 02:00 /usr/share/man/man3/LMDBAL_CursorNotReady.3.gz
-rw-r--r--    1 root     root                      613 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Directory.3.gz
-rw-r--r--    1 root     root                      593 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Exception.3.gz
-rw-r--r--    1 root     root                      655 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Exist.3.gz
-rw-r--r--    1 root     root                      649 Oct  6 02:00 /usr/share/man/man3/LMDBAL_NotFound.3.gz
-rw-r--r--    1 root     root                      564 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Opened.3.gz
-rw-r--r--    1 root     root                      933 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer.3.gz
-rw-r--r--    1 root     root                      329 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ QByteArray _.3.gz
-rw-r--r--    1 root     root                      326 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ QString _.3.gz
-rw-r--r--    1 root     root                      324 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ double _.3.gz
-rw-r--r--    1 root     root                      323 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ float _.3.gz
-rw-r--r--    1 root     root                      327 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ int16_t _.3.gz
-rw-r--r--    1 root     root                      326 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ int32_t _.3.gz
-rw-r--r--    1 root     root                      327 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ int64_t _.3.gz
-rw-r--r--    1 root     root                      325 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ int8_t _.3.gz
-rw-r--r--    1 root     root                      329 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ std_string _.3.gz
-rw-r--r--    1 root     root                      327 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ uint16_t _.3.gz
-rw-r--r--    1 root     root                      327 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ uint32_t _.3.gz
-rw-r--r--    1 root     root                      328 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ uint64_t _.3.gz
-rw-r--r--    1 root     root                      326 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Serializer_ uint8_t _.3.gz
-rw-r--r--    1 root     root                     6091 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Storage.3.gz
-rw-r--r--    1 root     root                      637 Oct  6 02:00 /usr/share/man/man3/LMDBAL_StorageDuplicate.3.gz
-rw-r--r--    1 root     root                      942 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Transaction.3.gz
-rw-r--r--    1 root     root                      678 Oct  6 02:00 /usr/share/man/man3/LMDBAL_TransactionTerminated.3.gz
-rw-r--r--    1 root     root                      732 Oct  6 02:00 /usr/share/man/man3/LMDBAL_Unknown.3.gz
-rw-r--r--    1 root     root                     1111 Oct  6 02:00 /usr/share/man/man3/LMDBAL_WriteTransaction.3.gz
-rw-r--r--    1 root     root                     3770 Oct  6 02:00 /usr/share/man/man3/LMDBAL_iStorage.3.gz
File layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/x86_64/lmdbal-devel-0.5.4-1.fc42.x86_64.rpm | sort -f | uniq -c
      1 cmake-filesystem(x86-64)
      1 libLMDBAL.so.1()(64bit)
      1 lmdb-devel
      1 lmdbal(x86-64) = 0.5.4-1.fc42
      1 qt5-qtbase-devel
      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: The dependencies on lmdb-devel and qt5-qtbase-devel need to match an architecture of lmdbal-devel. See <https://docs.fedoraproject.org/en-US/packaging-guidelines/#_architecture_specific_dependencies> how to do it.


Note You need to log in before you can comment on or make changes to this bug.