https://bugzilla.redhat.com/show_bug.cgi?id=2217967
Bug ID: 2217967 Summary: Review Request: perl-Devel-StackTrace-Extract - Extract a stack trace from an exception object Product: Fedora Version: rawhide Hardware: All OS: Linux Status: NEW Component: Package Review Severity: medium Priority: medium Assignee: nobody@fedoraproject.org Reporter: xavier@bachelot.org QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org Target Milestone: --- Classification: Fedora
Spec URL: https://www.bachelot.org/fedora/SPECS/perl-Devel-StackTrace-Extract.spec SRPM URL: https://www.bachelot.org/fedora/SRPMS/perl-Devel-StackTrace-Extract-1.000000... Description: It's popular to store stack traces in objects that are thrown as exceptions, but, this being Perl, there's more than one way to do it. This module provides a simple interface to attempt to extract the stack trace from various well known exception classes that are on the CPAN. Fedora Account System Username: xavierb
https://bugzilla.redhat.com/show_bug.cgi?id=2217967
Xavier Bachelot xavier@bachelot.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |2217660
Referenced Bugs:
https://bugzilla.redhat.com/show_bug.cgi?id=2217660 [Bug 2217660] perl-Log-Any-1.716 is available
https://bugzilla.redhat.com/show_bug.cgi?id=2217967
Petr Pisar ppisar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Assignee|nobody@fedoraproject.org |ppisar@redhat.com Doc Type|--- |If docs needed, set a value Status|NEW |ASSIGNED Flags| |fedora-review? CC| |ppisar@redhat.com
https://bugzilla.redhat.com/show_bug.cgi?id=2217967
--- Comment #1 from Petr Pisar ppisar@redhat.com --- URL and Source0 address are Ok. TODO: Consider using https://cpan.metacpan.org/authors/id/M/MA/MAXMIND/Devel-StackTrace-Extract-1.000000.tar.gz for Source0. It's the canonical path listed on the home page. Source0 archive (SHA-512: 4e90aeafc410c69680b062206cf42010cd2f5182c54c9c830adf61058798cf9b7fb0e5c6fe47e08d3dc8750318600dc803a7d975bba764a4b29fb6ae0f924953) is original. Ok. Summary verified from lib/Devel/StackTrace/Extract.pm. Ok. Description verified from lib/Devel/StackTrace/Extract.pm. Ok. License verified from README.md, Makefile.PL, LICENSE, and lib/Devel/StackTrace/Extract.pm. Ok. No XS code, noarch BuildArch is Ok.
FIX: Replace 'perl >= 0:5.006' build-dependency with 'perl(VERSION) >= 5.6' to declare a minimal version of Perl language and with 'perl-interpreter' to declare a dependency on a perl executable. 'perl' itself is unnecessarily large as it includes all core modules, header files, C compiler etc. '>= 0:5.006' is wrong because the epoch number does not align with Fedora history.
TODO: Consider build-requiring all exception classes which t/extract.t exhibits and Fedora contains (e.g. Moose::Exception). Otherwise, that test tests nothing and is susceptible to random failures when any of the modules appears in a buildroot.
TODO: Consider replacing '%{__perl}' macro with a plain 'perl' command. There is no benefit in hiding it behind a macro.
TODO: Consider passing NOPACKLIST=1 and NOPERLLOCAL=1 arguments to Makefile.PL. Then you will have to build-require 'perl(ExtUtils::MakeMaker) >= 6.76', but you will be able to place "make pure_install..." with '%{make_install}' macro and remove both find commands. See https://fedoraproject.org/wiki/Perl/Tips#ExtUtils::MakeMaker.
TODO: Do not use top-level globs in %files section https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_lists.
All tests pass. Ok.
$ rpmlint perl-Devel-StackTrace-Extract.spec ../SRPMS/perl-Devel-StackTrace-Extract-1.000000-1.fc39.src.rpm ../RPMS/noarch/perl-Devel-StackTrace-Extract-1.000000-1.fc39.noarch.rpm ======================================== 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: 3
========= 2 packages and 1 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 0.2 s ======== rpmlint is Ok.
$ rpm -qlvp ../RPMS/noarch/perl-Devel-StackTrace-Extract-1.000000-1.fc39.noarch.rpm drwxr-xr-x 2 root root 0 Jun 27 02:00 /usr/share/doc/perl-Devel-StackTrace-Extract -rw-r--r-- 1 root root 90 Mar 30 2016 /usr/share/doc/perl-Devel-StackTrace-Extract/Changes -rw-r--r-- 1 root root 2987 Mar 30 2016 /usr/share/doc/perl-Devel-StackTrace-Extract/README.md drwxr-xr-x 2 root root 0 Jun 27 02:00 /usr/share/licenses/perl-Devel-StackTrace-Extract -rw-r--r-- 1 root root 18349 Mar 30 2016 /usr/share/licenses/perl-Devel-StackTrace-Extract/LICENSE -rw-r--r-- 1 root root 1989 Jun 27 02:00 /usr/share/man/man3/Devel::StackTrace::Extract.3pm.gz drwxr-xr-x 2 root root 0 Jun 27 02:00 /usr/share/perl5/vendor_perl/Devel drwxr-xr-x 2 root root 0 Jun 27 02:00 /usr/share/perl5/vendor_perl/Devel/StackTrace -rw-r--r-- 1 root root 5168 Mar 30 2016 /usr/share/perl5/vendor_perl/Devel/StackTrace/Extract.pm File permissions and layout are Ok.
$ rpm -q --requires -p ../RPMS/noarch/perl-Devel-StackTrace-Extract-1.000000-1.fc39.noarch.rpm | sort -f | uniq -c 1 perl(base) 1 perl(Devel::StackTrace) 1 perl(Devel::StackTrace::Frame) 1 perl(Exporter) 1 perl(Scalar::Util) 1 perl(strict) 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 Binary requires are Ok.
$ rpm -q --provides -p ../RPMS/noarch/perl-Devel-StackTrace-Extract-1.000000-1.fc39.noarch.rpm | sort -f | uniq -c 1 perl(Devel::StackTrace::Extract) = 1.000000 1 perl-Devel-StackTrace-Extract = 1.000000-1.fc39 Binary provides are Ok.
$ resolvedeps rawhide ../RPMS/noarch/perl-Devel-StackTrace-Extract-1.000000-1.fc39.noarch.rpm Binary dependencies are resolvable. Ok.
The package builds in Rawhide (https://koji.fedoraproject.org/koji/taskinfo?taskID=102700234). Ok.
Otherwise the package is in line with Fedora and Perl packaging guidelines.
Please correct the FIX item, consider fixing TODO items, and provide a new spec file.
https://bugzilla.redhat.com/show_bug.cgi?id=2217967
--- Comment #2 from Xavier Bachelot xavier@bachelot.org --- Thanks for the review Petr.
I believe I have addressed most of the points you raised. I'm unsure about the Source0 URL. I thought using a more stable URL than the one using the authors/ would be better ? Also I'm unsure about BR: perl(VERSION) >= 5.6, it doesn't resolve for me. I used BR: perl-interpreter instead.
Spec URL: https://www.bachelot.org/fedora/SPECS/perl-Devel-StackTrace-Extract.spec SRPM URL: https://www.bachelot.org/fedora/SRPMS/perl-Devel-StackTrace-Extract-1.000000...
https://bugzilla.redhat.com/show_bug.cgi?id=2217967
Petr Pisar ppisar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|fedora-review? |fedora-review+
--- Comment #3 from Petr Pisar ppisar@redhat.com --- Thanks for the update.
Your URL is more stable. That's right. However, I prefer the authors URL for two reasons: First, it matches an address the upstream advertises, hence it's more credible and easier to compare. Second, any PAUSE user can upload a release of the distribution to PAUSE. If the uploading users is not on a list of maintainers of all the contained modules, the release is marked as "unauthorized", yet it is (or was?) kept publicly available on CPAN. CPAN maybe got better at this, but I remember that it happened few times that an unauthorized release was reported down to Fedora. Then a failing Source0 requires the Fedora maintainer to go to CPAN to find out who is the new author and at that time he can notice that the release in unauthorized (there is a red label Unauthorized printed next to the release name). Maybe I'm only overly cautious.
The "perl(VERSION) >= 5.6" does not work because I made a typo. Correct one is "perl(:VERSION) >= 5.6".
======================================== 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: 3
========= 2 packages and 1 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 0.2 s ======== rpmlint is Ok.
The package builds in Rawhide (https://koji.fedoraproject.org/koji/taskinfo?taskID=102708290). Ok. This package is APPROVED.
https://bugzilla.redhat.com/show_bug.cgi?id=2217967
--- Comment #4 from Xavier Bachelot xavier@bachelot.org --- Ok, got it. I've switched to the canonical URL and added BR: perl(:VERSION) >= 5.6. Thanks again for the review.
Here's the updated spec and srpm, I'll file the repo request shortly.
Spec URL: https://www.bachelot.org/fedora/SPECS/perl-Devel-StackTrace-Extract.spec SRPM URL: https://www.bachelot.org/fedora/SRPMS/perl-Devel-StackTrace-Extract-1.000000...
https://bugzilla.redhat.com/show_bug.cgi?id=2217967
--- Comment #5 from Fedora Admin user for bugzilla script actions fedora-admin-xmlrpc@fedoraproject.org --- The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-Devel-StackTrace-Extract
https://bugzilla.redhat.com/show_bug.cgi?id=2217967
Xavier Bachelot xavier@bachelot.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |RAWHIDE Status|ASSIGNED |CLOSED Last Closed| |2023-07-03 15:24:07
package-review@lists.fedoraproject.org