[Bug 2145272] Review Request: perl-Carmel - CPAN Artifact Repository Manager

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

 



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



--- Comment #3 from Petr Pisar <ppisar@xxxxxxxxxx> ---
Thanks for the source package.

TODO: URL tag value redirects to <https://metacpan.org/dist/Carmel>. Please use
that. First its the canonical path for CPAN distributions, second it's secured.
Source0 address is Ok.

Source0 archive (SHA-512:
a1e6ee2d313c9775891f0b4838c3fcbf356c2ff1aaec52a08208eeff0671a64facd780783f4d6c799ecfbcf0a689e671c5360a2a59c3eb0704d3ad7b8c52104d)
is original. Ok.
Summary verified from lib/Carmel.pm. Ok.

FIX: Wrap a description text to 80 columns
<https://docs.fedoraproject.org/en-US/packaging-guidelines/#_summary_and_description>.

License verified in Makefile.PL, lib/Carmel.pm, README, and LICENSE.
FIX: Correct the License value to 'GPL-1.0-or-later OR Artistic-1.0-Perl'. It
seems you forgot the '-Perl' suffix.

No XS code, noarch BuildArch is Ok.

FIX: Versions of Perl module dependencies are listed in Fedora without the
initial "v". A dependency like that would not be match. Compare to "dnf -q
repoquery --provides perl-Carton | grep 'perl(Carton)'". Please remove the
letter from 'perl(Carton) >= v1.0.35' build-dependency.

TODO: Build-require a minimal perl version with 'perl(:VERSION) >= 5.14'
(Makefile.PL:5).

FIX: Build-require 'perl(strict)' (Makefile.PL:2).
FIX: Build-require 'perl(warnings)' (Makefile.PL:3).
FIX: Build-require 'perl(Config)' (lib/Carmel/App.pm:13).
FIX: Build-require 'perl(CPAN::Meta)' (lib/Carmel/Artifact.pm).
FIX: Build-require 'perl(Exporter)' (lib/Carmel/ProgressBar.pm:8).
FIX: Build-require 'perl(Getopt::Long)' (lib/Carmel/App.pm:15).
FIX: Build-require 'perl(parent) (lib/Carmel/ProgressBar.pm:8).
FIX: Build-require 'perl(Pod::Usage)' (lib/Carmel/App.pm:19).
FIX: Build-require 'perl(POSIX)' (lib/Carmel/ProgressBar.pm:6).
FIX: Build-require 'perl(version)' (lib/Carmel.pm:4).

TODO: I cannot see where perl(CPAN::Common::Index) and
perl(CPAN::Meta::Prereqs) are used in the code. They are only listed in
metadata. Do not build-require them and raise a question about its purpose at
upstream.

FIX: Remove an explicit run-time dependency on "perl(:MODULE_COMPAT_...)". It's
now automatically generated when needed with perl-generators.

FIX: Explicitly name packaged files in %{_mandir}/man* and %{perl_vendorlib}
directories
<https://docs.fedoraproject.org/en-US/packaging-guidelines/#_explicit_lists>.

TODO: I believe that %autochangelog only works reliablt with %autorelease in
Release. Please either use both, or none.


All tests pass. Ok.

$ rpmlint perl-Carmel.spec ../SRPMS/perl-Carmel-0.1.56-1.fc38.src.rpm
../RPMS/noarch/perl-Carmel-0.1.56-1.fc38.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

perl-Carmel.noarch: W: invalid-license Artistic-1.0
perl-Carmel.src: W: invalid-license Artistic-1.0
perl-Carmel.noarch: E: description-line-too-long Unlike traditional CPAN module
installer, Carmel keeps the build of your dependencies in a central repository,
then select the library paths to include upon runtime in development.
perl-Carmel.noarch: E: description-line-too-long Carmel also allows you to
rollout all the files in a traditional perl INC directory structure, which is
useful to use in a production environment, such as containers.
perl-Carmel.src: E: description-line-too-long Unlike traditional CPAN module
installer, Carmel keeps the build of your dependencies in a central repository,
then select the library paths to include upon runtime in development.
perl-Carmel.src: E: description-line-too-long Carmel also allows you to rollout
all the files in a traditional perl INC directory structure, which is useful to
use in a production environment, such as containers.
========= 2 packages and 1 specfiles checked; 4 errors, 2 warnings, 4 badness;
has taken 0.2 s ========
FIX: The license value and the description width.


$ rpm -q -lv -p ../RPMS/noarch/perl-Carmel-0.1.56-1.fc38.noarch.rpm 
-rwxr-xr-x    1 root     root                     1470 Feb  7 01:00
/usr/bin/carmel
drwxr-xr-x    2 root     root                        0 Feb  7 01:00
/usr/share/doc/perl-Carmel
-rw-r--r--    1 root     root                    10483 May 11  2022
/usr/share/doc/perl-Carmel/Changes
-rw-r--r--    1 root     root                    13668 May 11  2022
/usr/share/doc/perl-Carmel/README
drwxr-xr-x    2 root     root                        0 Feb  7 01:00
/usr/share/licenses/perl-Carmel
-rw-r--r--    1 root     root                    18437 May 11  2022
/usr/share/licenses/perl-Carmel/LICENSE
-rw-r--r--    1 root     root                     1349 Feb  7 01:00
/usr/share/man/man1/carmel.1.gz
-rw-r--r--    1 root     root                     5870 Feb  7 01:00
/usr/share/man/man3/Carmel.3pm.gz
-rw-r--r--    1 root     root                     1106 Feb  7 01:00
/usr/share/man/man3/Carmel::Preload.3pm.gz
-rw-r--r--    1 root     root                     1227 Feb  7 01:00
/usr/share/man/man3/Carmel::Setup.3pm.gz
drwxr-xr-x    2 root     root                        0 Feb  7 01:00
/usr/share/perl5/vendor_perl/Carmel
-rw-r--r--    1 root     root                    13135 May 11  2022
/usr/share/perl5/vendor_perl/Carmel.pm
-rw-r--r--    1 root     root                    18184 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/App.pm
-rw-r--r--    1 root     root                     2905 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/Artifact.pm
-rw-r--r--    1 root     root                     4009 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/Builder.pm
-rw-r--r--    1 root     root                      647 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/CPANfile.pm
-rw-r--r--    1 root     root                     3285 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/Difftool.pm
-rw-r--r--    1 root     root                     1237 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/Preload.pm
-rw-r--r--    1 root     root                     1171 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/ProgressBar.pm
-rw-r--r--    1 root     root                     2701 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/Repository.pm
-rw-r--r--    1 root     root                     3943 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/Resolver.pm
-rw-r--r--    1 root     root                     1338 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/Runner.pm
-rw-r--r--    1 root     root                     1320 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/Runtime.pm
-rw-r--r--    1 root     root                     1784 May 11  2022
/usr/share/perl5/vendor_perl/Carmel/Setup.pm
File layout and permissions are Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-Carmel-0.1.56-1.fc38.noarch.rpm |
sort -f | uniq -c
      1 /usr/bin/perl
      1 perl(:MODULE_COMPAT_5.36.0)
      1 perl(:VERSION) >= 5.12.0
      1 perl(Capture::Tiny)
      1 perl(Carmel)
      1 perl(Carmel::App)
      1 perl(Carmel::Artifact)
      1 perl(Carmel::Builder)
      1 perl(Carmel::CPANfile)
      1 perl(Carmel::ProgressBar)
      1 perl(Carmel::Repository)
      1 perl(Carmel::Resolver)
      1 perl(Carmel::Runner)
      1 perl(Carp)
      1 perl(Carton::Snapshot)
      1 perl(Class::Tiny)
      1 perl(Config)
      1 perl(constant)
      1 perl(CPAN::DistnameInfo)
      1 perl(CPAN::Meta)
      1 perl(CPAN::Meta::Requirements)
      1 perl(DirHandle)
      1 perl(Exporter)
      1 perl(File::Copy::Recursive)
      1 perl(File::pushd)
      1 perl(Getopt::Long)
      1 perl(JSON)
      1 perl(Module::CoreList)
      1 perl(Module::CPANfile)
      1 perl(Module::Metadata)
      1 perl(Module::Runtime)
      1 perl(parent)
      1 perl(Path::Tiny)
      1 perl(Pod::Usage)
      1 perl(POSIX)
      1 perl(strict)
      1 perl(Try::Tiny)
      1 perl(version)
      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
FIX: Run-require 'perl(Carton::Dist)' (lib/Carmel/App.pm:356).
FIX: Run-require 'perl(Carton::Index)' (lib/Carmel/App.pm:618).
FIX: Run-require 'perl(Carton::Package)' (lib/Carmel/App.pm:619).
FIX: Run-require 'perl(Data::Dumper)' (lib/Carmel/App.pm:328).
FIX: Run-require 'perl(ExtUtils::Install) >= 1.47' (lib/Carmel/Builder.pm:126).
FIX: Run-require 'perl(ExtUtils::InstallPaths)' (lib/Carmel/Builder.pm:127).
FIX: Run-require 'perl(IO::Compress::Gzip)' (lib/Carmel/App.pm:598).
FIX: Run-require 'perl(lib)' (lib/Carmel/Setup.pm:40).
FIX: Run-require 'perl(Menlo::CLI::Compat) >= 1.9018'
(lib/Carmel/Builder.pm:55).

Text::Diff is optional. OK.

FIX: Run-require 'perl(Carton) >= 1.0.35'. This minimal version is listed in
the metadata and all really used Carton::* modules where the version should go
are not versioned.
FIX: Constrain 'perl(Class::Tiny)' run-time dependency with '>= 1.001'
(Makefile.PL:28).
FIX: Constrain 'perl(File::pushd)' run-time dependency with '>= 1.009'
(Makefile.PL:32).
FIX: Constrain 'perl(Module::CPANfile)' run-time dependency with '>= 1.1000'
(Makefile.PL:35).
FIX: Constrain 'perl(Module::Metadata)' run-time dependency with '>= 1.000003'
(Makefile.PL:37).
FIX: Constrain 'perl(Module::Runtime)' run-time dependency with '>= 0.014'
(Makefile.PL:38).
FIX: Constrain 'perl(Path::Tiny)' run-time dependency with '>= 0.068'
(Makefile.PL:39).
FIX: Constrain 'perl(Try::Tiny)' run-time dependency with '>= 0.20'
(Makefile.PL:40).

$ rpm -q --provides -p ../RPMS/noarch/perl-Carmel-0.1.56-1.fc38.noarch.rpm |
sort -f | uniq -c
      1 perl(Carmel) = 0.1.56
      1 perl(Carmel::App)
      1 perl(Carmel::Artifact)
      1 perl(Carmel::Builder)
      1 perl(Carmel::CPANfile)
      1 perl(Carmel::Difftool)
      1 perl(Carmel::Preload)
      1 perl(Carmel::ProgressBar)
      1 perl(Carmel::Repository)
      1 perl(Carmel::Resolver)
      1 perl(Carmel::Runner)
      1 perl(Carmel::Runtime)
      1 perl(Carmel::Runtime::FastINC)
      1 perl(Carmel::Runtime::SiteINC)
      1 perl(Carmel::Setup)
      1 perl-Carmel = 0.1.56-1.fc38
Binary provides are Ok.

$ resolvedeps rawhide ../RPMS/noarch/perl-Carmel-0.1.56-1.fc38.noarch.rpm 
Binary dependencies are resolvable. Ok.

The package builds in F38
(https://koji.fedoraproject.org/koji/taskinfo?taskID=97225485). Ok.

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


-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are always notified about changes to this product and component
https://bugzilla.redhat.com/show_bug.cgi?id=2145272
_______________________________________________
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