Bug 701183 - Review Request: perl-CGI-Application-Plugin-RateLimit - Limits runmode call rate per user
Summary: Review Request: perl-CGI-Application-Plugin-RateLimit - Limits runmode call ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Petr Pisar
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-05-01 22:15 UTC by Emmanuel Seyman
Modified: 2011-05-27 20:26 UTC (History)
4 users (show)

Fixed In Version: perl-CGI-Application-Plugin-RateLimit-1.0-2.fc15
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-05-27 20:21:56 UTC
Type: ---
Embargoed:
ppisar: fedora-review+
j: fedora-cvs+


Attachments (Terms of Use)

Description Emmanuel Seyman 2011-05-01 22:15:32 UTC
Spec URL: http://people.parinux.org/~seyman/fedora/perl-CGI-Application-Plugin-RateLimit/perl-CGI-Application-Plugin-RateLimit.spec
SRPM URL: http://people.parinux.org/~seyman/fedora/perl-CGI-Application-Plugin-RateLimit/perl-CGI-Application-Plugin-RateLimit-1.0-1.fc14.src.rpm
Description:
This module provides protection against a user calling a runmode too
frequently. A typical use-case might be a contact form that sends email.
You'd like to allow your users to send you messages, but thousands of
messages from a single user would be a problem.

Comment 1 Mario Blättermann 2011-05-02 19:46:31 UTC
$ rpmlint -v perl*
perl-CGI-Application-Plugin-RateLimit.src: I: checking
perl-CGI-Application-Plugin-RateLimit.src: W: spelling-error Summary(en_US) runmode -> run mode, run-mode, Runnymede
perl-CGI-Application-Plugin-RateLimit.src: W: spelling-error %description -l en_US runmode -> run mode, run-mode, Runnymede
perl-CGI-Application-Plugin-RateLimit.src: I: checking-url http://search.cpan.org/dist/CGI-Application-Plugin-RateLimit/ (timeout 10 seconds)
perl-CGI-Application-Plugin-RateLimit.src: I: checking-url http://www.cpan.org/authors/id/S/SA/SAMTREGAR/CGI-Application-Plugin-RateLimit-1.0.tar.gz (timeout 10 seconds)
perl-CGI-Application-Plugin-RateLimit.spec: I: checking-url http://www.cpan.org/authors/id/S/SA/SAMTREGAR/CGI-Application-Plugin-RateLimit-1.0.tar.gz (timeout 10 seconds)
1 packages and 1 specfiles checked; 0 errors, 2 warnings.

Just a spelling error.
"runmode → run mode"
Is this applicable here, or should the current spelling kept for whatever reasons?

Comment 2 Petr Pisar 2011-05-13 12:46:17 UTC
Source tar ball is original. Ok.
Summary verified from RateLimit.pm. Ok.
License verified from RateLimit.pm. Ok.
Description verified from RateLimit.pm. Ok.
No XS used, noarch BuildArch is Ok.

Missing version specifier at perl(CGI::Application) and perl(Class::Accessor) are acceptable as all Fedoras fulfill them. Ok.

FIX: BuildRequire on perl(Class::Accessor::Fast) instead of perl(Class::Accessor) as Class::Accessor::Fast is used in code (RateLimit.pm:26)
FIX: BuildRequire perl(DBI) because of tests (t/02simple.t:15)
FIX: BuildRequire perl(File::Temp) because of tests (t/02simple.t:16)

TODO: Remove obsolete BuildRoot cleaning in %install section.
TODO: Remove already implicit %defattr in %files section.

All tests pass. Ok.

$ rpmlint perl-CGI-Application-Plugin-RateLimit.spec ../SRPMS/perl-CGI-Application-Plugin-RateLimit-1.0-1.fc14.src.rpm ../RPMS/noarch/perl-CGI-Application-Plugin-RateLimit-1.0-1.fc14.noarch.rpm 
perl-CGI-Application-Plugin-RateLimit.src: W: spelling-error Summary(en_US) runmode -> run mode, run-mode, Runnymede
perl-CGI-Application-Plugin-RateLimit.src: W: spelling-error %description -l en_US runmode -> run mode, run-mode, Runnymede
perl-CGI-Application-Plugin-RateLimit.noarch: W: spelling-error Summary(en_US) runmode -> run mode, run-mode, Runnymede
perl-CGI-Application-Plugin-RateLimit.noarch: W: spelling-error %description -l en_US runmode -> run mode, run-mode, Runnymede
2 packages and 1 specfiles checked; 0 errors, 4 warnings.

TODO: Correct `runmode' spelling to dictionary form (e.g. run-mode).
The `runmode' is used in perl-CGI domain thus I consider this flaw as non-blocking.
rpmlint Ok.

$ rpm -q -lv -p ../RPMS/noarch/perl-CGI-Application-Plugin-RateLimit-1.0-1.fc14.noarch.rpm 
drwxr-xr-x    2 root    root                        0 kvě 13 14:24 /usr/share/doc/perl-CGI-Application-Plugin-RateLimit-1.0
-rw-r--r--    1 root    root                      208 kvě  4  2006 /usr/share/doc/perl-CGI-Application-Plugin-RateLimit-1.0/Changes
-rw-r--r--    1 root    root                      885 kvě  4  2006 /usr/share/doc/perl-CGI-Application-Plugin-RateLimit-1.0/README
-rw-r--r--    1 root    root                     5064 kvě 13 14:24 /usr/share/man/man3/CGI::Application::Plugin::RateLimit.3pm.gz
drwxr-xr-x    2 root    root                        0 kvě 13 14:24 /usr/share/perl5/CGI
drwxr-xr-x    2 root    root                        0 kvě 13 14:24 /usr/share/perl5/CGI/Application
drwxr-xr-x    2 root    root                        0 kvě 13 14:24 /usr/share/perl5/CGI/Application/Plugin
-rw-r--r--    1 root    root                    15984 kvě  4  2006 /usr/share/perl5/CGI/Application/Plugin/RateLimit.pm
File permissions and layout Ok.

$ rpm -q --requires -p ../RPMS/noarch/perl-CGI-Application-Plugin-RateLimit-1.0-1.fc14.noarch.rpm |sort |uniq -c
      1 perl(base)  
      1 perl(Carp)  
      1 perl(:MODULE_COMPAT_5.12.3)  
      1 perl(strict)  
      1 perl(warnings)  
      1 perl >= 0:5.006
      1 rpmlib(CompressedFileNames) <= 3.0.4-1
      1 rpmlib(FileDigests) <= 4.6.0-1
      1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
      1 rpmlib(PayloadIsXz) <= 5.2-1
      2 rpmlib(VersionedDependencies) <= 3.0.3-1
FIX: Require perl(Class::Accessor::Fast) explicitly as it's not discovered by rpmbuild (RateLimit.pm:26)
TODO: Require perl(CGI::Application) explicitly as this module is extension for that class.

$ rpm -q --provides -p ../RPMS/noarch/perl-CGI-Application-Plugin-RateLimit-1.0-1.fc14.noarch.rpm |sort |uniq -c
      1 perl(CGI::Application::Plugin::RateLimit) = 1.0
      1 perl-CGI-Application-Plugin-RateLimit = 1.0-1.fc14
Binary provides Ok.

Package builds in F16 (http://koji.fedoraproject.org/koji/taskinfo?taskID=3069506). Ok.

Otherwise package is in line with Fedora and perl packaging guidelines.


Please correct all `FIX' prefixed issues, considier fixing `TODO' issues and provide new spec file.
Resolution: Package NOT approved.

Comment 3 Emmanuel Seyman 2011-05-14 21:17:31 UTC
(In reply to comment #2)
>
> FIX: BuildRequire on perl(Class::Accessor::Fast) instead of
> perl(Class::Accessor) as Class::Accessor::Fast is used in code
> (RateLimit.pm:26)

Done

> FIX: BuildRequire perl(DBI) because of tests (t/02simple.t:15)

Done

> FIX: BuildRequire perl(File::Temp) because of tests (t/02simple.t:16)

Done
 
> TODO: Remove obsolete BuildRoot cleaning in %install section.

Done

> TODO: Remove already implicit %defattr in %files section.

Done (first I've heard of this)

> TODO: Require perl(CGI::Application) explicitly as this module is extension
> for that class.

Done

Spec URL:
http://people.parinux.org/~seyman/fedora/perl-CGI-Application-Plugin-RateLimit/perl-CGI-Application-Plugin-RateLimit.spec
SRPM URL:
http://people.parinux.org/~seyman/fedora/perl-CGI-Application-Plugin-RateLimit/perl-CGI-Application-Plugin-RateLimit-1.0-2.fc14.src.rpm

Comment 4 Petr Pisar 2011-05-16 10:34:44 UTC
Spec file changes:

--- perl-CGI-Application-Plugin-RateLimit.spec	2011-05-01 23:46:44.000000000 +0200
+++ perl-CGI-Application-Plugin-RateLimit.spec.1	2011-05-14 22:58:18.000000000 +0200
@@ -1,6 +1,6 @@
 Name:           perl-CGI-Application-Plugin-RateLimit
 Version:        1.0
-Release:        1%{?dist}
+Release:        2%{?dist}
 Summary:        Limits runmode call rate per user
 License:        GPL+ or Artistic
 Group:          Development/Libraries
@@ -9,10 +9,13 @@
 BuildArch:      noarch
 BuildRequires:  perl(CGI)
 BuildRequires:  perl(CGI::Application)
-BuildRequires:  perl(Class::Accessor)
+BuildRequires:  perl(Class::Accessor::Fast)
 BuildRequires:  perl(DBD::SQLite)
+BuildRequires:  perl(DBI)
 BuildRequires:  perl(ExtUtils::MakeMaker)
+BuildRequires:  perl(File::Temp)
 BuildRequires:  perl(Test::More)
+Requires:       perl(CGI::Application)
 Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
 
 %{?perl_default_filter}
@@ -31,7 +34,6 @@
 make %{?_smp_mflags}
 
 %install
-rm -rf $RPM_BUILD_ROOT
 
 make pure_install PERL_INSTALL_ROOT=$RPM_BUILD_ROOT
 
@@ -45,11 +47,13 @@
 
 
 %files
-%defattr(-,root,root,-)
 %doc Changes README
 %{perl_vendorlib}/*
 %{_mandir}/man3/*
 
 %changelog
+* Sat May 14 2011 Emmanuel Seyman <emmanuel.seyman> - 1.0-2
+- Clean up spec as per package review (#701183)
+
 * Thu Nov 25 2010 Emmanuel Seyman <emmanuel.seyman> 1.0-1
 - Specfile autogenerated by cpanspec 1.78.


> FIX: BuildRequire on perl(Class::Accessor::Fast) instead of
> perl(Class::Accessor) as Class::Accessor::Fast is used in code
> (RateLimit.pm:26)
-BuildRequires:  perl(Class::Accessor)
+BuildRequires:  perl(Class::Accessor::Fast)
Ok.

> FIX: BuildRequire perl(DBI) because of tests (t/02simple.t:15)
+BuildRequires:  perl(DBI)
Ok.

> FIX: BuildRequire perl(File::Temp) because of tests (t/02simple.t:16)
+BuildRequires:  perl(File::Temp)
Ok.

> TODO: Remove obsolete BuildRoot cleaning in %install section.
-rm -rf $RPM_BUILD_ROOT
Ok.

> TODO: Remove already implicit %defattr in %files section.
-%defattr(-,root,root,-)
Ok.
> Done (first I've heard of this)
It's news (https://fedoraproject.org/wiki/Packaging/Guidelines#File_Permissions).

> FIX: Require perl(Class::Accessor::Fast) explicitly as it's not discovered by
> rpmbuild (RateLimit.pm:26)
$ rpm -q --requires -p ../RPMS/noarch/perl-CGI-Application-Plugin-RateLimit-1.0-2.fc16.noarch.rpm  |sort |uniq -c
      1 perl >= 0:5.006
      1 perl(base)  
      1 perl(Carp)  
      1 perl(CGI::Application)  
      1 perl(Class::Accessor::Fast)  
      1 perl(:MODULE_COMPAT_5.12.3)  
      1 perl(strict)  
      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(PayloadIsXz) <= 5.2-1
Fixed in F16 dependency generator. Ok.

> TODO: Require perl(CGI::Application) explicitly as this module is extension
> for that class.
+Requires:       perl(CGI::Application)
Ok.

Package builds in koji (http://koji.fedoraproject.org/koji/taskinfo?taskID=3073704). Ok.


Resolution: Package APPROVED.

Comment 5 Emmanuel Seyman 2011-05-16 11:38:19 UTC
Thank you, Petr. Requesting SCM.

New Package SCM Request
=======================
Package Name: perl-CGI-Application-Plugin-RateLimit
Short Description: Limits runmode call rate per user
Owners: eseyman
Branches: f15 f14
InitialCC: perl-sig

Comment 6 Jason Tibbitts 2011-05-18 22:20:30 UTC
Git done (by process-git-requests).

Comment 7 Fedora Update System 2011-05-18 23:20:14 UTC
perl-CGI-Application-Plugin-RateLimit-1.0-2.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/perl-CGI-Application-Plugin-RateLimit-1.0-2.fc14

Comment 8 Fedora Update System 2011-05-18 23:20:22 UTC
perl-CGI-Application-Plugin-RateLimit-1.0-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/perl-CGI-Application-Plugin-RateLimit-1.0-2.fc15

Comment 9 Fedora Update System 2011-05-19 21:57:15 UTC
perl-CGI-Application-Plugin-RateLimit-1.0-2.fc15 has been pushed to the Fedora 15 testing repository.

Comment 10 Fedora Update System 2011-05-27 20:21:49 UTC
perl-CGI-Application-Plugin-RateLimit-1.0-2.fc14 has been pushed to the Fedora 14 stable repository.

Comment 11 Fedora Update System 2011-05-27 20:25:55 UTC
perl-CGI-Application-Plugin-RateLimit-1.0-2.fc15 has been pushed to the Fedora 15 stable repository.


Note You need to log in before you can comment on or make changes to this bug.