Bug 192577

Summary: Review Request: perl-OpenFrame
Product: [Fedora] Fedora Reporter: Steven Pritchard <steve>
Component: Package ReviewAssignee: Jason Tibbitts <j>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Package Reviews List <fedora-package-review>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhide   
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-07-13 20:38:00 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: 192568, 192575    
Bug Blocks: 163779    

Description Steven Pritchard 2006-05-20 21:50:29 UTC
Spec URL: http://ftp.kspei.com/pub/steve/rpms/perl-OpenFrame/perl-OpenFrame.spec
SRPM URL: http://ftp.kspei.com/pub/steve/rpms/perl-OpenFrame-3.05-1.src.rpm
Description:
OpenFrame is a framework for network services serving to multiple media
channels - for instance, the web, WAP, and digital television. It is built
around the Pipeline API, and provides extra abstraction to make delivery of
a single application to multiple channels easier.

Comment 1 Jason Tibbitts 2006-05-26 04:21:00 UTC
Only one of the files (lib/OpenFrame/Argument/Blob.pm) seems to have a statement
of the license.  I don't think that's enough to suggest the license for the
entire package.

I wonder about the need for these:

Requires:       perl(File::Type) >= 0.01
Requires:       perl(HTTP::Request) >= 0.01
Requires:       perl(IO::Null) >= 0.01

The versions are so low that they seem to have been put in as placeholders.  RPM
should figure out all of these on its own.  (It doesn't find HTTP::Request but
it does find other modules, all provided by perl-libwww-perl.)

Some issues from the test suite:

t/02http_request....[OpenFrame::Segment::HTTP::Response::OpenFrame::Segment::HTTP::Response::dispatch]
no response available
at /usr/lib/perl5/vendor_perl/5.8.8/Pipeline/Dispatch.pm line 74
ok

t/98compile.........skipped
        all skipped: - do not have File::Find::Rule installed

I'm not sure if the first is a mock artifact or a problem with the test suite.
The second is fixed up with the obvious BR:.

Review:
* package meets naming and packaging guidelines.
* specfile is properly named, is cleanly written and uses macros consistently.
* dist tag is present.
? license field matches the actual license.
? license is open source-compatible.
* source files match upstream:
   6469544c6c83a0aa33676421cb09d1a5  OpenFrame-3.05.tar.gz
   6469544c6c83a0aa33676421cb09d1a5  OpenFrame-3.05.tar.gz-srpm
* latest version is being packaged.
* BuildRequires are proper.
* package builds in mock (development, x86_64).
* rpmlint is silent.
? final provides and requires are sane:
   perl(OpenFrame)
   perl(OpenFrame::Argument::Blob)
   perl(OpenFrame::Constants)
   perl(OpenFrame::Cookie)
   perl(OpenFrame::Cookies)
   perl(OpenFrame::Object)
   perl(OpenFrame::Request)
   perl(OpenFrame::Response)
   perl(OpenFrame::Segment::ContentLoader)
   perl(OpenFrame::Segment::HTTP::Request)
   perl(OpenFrame::Segment::HTTP::Response)
   perl-OpenFrame = 3.05-1.fc6
  -
   perl(:MODULE_COMPAT_5.8.8)
   perl(CGI)
   perl(CGI::Cookie)
   perl(Exporter)
   perl(File::Spec)
   perl(File::Temp)
   perl(File::Type)
   perl(File::Type) >= 0.01
   perl(FileHandle)
   perl(HTTP::Headers)
   perl(HTTP::Request) >= 0.01
   perl(HTTP::Response)
   perl(HTTP::Status)
   perl(IO::Null)
   perl(IO::Null) >= 0.01
   perl(OpenFrame)
   perl(OpenFrame::Argument::Blob)
   perl(OpenFrame::Cookie)
   perl(OpenFrame::Cookies)
   perl(OpenFrame::Object)
   perl(OpenFrame::Request)
   perl(OpenFrame::Response)
   perl(OpenFrame::Segment::HTTP::Response)
   perl(Pipeline)
   perl(Pipeline) >= 2.00
   perl(Pipeline::Production)
   perl(Pipeline::Segment)
   perl(base)
   perl(constant)
   perl(strict)
   perl(warnings::register)
* no shared libraries are present.
* package is not relocatable.
* owns the directories it creates.
* doesn't own any directories it shouldn't.
* no duplicates in %files.
* file permissions are appropriate.
* %clean is present.
* %check is present and all tests pass (after adding File::Find::Rule):
   All tests successful.
   Files=6, Tests=54,  1 wallclock secs ( 0.39 cusr +  0.16 csys =  0.55 CPU)
* no scriptlets present.
* code, not content.
* documentation is small, so no -docs subpackage is necessary.
* %docs are not necessary for the proper functioning of the package.
* no headers.
* no pkgconfig files.
* no libtool .la droppings.
* not a GUI app.


Comment 2 Steven Pritchard 2006-05-27 20:28:25 UTC
(In reply to comment #1)
> Only one of the files (lib/OpenFrame/Argument/Blob.pm) seems to have a statement
> of the license.  I don't think that's enough to suggest the license for the
> entire package.

I've emailed the author (the one listed in that file anyway) for clarification.

> I wonder about the need for these:
> 
> Requires:       perl(File::Type) >= 0.01
> Requires:       perl(HTTP::Request) >= 0.01
> Requires:       perl(IO::Null) >= 0.01
> 
> The versions are so low that they seem to have been put in as placeholders.  RPM
> should figure out all of these on its own.  (It doesn't find HTTP::Request but
> it does find other modules, all provided by perl-libwww-perl.)

Fixed in -2.

>
t/02http_request....[OpenFrame::Segment::HTTP::Response::OpenFrame::Segment::HTTP::Response::dispatch]
> no response available
> at /usr/lib/perl5/vendor_perl/5.8.8/Pipeline/Dispatch.pm line 74
> ok
[...]
> I'm not sure if the first is a mock artifact or a problem with the test suite.

It happens when I'm not running under mock either.

> t/98compile.........skipped
>         all skipped: - do not have File::Find::Rule installed
[...]
> The second is fixed up with the obvious BR:.

Also fixed in -2.

http://ftp.kspei.com/pub/steve/rpms/perl-OpenFrame-3.05-2.src.rpm

Comment 3 Jason Tibbitts 2006-06-01 19:54:46 UTC
Any luck hearing back from the author?  It kind of sucks to be blocked on this
kind of thing.

Comment 4 Steven Pritchard 2006-06-03 17:54:59 UTC
Nothing yet.  I'll try to bug them some more today.

Comment 5 Steven Pritchard 2006-06-03 18:17:16 UTC
I've opened a ticket.

  http://rt.cpan.org/Ticket/Display.html?id=19679

Comment 6 Jason Tibbitts 2006-06-14 14:43:23 UTC
------- Additional Comments From tibbs.edu  2006-06-12 00:16 EST -------
I take it there's been no progress, which is too bad.  The author still seems to
be active and the Openframe author posted a blog just a couple of weeks ago. 
Unfortunately I just can't find anything that would work as a blanket license
for this package other than a statement that everything in the upstream SVN
repository is released under an OSI-approved license. 


------- Additional Comments From steve  2006-06-12 15:06 EST -------
I saw the mention of the OSI-approved license thing on their web site, but that
seems to be as specific as they get.

Maybe I'll get lucky and someone authoritative will be at YAPC in a couple of weeks.


Comment 7 Steven Pritchard 2006-06-29 14:34:35 UTC
I received the following message from the author:

> Hi,                                                                             
>                                                                                 
> I've been meaning to deal with this but I've not got around to it.              
> The OpenFrame package is released under both the Artistic license and           
> the GPL.                                                                        
>                                                                                 
> When we have another release of the package I'll ensure there is a              
> definitive license statement.                                                   
>                                                                                 
> Regards,                                                                        
> James.                                                                          


Comment 8 Jason Tibbitts 2006-06-29 14:51:55 UTC
Excellent.  I suggest including that correspondence in the package; it should be
approveable after that but I've lost the context so I'll have to recheck.

Comment 9 Steven Pritchard 2006-07-07 17:54:02 UTC
I'm not entirely sure how much of the email I should include in the package.  (I
had to reach the author via a third party.  :-)

I've included the relevant bit in a README.LICENSE in -3.  Given that it is
confirmation of the license statement in lib/OpenFrame/Argument/Blob.pm, I hope
that's sufficient.

http://ftp.kspei.com/pub/steve/rpms/perl-OpenFrame-3.05-3.src.rpm

Comment 10 Jason Tibbitts 2006-07-07 18:00:07 UTC
Yes, that looks reasonable; we now have some blanket statement of what the
license is.

Unfortunately the dependency list includes:
   perl(Pipeline)
   perl(Pipeline) >= 2.00

which has been clarified to be a blocker since this review was started.  That is
the only remaining issue.

Comment 11 Steven Pritchard 2006-07-08 16:51:34 UTC
(In reply to comment #10)
> Unfortunately the dependency list includes:
>    perl(Pipeline)
>    perl(Pipeline) >= 2.00
> 
> which has been clarified to be a blocker since this review was started.

For the record, I think that's silly.  :-)

It's fixed in -4 though.

http://ftp.kspei.com/pub/steve/rpms/perl-OpenFrame-3.05-4.src.rpm

Comment 12 Jason Tibbitts 2006-07-08 19:06:22 UTC
Well, the versioned dependency is completely meaningless in that case, so
there's little point in having both.

The dependency list is now:
   perl(:MODULE_COMPAT_5.8.8)
   perl(CGI)
   perl(CGI::Cookie)
   perl(Exporter)
   perl(File::Spec)
   perl(File::Temp)
   perl(File::Type)
   perl(FileHandle)
   perl(HTTP::Headers)
   perl(HTTP::Response)
   perl(HTTP::Status)
   perl(IO::Null)
   perl(OpenFrame)
   perl(OpenFrame::Argument::Blob)
   perl(OpenFrame::Cookie)
   perl(OpenFrame::Cookies)
   perl(OpenFrame::Object)
   perl(OpenFrame::Request)
   perl(OpenFrame::Response)
   perl(OpenFrame::Segment::HTTP::Response)
   perl(Pipeline)
   perl(Pipeline::Production)
   perl(Pipeline::Segment)
   perl(base)
   perl(constant)
   perl(strict)

Looks good; APPROVED

Comment 13 Steven Pritchard 2006-07-13 20:38:00 UTC
Imported into CVS, branches created, and builds requested.