https://bugzilla.redhat.com/show_bug.cgi?id=2097677
Bug ID: 2097677 Summary: Review Request: perl-MikroTik-API - Client to MikroTik RouterOS API Product: Fedora Version: rawhide Hardware: All OS: Linux Status: NEW Component: Package Review Severity: medium Priority: medium Assignee: nobody@fedoraproject.org Reporter: yaneti@declera.com QA Contact: extras-qa@fedoraproject.org CC: package-review@lists.fedoraproject.org Target Milestone: --- Classification: Fedora
Spec URL: http://declera.com/~yaneti/perl-MikroTik-API/perl-MikroTik-API.spec SRPM URL: http://declera.com/~yaneti/perl-MikroTik-API/perl-MikroTik-API-2.0.1-1.fc37....
Description: Client to MikroTik RouterOS API Fedora Account System Username: yaneti
https://bugzilla.redhat.com/show_bug.cgi?id=2097677
Petr Pisar ppisar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED CC| |ppisar@redhat.com Flags| |fedora-review? Doc Type|--- |If docs needed, set a value Assignee|nobody@fedoraproject.org |ppisar@redhat.com
https://bugzilla.redhat.com/show_bug.cgi?id=2097677
--- Comment #1 from Petr Pisar ppisar@redhat.com --- URL and Source0 addresses are Ok. Source0 archive (SHA-512: 4357bdc590e2db5e65808d3289b000cd376a7b56a1fe22bb9f2d839e3321fb79edab1d0cadf0a2cebdd2b00a1348b1bfc1486f2734ceee920134c42158c31838) is original. Ok. Summary verified from lib/MikroTik/API.pm. Ok. FIX: Description needs to be a sentence. Also yout text is identical to Summary. Please make it an English sentence with a full stop at the end.
License verified from lib/MikroTik/API.pm, README, and Makefile.PL. Ok. No XS code, noarch BuildArch is Ok.
FIX: Build-require 'make' (perl-MikroTik-API.spec:46). FIX: Build-require 'findutils' (perl-MikroTik-API.spec:50). FIX: Build-require 'coreutils' (perl-MikroTik-API.spec:50).
FIX: Do not build-require 'perl(ExtUtils::MakeMaker)'. It's nowhere used. FIX: Do not build-require 'perl(Module::Install)'. It's nowhere used.
TODO: Build-require 'perl(:VERSION) >= 5.6' (Makefile.PL:1).
FIX: Build-require 'perl(inc::Module::Install)' (Makefile.PL:4). FIX: Build-require 'perl(strict)' (Makefile.PL:2). FIX: Build-require 'perl(warnings)' (Makefile.PL:3).
TODO: Use plain 'perl' instead of macro '%{__perl}'. TODO: Use '%make_build' instead of 'make %{?_smp_mflags}'. TODO: Use '%make_install' etc. as shown in https://fedoraproject.org/wiki/Perl/Tips#ExtUtils::MakeMaker. That will enable you to get rid of the find command, use a packaging style which is recommended by packaging guidelines, and make your package alike to other ones.
TODO: Either build-require modules for optional tests (Test::Pod etc.) or delete the optional tests (t/pod.t etc.). The current packaging makes the test results dependent on a content of the build root.
All tests pass. Ok.
$ rpmlint perl-MikroTik-API.spec ../SRPMS/perl-MikroTik-API-2.0.1-1.fc37.src.rpm ../RPMS/noarch/perl-MikroTik-API-2.0.1-1.fc37.noarch.rpm ======================================== rpmlint session starts ======================================= rpmlint: 2.2.0 configuration: /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/licenses.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml checks: 32, packages: 3
========= 2 packages and 1 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 0.3 s ======== rpmlint is Ok.
$ rpm -q -lv -p ../RPMS/noarch/perl-MikroTik-API-2.0.1-1.fc37.noarch.rpm drwxr-xr-x 2 root root 0 Jun 30 14:58 /usr/share/doc/perl-MikroTik-API -rw-r--r-- 1 root root 1565 Sep 26 2019 /usr/share/doc/perl-MikroTik-API/Changes -rw-r--r-- 1 root root 2447 Dec 10 2015 /usr/share/doc/perl-MikroTik-API/README -rw-r--r-- 1 root root 5538 Jun 30 14:58 /usr/share/man/man3/MikroTik::API.3pm.gz drwxr-xr-x 2 root root 0 Jun 30 14:58 /usr/share/perl5/vendor_perl/MikroTik -rw-r--r-- 1 root root 25199 Sep 26 2019 /usr/share/perl5/vendor_perl/MikroTik/API.pm File layout and permissions are Ok.
$ rpm -q --requires -p ../RPMS/noarch/perl-MikroTik-API-2.0.1-1.fc37.noarch.rpm | sort -f | uniq -c 1 perl(:MODULE_COMPAT_5.36.0) 1 perl(:VERSION) >= 5.6.0 2 perl(Carp) 2 perl(Digest::MD5) 2 perl(IO::Socket::IP) 2 perl(IO::Socket::SSL) 2 perl(Moo) 2 perl(MooX::Types::MooseLike::Base) 2 perl(namespace::autoclean) 1 perl(strict) 2 perl(Time::Out) 2 perl(Try::Tiny) 2 perl(Type::Tiny) 1 perl(warnings) 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: Do not explicitly require modules which are detected by perl-generators. I.e. all the Requires: lines except of the one for perl(:MODULE_COMPAT_...
$ rpm -q --provides -p ../RPMS/noarch/perl-MikroTik-API-2.0.1-1.fc37.noarch.rpm | sort -f | uniq -c 1 perl(MikroTik::API) = 2.0.1 1 perl-MikroTik-API = 2.0.1-1.fc37 Binary provides are Ok.
$ resolvedeps rawhide ../RPMS/noarch/perl-MikroTik-API-2.0.1-1.fc37.noarch.rpm Binary dependencies are resolvable. Ok.
The package builds in F37 (https://koji.fedoraproject.org/koji/taskinfo?taskID=88918960). Ok.
Otherwise the package is in line with Fedora and Perl packaging guidelines. Please correct the 'FIX' items, consider fixing 'TODO' items, and provide a new spec file. Resolution: Package NOT approved.
https://bugzilla.redhat.com/show_bug.cgi?id=2097677
--- Comment #2 from Yanko Kaneti yaneti@declera.com --- Thanks for the review and sorry, blissfully forgotten everything that I once knew about perl packaging. Updated spec in the same location.
Spec URL: http://declera.com/~yaneti/perl-MikroTik-API/perl-MikroTik-API.spec SRPM URL: http://declera.com/~yaneti/perl-MikroTik-API/perl-MikroTik-API-2.0.1-1.fc37....
https://bugzilla.redhat.com/show_bug.cgi?id=2097677
--- Comment #3 from Yanko Kaneti yaneti@declera.com --- Emmm ... -2
Spec URL: http://declera.com/~yaneti/perl-MikroTik-API/perl-MikroTik-API.spec SRPM URL: http://declera.com/~yaneti/perl-MikroTik-API/perl-MikroTik-API-2.0.1-2.fc37....
https://bugzilla.redhat.com/show_bug.cgi?id=2097677
Petr Pisar ppisar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Flags|fedora-review? |fedora-review+ |requires_doc_text? |
--- Comment #4 from Petr Pisar ppisar@redhat.com --- Changes in the spec file:
--- perl-MikroTik-API.spec.old 2022-06-16 11:44:21.000000000 +0200 +++ perl-MikroTik-API.spec 2022-06-30 15:42:18.000000000 +0200 @@ -1,54 +1,50 @@ Name: perl-MikroTik-API Version: 2.0.1 -Release: 1%{?dist} -Summary: Client to MikroTik RouterOS API +Release: 2%{?dist} +Summary: Client for the MikroTik RouterOS API License: MIT URL: https://metacpan.org/dist/MikroTik-API Source0: https://cpan.metacpan.org/authors/id/M/MA/MARTINGO/MikroTik-API-%%7Bversion%...
BuildArch: noarch
+BuildRequires: make BuildRequires: perl-generators BuildRequires: perl-interpreter BuildRequires: perl(Carp) BuildRequires: perl(Digest::MD5) -BuildRequires: perl(ExtUtils::MakeMaker) BuildRequires: perl(IO::Socket::IP) BuildRequires: perl(IO::Socket::SSL) BuildRequires: perl(Moo) BuildRequires: perl(MooX::Types::MooseLike::Base) BuildRequires: perl(namespace::autoclean) -BuildRequires: perl(Test::More) BuildRequires: perl(Time::Out) BuildRequires: perl(Try::Tiny) BuildRequires: perl(Type::Tiny) -BuildRequires: perl(Module::Install) -Requires: perl(Carp) -Requires: perl(Digest::MD5) -Requires: perl(IO::Socket::IP) -Requires: perl(IO::Socket::SSL) -Requires: perl(Moo) -Requires: perl(MooX::Types::MooseLike::Base) -Requires: perl(namespace::autoclean) -Requires: perl(Time::Out) -Requires: perl(Try::Tiny) -Requires: perl(Type::Tiny) +BuildRequires: perl(inc::Module::Install) +BuildRequires: perl(strict) +BuildRequires: perl(warnings) +# tests +BuildRequires: perl(Pod::Coverage) +BuildRequires: perl(Test::More) +BuildRequires: perl(Test::Pod) +BuildRequires: perl(Test::Pod::Coverage) + +Requires: perl(:VERSION) >= 5.6 Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description -Client to MikroTik RouterOS API +Perl client for the MikroTik RouterOS API.
%prep %setup -q -n MikroTik-API-%{version}
%build -%{__perl} Makefile.PL INSTALLDIRS=vendor -make %{?_smp_mflags} +perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 +%make_build
%install -make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT -find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';' - +%make_install %{_fixperms} $RPM_BUILD_ROOT/*
FIX: Build-require 'coreutils' (perl-MikroTik-API.spec:48).
+Requires: perl(:VERSION) >= 5.6
FIX: This should be a BuildRequires (Makefile.PL:1). Requires is already generated.
TODO: Use plain 'perl' instead of macro '%{__perl}' (perl-MikroTik-API.spec:34).
+BuildRequires: perl(Test::Pod)
FIX: Add '>= 1.22' constraint (t/pod.t:8).
+BuildRequires: perl(Test::Pod::Coverage)
FIX: Add '>= 1.08' constraint (t/pod-coverage.t:8).
+BuildRequires: perl(Pod::Coverage)
FIX: Add '>= 0.18' constraint (t/pod-coverage.t:15).
$ rpmlint perl-MikroTik-API.spec ../SRPMS/perl-MikroTik-API-2.0.1-2.fc37.src.rpm ../RPMS/noarch/perl-MikroTik-API-2.0.1-2.fc37.noarch.rpm ======================================== rpmlint session starts ======================================= rpmlint: 2.2.0 configuration: /usr/lib/python3.11/site-packages/rpmlint/configdefaults.toml /etc/xdg/rpmlint/fedora.toml /etc/xdg/rpmlint/licenses.toml /etc/xdg/rpmlint/scoring.toml /etc/xdg/rpmlint/users-groups.toml /etc/xdg/rpmlint/warn-on-functions.toml checks: 32, packages: 3
========= 2 packages and 1 specfiles checked; 0 errors, 0 warnings, 0 badness; has taken 0.4 s ======== rpmlint is Ok.
The package builds in F37 (https://koji.fedoraproject.org/koji/taskinfo?taskID=88944280). Ok.
$ rpm -q --requires -p ../RPMS/noarch/perl-MikroTik-API-2.0.1-2.fc37.noarch.rpm | sort -f | uniq -c 1 perl(:MODULE_COMPAT_5.36.0) 1 perl(:VERSION) >= 5.6 1 perl(:VERSION) >= 5.6.0 1 perl(Carp) 1 perl(Digest::MD5) 1 perl(IO::Socket::IP) 1 perl(IO::Socket::SSL) 1 perl(Moo) 1 perl(MooX::Types::MooseLike::Base) 1 perl(namespace::autoclean) 1 perl(strict) 1 perl(Time::Out) 1 perl(Try::Tiny) 1 perl(Type::Tiny) 1 perl(warnings) 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: Do not run-require 'perl(:VERSION) >= 5.6' explicitly. This dependency is detected.
$ resolvedeps rawhide ../RPMS/noarch/perl-MikroTik-API-2.0.1-2.fc37.noarch.rpm Binary dependencies are resolvable. Ok.
The spec file is much better now. Thanks for fixing the issues. Please correct the 'FIX' items and consider fixing a 'TODO' item before building this package. Resolution: Package APPROVED.
https://bugzilla.redhat.com/show_bug.cgi?id=2097677
Petr Pisar ppisar@redhat.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Review Request: |Review Request: |perl-MikroTik-API - Client |perl-MikroTik-API - Client |to MikroTik RouterOS API |for the MikroTik RouterOS | |API
https://bugzilla.redhat.com/show_bug.cgi?id=2097677
--- Comment #5 from Yanko Kaneti yaneti@declera.com --- Thanks. Addressed the additional comments in -3 which will go in the repo once created
Spec URL: http://declera.com/~yaneti/perl-MikroTik-API/perl-MikroTik-API.spec SRPM URL: http://declera.com/~yaneti/perl-MikroTik-API/perl-MikroTik-API-2.0.1-2.fc37....
https://bugzilla.redhat.com/show_bug.cgi?id=2097677
--- Comment #6 from Yanko Kaneti yaneti@declera.com --- Ugh Spec URL: http://declera.com/~yaneti/perl-MikroTik-API/perl-MikroTik-API.spec SRPM URL: http://declera.com/~yaneti/perl-MikroTik-API/perl-MikroTik-API-2.0.1-3.fc37....
https://bugzilla.redhat.com/show_bug.cgi?id=2097677
--- Comment #7 from Kevin Fenzi kevin@scrye.com --- (fedscm-admin): The Pagure repository was created at https://src.fedoraproject.org/rpms/perl-MikroTik-API
https://bugzilla.redhat.com/show_bug.cgi?id=2097677
Yanko Kaneti yaneti@declera.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed In Version| |perl-MikroTik-API-2.0.1-3.f | |c37 Resolution|--- |NEXTRELEASE Status|ASSIGNED |CLOSED Last Closed| |2022-07-04 08:28:04
--- Comment #8 from Yanko Kaneti yaneti@declera.com --- Built in rawhide. https://koji.fedoraproject.org/koji/buildinfo?buildID=1996349 Thanks
package-review@lists.fedoraproject.org