Bug 2359607

Summary: Review Request: perl-Redis-Fast - Perl binding for Redis database
Product: [Fedora] Fedora Reporter: Xavier Bachelot <xavier>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: package-review, ppisar
Target Milestone: ---Flags: ppisar: fedora-review+
Target Release: ---   
Hardware: All   
OS: Linux   
URL: https://metacpan.org/dist/Redis-Fast
Whiteboard:
Fixed In Version: perl-Redis-Fast-0.37-4.fc44 Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2025-10-22 16:13:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 2359601    
Bug Blocks:    

Description Xavier Bachelot 2025-04-14 21:20:11 UTC
Spec URL: https://www.bachelot.org/fedora/SPECS/perl-Redis-Fast.spec
SRPM URL: https://www.bachelot.org/fedora/SRPMS/perl-Redis-Fast-0.37-1.fc43.src.rpm
Description:
Redis::Fast is a wrapper around Salvatore Sanfilippo's hiredis C client. It
is compatible with Redis.pm.
Fedora Account System Username: xavierb

Comment 1 Fedora Review Service 2025-04-14 21:22:04 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/8903625
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2359607-perl-redis-fast/fedora-rawhide-x86_64/08903625-perl-Redis-Fast/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
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 2025-10-15 11:21:48 UTC
URL and Source addresses are usable. Ok.
Source0 archive (SHA-512: b5a86e940b620838545ab336a6d8888ffd6d483203d715e7903d8d14a75bc126aba030dead3b16fb0ee35b37941dfc5f9569af0786114906d9062ea030255b9c) is original. Ok.
Summary verified from README.md. Ok.
Description verified from README.md. Ok.

Found licenses:
BSD-3-Clause: deps/hiredis/ssl.c
GPL-1.0-or-later OR Artistic-1.0-Perl: lib/Redis/Fast.pm

FIX: Declare the BSD-3-Clause license in the License tag and package deps/hiredis/COPYING with %license macro.
FIX: Provide 'bundled(hiredis) = 1.2.0'
Or unbundle ./deps/hiredis.

FIX: Build-require 'perl-devel' for building XS files.
FIX: Build-require 'perl(ExtUtils::CBuilder)' for Building XS files with Module::Build.
FIX: Build-require 'make' (builder/MyBuilder.pm:49).
FIX: Build-require 'grep' (deps/hiredis/Makefile:12).
FIX: Build-require 'gawk' (deps/hiredis/Makefile:12).
FIX: Build-require 'gcc' (deps/hiredis/Makefile:39).

TODO: Constrain 'perl(Module::Build::XSUtil)' with '>= 0.02' (META.json:34).
TODO: Move 'perl(File::Temp)' to Tests section (t/tlib/Test/SpawnRedisServer.pm:7).
TODO: Move 'perl(Parallel::ForkManager)' to Tests section (t/02-responses.t:11).

FIX: Remove 'perl(Module::Build)' build-dependency. It's not used directly.
FIX: Build-require 'perl(POSIX)' (t/11-timeout.t:11).
FIX: Build-require 'findutils' (perl-Redis-Fast.spec:71).

All tests pass. Ok.

TODO: Unset USE_SSL, REDIS_SERVER, REDIS_SERVER_PATH, REDIS_DEBUG, TEST_REDIS_SERVER_SOCK_PATH environment variables ib %check section to make the tests more deterministic.

$ rpmlint perl-Redis-Fast.spec ../SRPMS/perl-Redis-Fast-0.37-1.fc44.src.rpm ../RPMS/x86_64/perl-Redis-Fast-*
======================================== rpmlint session starts =======================================
rpmlint: 2.7.0
configuration:
    /usr/lib/python3.14/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: 5

perl-Redis-Fast.x86_64: E: spelling-error ('hiredis', '%description -l en_US hiredis -> hire dis, hire-dis, hired is')
perl-Redis-Fast.src: E: spelling-error ('hiredis', '%description -l en_US hiredis -> hire dis, hire-dis, hired is')
perl-Redis-Fast.x86_64: E: incorrect-fsf-address /usr/share/licenses/perl-Redis-Fast/LICENSE
== 4 packages and 1 specfiles checked; 3 errors, 0 warnings, 13 filtered, 3 badness; has taken 0.7 s ==
rpmlint is Ok.

FIX: The package does not build in Fedora Rawhide (https://koji.fedoraproject.org/koji/taskinfo?taskID=138166916). It fails on i686:
nothing provides valkey = 8.1.4-2.fc44 needed by valkey-compat-redis-8.1.4-2.fc44.noarch

$ rpm -q -lv -p ../RPMS/x86_64/perl-Redis-Fast-0.37-1.fc44.x86_64.rpm
drwxr-xr-x    2 root     root                        0 Apr 14  2025 /usr/lib/.build-id
drwxr-xr-x    2 root     root                        0 Apr 14  2025 /usr/lib/.build-id/7c
lrwxrwxrwx    1 root     root                       63 Apr 14  2025 /usr/lib/.build-id/7c/8ad16d10acafe81cd35e2fca92ea1cc34a1637 -> ../../../../usr/lib64/perl5/vendor_perl/auto/Redis/Fast/Fast.so
drwxr-xr-x    2 root     root                        0 Apr 14  2025 /usr/lib64/perl5/vendor_perl/Redis
drwxr-xr-x    2 root     root                        0 Apr 14  2025 /usr/lib64/perl5/vendor_perl/Redis/Fast
-rw-r--r--    1 root     root                    23097 Apr 14  2025 /usr/lib64/perl5/vendor_perl/Redis/Fast.pm
-rw-r--r--    1 root     root                     2129 Apr 14  2025 /usr/lib64/perl5/vendor_perl/Redis/Fast/Hash.pm
-rw-r--r--    1 root     root                     1900 Apr 14  2025 /usr/lib64/perl5/vendor_perl/Redis/Fast/List.pm
-rw-r--r--    1 root     root                     1809 Apr 14  2025 /usr/lib64/perl5/vendor_perl/Redis/Fast/Sentinel.pm
drwxr-xr-x    2 root     root                        0 Apr 14  2025 /usr/lib64/perl5/vendor_perl/auto/Redis
drwxr-xr-x    2 root     root                        0 Apr 14  2025 /usr/lib64/perl5/vendor_perl/auto/Redis/Fast
-rwxr-xr-x    1 root     root                   144936 Apr 14  2025 /usr/lib64/perl5/vendor_perl/auto/Redis/Fast/Fast.so
drwxr-xr-x    2 root     root                        0 Apr 14  2025 /usr/share/doc/perl-Redis-Fast
-rw-r--r--    1 root     root                     4594 Mar  8  2024 /usr/share/doc/perl-Redis-Fast/Changes
-rw-r--r--    1 root     root                     8589 Mar  8  2024 /usr/share/doc/perl-Redis-Fast/README.md
drwxr-xr-x    2 root     root                        0 Apr 14  2025 /usr/share/licenses/perl-Redis-Fast
-rw-r--r--    1 root     root                    18421 Mar  8  2024 /usr/share/licenses/perl-Redis-Fast/LICENSE
-rw-r--r--    1 root     root                     4062 Apr 14  2025 /usr/share/man/man3/Redis::Fast.3pm.gz
-rw-r--r--    1 root     root                     1242 Apr 14  2025 /usr/share/man/man3/Redis::Fast::Hash.3pm.gz
-rw-r--r--    1 root     root                     1095 Apr 14  2025 /usr/share/man/man3/Redis::Fast::List.3pm.gz
-rw-r--r--    1 root     root                     1430 Apr 14  2025 /usr/share/man/man3/Redis::Fast::Sentinel.3pm.gz
FIX: Package deps/hiredis/COPYING with %license macro.

$ rpm -q --requires -p ../RPMS/x86_64/perl-Redis-Fast-0.37-1.fc44.x86_64.rpm | sort -g | uniq -c
      1 libcrypto.so.3()(64bit)
      1 libcrypto.so.3(OPENSSL_3.0.0)(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.3)(64bit)
      1 libc.so.6(GLIBC_2.4)(64bit)
      1 libc.so.6(GLIBC_ABI_DT_RELR)(64bit)
      1 libc.so.6(GLIBC_ABI_GNU2_TLS)(64bit)
      1 libssl.so.3()(64bit)
      1 libssl.so.3(OPENSSL_3.0.0)(64bit)
      1 perl(base)
      1 perl(Carp)
      1 perl(constant)
      1 perl(Encode)
      1 perl-libs
      1 perl(:MODULE_COMPAT_5.42.0)
      1 perl(Redis::Fast)
      1 perl(Redis::Fast::Sentinel)
      1 perl(Scalar::Util)
      1 perl(strict)
      1 perl(Tie::Array)
      1 perl(Tie::Hash)
      1 perl(Try::Tiny)
      1 perl(warnings)
      1 perl(XSLoader)
      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)
Run-time 'perl(IO::Socket::SSL)' dependency is optional. Ok.
Binary requires are Ok.

$ rpm -q --provides -p ../RPMS/x86_64/perl-Redis-Fast-0.37-1.fc44.x86_64.rpm | sort -g | uniq -c
      1 perl(Redis::Fast) = 0.37
      1 perl-Redis-Fast = 0.37-1.fc44
      1 perl(Redis::Fast::Hash)
      1 perl(Redis::Fast::List)
      1 perl(Redis::Fast::Sentinel)
      1 perl-Redis-Fast(x86-64) = 0.37-1.fc44
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/x86_64/perl-Redis-Fast-0.37-1.fc44.x86_64.rpm 
Binary dependencies are resolvable. Ok.

Otherwise, the package is in line with Fedora and Perl packaging guidelines.
Please correct the FIX items, consider fixing TODO items, and provide an updated spec file.

Comment 3 Xavier Bachelot 2025-10-15 13:29:41 UTC
Thanks for the review Petr !

hiredis is now unbundled and all the suggested fixes but the envar unsetting in %check has been applied.
I will look at that last one next.

Spec URL: https://www.bachelot.org/fedora/SPECS/perl-Redis-Fast.spec
SRPM URL: https://www.bachelot.org/fedora/SRPMS/perl-Redis-Fast-0.37-1.fc43.src.rpm

Comment 4 Fedora Review Service 2025-10-15 13:39:26 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9691170
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2359607-perl-redis-fast/fedora-rawhide-x86_64/09691170-perl-Redis-Fast/fedora-review/review.txt

Found issues:

- No gcc, gcc-c++ or clang found in BuildRequires
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/

Please know that there can be false-positives.

---
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 5 Xavier Bachelot 2025-10-15 13:53:38 UTC
Added BR: gcc

[fedora-review-service-build]

Comment 6 Fedora Review Service 2025-10-15 14:02:16 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9691208
(succeeded)

Review template:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2359607-perl-redis-fast/fedora-rawhide-x86_64/09691208-perl-Redis-Fast/fedora-review/review.txt

Found issues:

- No gcc, gcc-c++ or clang found in BuildRequires
  Read more: https://docs.fedoraproject.org/en-US/packaging-guidelines/C_and_C++/

Please know that there can be false-positives.

---
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 Fedora Review Service 2025-10-15 20:02:26 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9692345
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2359607-perl-redis-fast/srpm-builds/09692345/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
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 9 Xavier Bachelot 2025-10-15 20:06:39 UTC
[fedora-review-service-build]

Comment 10 Fedora Review Service 2025-10-15 20:07:00 UTC
Copr build:
https://copr.fedorainfracloud.org/coprs/build/9692374
(failed)

Build log:
https://download.copr.fedorainfracloud.org/results/@fedora-review/fedora-review-2359607-perl-redis-fast/srpm-builds/09692374/builder-live.log.gz

Please make sure the package builds successfully at least for Fedora Rawhide.

- If the build failed for unrelated reasons (e.g. temporary network
  unavailability), please ignore it.
- If the build failed because of missing BuildRequires, please make sure they
  are listed in the "Depends On" field


---
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 11 Petr Pisar 2025-10-16 07:48:27 UTC
The <https://www.bachelot.org/fedora/SRPMS/perl-Redis-Fast-0.37-3.fc43.src.rpm> URL returns an HTML page. Did you forget to upload that file?

Comment 12 Xavier Bachelot 2025-10-16 07:56:45 UTC
Typo in the srpm url, sorry about that...

Spec URL: https://www.bachelot.org/fedora/SPECS/perl-Redis-Fast.spec
SRPM URL: https://www.bachelot.org/fedora/SRPMS/perl-Redis-Fast-0.37-3.fc44.src.rpm

Comment 13 Petr Pisar 2025-10-16 08:32:01 UTC
FIX: Remove the dependency on make. After unbundling hiredis, it is not used.
FIX: Remove the dependency on gcc. After unbundling hiredis, it is not directly used.
FIX: Remove the dependency on stunnel. It is not used if USE_SSL environment variable is not set, which is the default.

All tests pass. Ok.

$ rpmlint perl-Redis-Fast.spec ../SRPMS/perl-Redis-Fast-0.37-3.fc44.src.rpm ../RPMS/x86_64/perl-Redis-Fast-0.37-3.fc44.x86_64.rpm 
======================================== rpmlint session starts =======================================
rpmlint: 2.7.0
configuration:
    /usr/lib/python3.14/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: 3

perl-Redis-Fast.x86_64: E: spelling-error ('hiredis', '%description -l en_US hiredis -> hire dis, hire-dis, hired is')
perl-Redis-Fast.src: E: spelling-error ('hiredis', '%description -l en_US hiredis -> hire dis, hire-dis, hired is')
perl-Redis-Fast.spec:109: W: macro-in-%changelog %{ix86}
perl-Redis-Fast.spec:109: W: macro-in-%changelog %{ix86}
perl-Redis-Fast.x86_64: E: incorrect-fsf-address /usr/share/licenses/perl-Redis-Fast/LICENSE
=== 2 packages and 1 specfiles checked; 3 errors, 2 warnings, 6 filtered, 3 badness; has taken 0.5 s ==

TODO: Escape the per-cent character in the changelog (perl-Redis-Fast.spec:109).

$ rpm -q --requires -p ../RPMS/x86_64/perl-Redis-Fast-0.37-3.fc44.x86_64.rpm | sort -f | uniq -c
      1 libc.so.6()(64bit)
      1 libc.so.6(GLIBC_2.2.5)(64bit)
      1 libc.so.6(GLIBC_2.3)(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 libc.so.6(GLIBC_ABI_GNU2_TLS)(64bit)
      1 libhiredis.so.1.1.0()(64bit)
      1 libhiredis_ssl.so.1.1.0()(64bit)
      1 perl(:MODULE_COMPAT_5.42.0)
      1 perl(base)
      1 perl(Carp)
      1 perl(constant)
      1 perl(Encode)
      1 perl(Redis::Fast)
      1 perl(Redis::Fast::Sentinel)
      1 perl(Scalar::Util)
      1 perl(strict)
      1 perl(Tie::Array)
      1 perl(Tie::Hash)
      1 perl(Try::Tiny)
      1 perl(warnings)
      1 perl(XSLoader)
      1 perl-libs
      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)
Binary requires are Ok.

$ resolvedeps rawhide ../RPMS/x86_64/perl-Redis-Fast-0.37-3.fc44.x86_64.rpm | sort -f | uniq -c
      1 Binary dependencies are resolvable. Ok.

The package builds in Fedora 44 <https://koji.fedoraproject.org/koji/taskinfo?taskID=138192672>. Ok.

Please correct the FIX items before building this package.
Package is APPROVED.

Comment 14 Fedora Admin user for bugzilla script actions 2025-10-17 08:15:43 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-Redis-Fast

Comment 15 Xavier Bachelot 2025-10-17 08:41:31 UTC
Thanks for the review Petr !