Bug 454102

Summary: Review Request: perl-Catalyst-Model-XMLRPC - XMLRPC model class for Catalyst
Product: [Fedora] Fedora Reporter: Chris Weyl <cweyl>
Component: Package ReviewAssignee: Miroslav Suchý <msuchy>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: fedora-package-review, mmaslano, msuchy, notting
Target Milestone: ---Flags: msuchy: fedora-review+
huzaifas: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://search.cpan.org/dist/Catalyst-Model-XMLRPC/
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-10-23 14:52:33 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: 435835, 459933    
Bug Blocks:    

Description Chris Weyl 2008-07-04 16:40:36 UTC
SRPM URL: http://fedora.biggerontheinside.net/review/perl-Catalyst-Model-XMLRPC-0.04-1.fc9.src.rpm
SPEC URL: http://fedora.biggerontheinside.net/review/perl-Catalyst-Model-XMLRPC.spec

Description:
This model class uses RPC::XML::Client to invoke remote procedure calls
using XML-RPC.

Comment 1 Marcela Mašláňová 2008-07-25 09:58:04 UTC
Here is also problem with bz#455151.

rpmlint srpm:
perl-Catalyst-Model-XMLRPC.src:39: W: rpm-buildroot-usage %prep FOO=`perl -p -e
's|%{buildroot}%{_docdir}/%{name}-%{version}\S+||'`

Comment 2 Jason Tibbitts 2008-08-21 19:25:16 UTC
Since the perl-RPC-XML review ticket has been closed after ages of no response, perhaps you'd like to submit it so that this review can move forward.

Comment 3 Chris Weyl 2008-08-22 01:46:49 UTC
I have one I've been using; I'll post it for review once the infrastructure comes back online.

Comment 4 Jason Tibbitts 2008-08-22 01:53:30 UTC
There's no need to wait for my sake; I can review packages fine with the parts of the infrastructure that are currently running.

Comment 5 Chris Weyl 2008-08-24 20:25:56 UTC
Submitted bug 459933 for RPC::XML review; updating as blocking this bug.

Comment 6 Miroslav Suchý 2008-09-10 14:05:38 UTC
Review:
+ package builds in mock (rawhide i386).
koji Build => http://koji.fedoraproject.org/koji/taskinfo?taskID=817494
+ rpmlint is silent for SRPM and for RPM.
FAIL [1]
+ source files match upstream url
62db4b24d66a56b4f22187452e8ab9a6  Catalyst-Model-XMLRPC-0.04.tar.gz
+ package meets naming and packaging guidelines.
+ specfile is properly named, is cleanly written
FAIL [2]
+ Spec file is written in American English.
+ Spec file is legible.
+ dist tag is present.
+ build root is correct.
+ license is open source-compatible.
+ License text is included in package.
+ %doc is present.
+ BuildRequires are proper.
+ %clean is present.
+ package installed properly.
+ Macro use appears rather consistent.
+ Package contains code, not content.
+ no headers or static libraries.
+ no .pc file present.
+ no -devel subpackage
+ no .la files.
+ no translations are available
+ Does owns the directories it creates.
+ no scriptlets present.
+ no duplicates in %files.
+ file permissions are appropriate.
+ make test gave
All tests successful!
+ Package perl-Filesys-Df-0.92-2.fc10 =>
Provides: perl(Catalyst::Helper::Model::XMLRPC)
perl(Catalyst::Model::XMLRPC) = 0.04
perl-Catalyst-Model-XMLRPC = 0.04-1.fc10
Requires: perl(:MODULE_COMPAT_5.10.0)
perl(Carp)
perl(Catalyst::Model)
perl(NEXT)
perl(RPC::XML)
perl(RPC::XML::Client)
perl(base)
perl(strict)
perl(warnings)
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(VersionedDependencies) <= 3.0.3-1


[1] rpmlint  -i perl-Catalyst-Model-XMLRPC-0.04-1.fc9.src.rpm
perl-Catalyst-Model-XMLRPC.src:39: W: rpm-buildroot-usage %prep FOO=`perl -p -e 's|%{buildroot}%{_docdir}/%{name}-%{version}\S+||'`
$RPM_BUILD_ROOT should not be touched during %build or %prep stage, as it will
break short circuiting.

[2]
perl -pi -e \
    's|\$self->config\(\$config\)|\$self->config\(\$config\) if defined \$config|' \
    lib/Catalyst/Model/XMLRPC.pm
This is not propper way of patching source. Create patch and include load it using Patch1: pragma. I encourage you to send this patch to upstream as well.

Please fix this two issues and then the review can be finished.

Comment 8 Miroslav Suchý 2008-09-23 09:28:28 UTC
You point to wrong src.rpm (-1 release) so I tried to download 
http://fedora.biggerontheinside.net/review/perl-Catalyst-Model-XMLRPC-0.04-2.fc9.src.rpm
and it was there. So I'm using this in this comments.

The [2] is ok. You are now using Patch0:

But the [1] is still problem, you just mask the problem so rpmlint do not detect it. I do not understand why do you have this part there at all:
# note we first filter out the bits in _docdir...
cat << \EOF > %{name}-prov
#!/bin/sh
FOO=`perl -p -e 's|%{broot}%{_docdir}/%{name}-%{version}\S+||'`
%{__perl_provides} $FOO
EOF

%define __perl_provides %{_builddir}/Catalyst-Model-XMLRPC-%{version}/%{name}-prov
chmod +x %{__perl_provides}

If I delete this lines and this one from %files:
%doc Changes README t/
will replace with
%doc Changes README
I got the same output (with same provides).

You should not install content of t/ dir anyway.

Comment 9 Chris Weyl 2008-09-23 15:43:33 UTC
(In reply to comment #8)
> But the [1] is still problem, you just mask the problem so rpmlint do not
> detect it. I do not understand why do you have this part there at all:

[1] was a false positive by rpmlint.  %{buildroot} isn't being "used" in %prep so much as embedded into the provides filtering script...  This is not an error.  Swizzling the value into %{broot} simply keeps rpmlint from wearning about an error that isn't.

So long as rpm insists on doing provides/requires detection in %{_docdir}, it's going to be easier and more consistent to prevent the content of that directory from being scanned to begin with.

(As a side note, I didn't realize a RFE to remove %{_docdir} scannning from autoprov/req hadn't been filed...   filed now as bug 463461.)

Comment 10 Miroslav Suchý 2008-09-24 09:07:04 UTC
But why you include t/ in %doc in first place? There is no documentation in that test. And test alone should not be packed (however no policy define it - it is just common habit). 
And if you do not include t/ => you will not get the false provides => you must not do that magic with %{__perl_provides} => you will get rid of that warning propper way.

Comment 11 Chris Weyl 2008-10-02 05:32:02 UTC
I try to consistently include the tests in %doc for a number of reasons -- one, I don't know what someone else might find useful, two even if there's no explicit documentation example usage is never a bad things, and finally, even if the the test suite comprises one test (say a use test), then at least the person looking under %_docdir can see that.

RPM shouldn't be generating requires/provides on files under %_docdir, but it does, so until then the filtering magic is necessary. ...and I suspect it's commonplace enough that we can call it "science" now :)

Comment 12 Miroslav Suchý 2008-10-21 15:07:48 UTC
I consult this issue with my sponsor and he said that the it is ok.
APPROVED.

Comment 13 Chris Weyl 2008-10-21 16:14:57 UTC
New Package CVS Request
=======================
Package Name: perl-Catalyst-Model-XMLRPC
Short Description: XMLRPC model class for Catalyst
Owners: cweyl
Branches: F-8, F-9, devel
InitialCC: perl-sig

Comment 14 Huzaifa S. Sidhpurwala 2008-10-22 10:23:42 UTC
cvs done

Comment 15 Chris Weyl 2008-10-23 14:52:33 UTC
Imported and built in devel.  Thanks for the review! :)