Bug 2254914

Summary: Review Request: perl-AnyEvent-Future - Use Future with AnyEvent
Product: [Fedora] Fedora Reporter: Chris Adams <linux>
Component: Package ReviewAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA 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   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-03-20 02:04:06 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:    
Bug Blocks: 2254933    

Description Chris Adams 2023-12-17 22:37:41 UTC
Spec URL: https://cmadams.fedorapeople.org/perl-AnyEvent-Future/perl-AnyEvent-Future.spec
SRPM URL: https://cmadams.fedorapeople.org/perl-AnyEvent-Future/perl-AnyEvent-Future-0.05-1.fc39.src.rpm
Description:
This subclass of Future integrates with AnyEvent, allowing the await method
to block until the future is ready. It allows AnyEvent-using code to be
written that returns Future instances, so that it can make full use of
Future's abilities, including Future::Utils, and also that modules using it
can provide a Future-based asynchronous interface of their own.

Fedora Account System Username: cmadams

Comment 3 Petr Pisar 2024-03-01 13:39:11 UTC
URL and Source0 addresses are Ok.
Source0 archive (SHA512: 9b34b43d2f1d701aeec080f09b27ece86f23dc98a282a959f1c09c432b02f9124e9916e43a840943e940a3d3b3c19c21a18208ee19c31de9ce989c25e34587d1) is original. Ok.
Summary verified from lib/AnyEvent/Future.pm. Ok.
Description verified from lib/AnyEvent/Future.pm. Ok.
License verified from: Build.PL, lib/AnyEvent/Future.pm, LICENSE. Ok.
No XS code, noarch BuildArch is Ok.

TODO: Build-require 'perl(:VERSION) >= 5.14' (Build.PL:10, t/99pod.t:3).

TODO: Consider removing t/99pod.t file in %prep section. A result of the tests depends on presence of Test::Pod module which is not specified among BuildRequires. That makes the test nondeterministic.

FIX: List packaged files more explicitly (i.e. no /* globs) <https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_lists>.

All tests pass. Ok.

$ rpmlint perl-AnyEvent-Future.spec ../SRPMS/perl-AnyEvent-Future-0.05-3.fc41.src.rpm ../RPMS/noarch/perl-AnyEvent-Future-0.05-3.fc41.noarch.rpm 
======================================== rpmlint session starts =======================================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/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: 32, packages: 3

perl-AnyEvent-Future.noarch: E: spelling-error ('Utils', '%description -l en_US Utils -> Tills')
perl-AnyEvent-Future.src: E: spelling-error ('Utils', '%description -l en_US Utils -> Tills')
=== 2 packages and 1 specfiles checked; 2 errors, 0 warnings, 6 filtered, 2 badness; has taken 0.3 s ==
rpmlint is Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-AnyEvent-Future-0.05-3.fc41.noarch.rpm
drwxr-xr-x    2 root     root                        0 Feb  1 01:00 /usr/share/doc/perl-AnyEvent-Future
-rw-r--r--    1 root     root                      866 Feb  3  2023 /usr/share/doc/perl-AnyEvent-Future/Changes
-rw-r--r--    1 root     root                     7339 Feb  3  2023 /usr/share/doc/perl-AnyEvent-Future/README
drwxr-xr-x    2 root     root                        0 Feb  3  2023 /usr/share/doc/perl-AnyEvent-Future/examples
-rw-r--r--    1 root     root                      621 Feb  3  2023 /usr/share/doc/perl-AnyEvent-Future/examples/http_get.pl
drwxr-xr-x    2 root     root                        0 Feb  1 01:00 /usr/share/licenses/perl-AnyEvent-Future
-rw-r--r--    1 root     root                    18413 Feb  3  2023 /usr/share/licenses/perl-AnyEvent-Future/LICENSE
-rw-r--r--    1 root     root                     3724 Feb  1 01:00 /usr/share/man/man3/AnyEvent::Future.3pm.gz
drwxr-xr-x    2 root     root                        0 Feb  1 01:00 /usr/share/perl5/vendor_perl/AnyEvent
-rw-r--r--    1 root     root                     8870 Feb  1 01:00 /usr/share/perl5/vendor_perl/AnyEvent/Future.pm
The file layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-AnyEvent-Future-0.05-3.fc41.noarch.rpm | sort -f | uniq -c
      1 perl(:VERSION) >= 5.14.0
      1 perl(AnyEvent)
      1 perl(base)
      1 perl(Exporter)
      1 perl(Future)
      1 perl(warnings)
      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
TODO: Add '>= 0.49' constraint to 'perl(Future)' run-time dependency (META.json:25).

$ rpm -q --provides -p ../RPMS/noarch/perl-AnyEvent-Future-0.05-3.fc41.noarch.rpm | sort -f | uniq -c
      1 perl(AnyEvent::Future) = 0.05
      1 perl-AnyEvent-Future = 0.05-3.fc41
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-AnyEvent-Future-0.05-3.fc41.noarch.rpm 
Binary dependencies are resolvable. Ok.

The package builds in Fedora Rawhide (https://koji.fedoraproject.org/koji/taskinfo?taskID=114286416). Ok.

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

Comment 5 Petr Pisar 2024-03-11 15:46:36 UTC
Changes in the spec file:

--- perl-AnyEvent-Future.spec.old       2024-02-01 01:00:00.000000000 +0100
+++ perl-AnyEvent-Future.spec   2024-03-08 01:00:00.000000000 +0100
@@ -1,18 +1,20 @@
 Name:           perl-AnyEvent-Future
 Version:        0.05
-Release:        3%{?dist}
+Release:        4%{?dist}
 Summary:        Use Future with AnyEvent
 License:        GPL-1.0-or-later OR Artistic-1.0-Perl
 URL:            https://metacpan.org/dist/AnyEvent-Future/
 Source0:        https://cpan.metacpan.org/authors/id/P/PE/PEVANS/AnyEvent-Future-%{version}.tar.gz
 BuildArch:      noarch
 BuildRequires:  perl-interpreter perl-generators coreutils
+BuildRequires:  perl(:VERSION) >= 5.14.0
 BuildRequires:  perl(AnyEvent)
 BuildRequires:  perl(Exporter)
 BuildRequires:  perl(Future) >= 0.49
 BuildRequires:  perl(Module::Build)
 BuildRequires:  perl(Test::More) >= 0.88
 BuildRequires:  perl(Test::Timer)
+BuildRequires:  perl(Test::Pod) >= 1.00
 BuildRequires:  perl(base)
 BuildRequires:  perl(strict)
 BuildRequires:  perl(warnings)
@@ -41,10 +43,13 @@
 %files
 %doc Changes examples README
 %license LICENSE
-%{perl_vendorlib}/*
-%{_mandir}/man3/*
+%{perl_vendorlib}/AnyEvent
+%{_mandir}/man3/AnyEvent::Future*
 
 %changelog
+* Fri Mar 08 2024 Chris Adams <linux> 0.05-4
+- additional spec file cleanups
+
 * Thu Feb 01 2024 Chris Adams <linux> 0.05-3
 - additional spec file cleanups
 
$ rpmlint perl-AnyEvent-Future.spec ../SRPMS/perl-AnyEvent-Future-0.05-4.fc41.src.rpm ../RPMS/noarch/perl-AnyEvent-Future-0.05-4.fc41.noarch.rpm 
======================================== rpmlint session starts =======================================
rpmlint: 2.5.0
configuration:
    /usr/lib/python3.12/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: 32, packages: 3

perl-AnyEvent-Future.noarch: E: spelling-error ('Utils', '%description -l en_US Utils -> Tills')
perl-AnyEvent-Future.src: E: spelling-error ('Utils', '%description -l en_US Utils -> Tills')
=== 2 packages and 1 specfiles checked; 2 errors, 0 warnings, 6 filtered, 2 badness; has taken 0.3 s ==
rpmlint is Ok.

The package builds in Fedora 41 (https://koji.fedoraproject.org/koji/taskinfo?taskID=114806890). Ok.
This package is APPROVED.

Comment 6 Fedora Admin user for bugzilla script actions 2024-03-11 16:24:49 UTC
The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-AnyEvent-Future

Comment 7 Fedora Update System 2024-03-11 17:15:20 UTC
FEDORA-2024-3f4941b682 (perl-AnyEvent-Future-0.05-4.fc39) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-3f4941b682

Comment 8 Fedora Update System 2024-03-11 17:15:43 UTC
FEDORA-2024-47ec293a77 (perl-AnyEvent-Future-0.05-4.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-47ec293a77

Comment 9 Fedora Update System 2024-03-12 02:19:05 UTC
FEDORA-2024-47ec293a77 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-47ec293a77 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-47ec293a77

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Fedora Update System 2024-03-12 03:01:58 UTC
FEDORA-2024-3f4941b682 has been pushed to the Fedora 39 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf install --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-3f4941b682 \*`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-3f4941b682

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 11 Fedora Update System 2024-03-20 02:04:06 UTC
FEDORA-2024-3f4941b682 (perl-AnyEvent-Future-0.05-4.fc39) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 12 Fedora Update System 2024-03-23 00:33:57 UTC
FEDORA-2024-47ec293a77 (perl-AnyEvent-Future-0.05-4.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.