Bug 1418310 - Review Request: perl-SOAP-WSDL - Perl module for SOAP with WSDL support
Summary: Review Request: perl-SOAP-WSDL - Perl module for SOAP with WSDL support
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Andrew Bauer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1418208
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-02-01 14:12 UTC by Damian Wrobel
Modified: 2017-03-14 13:48 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-03-10 11:20:21 UTC
Type: ---
Embargoed:
zonexpertconsulting: fedora-review+


Attachments (Terms of Use)
Patch HTTP.pm to handle an undefined endpoint (392 bytes, patch)
2017-02-04 18:50 UTC, Andrew Bauer
no flags Details | Diff

Description Damian Wrobel 2017-02-01 14:12:35 UTC
Spec URL: https://dwrobel.fedorapeople.org/projects/rpmbuild/SPECS/perl-SOAP-WSDL.spec
SRPM URL: https://dwrobel.fedorapeople.org/projects/rpmbuild/SRPMS/perl-SOAP-WSDL-3.003-1.fc25.src.rpm
Description: SOAP::WSDL provides easy access to Web Services with WSDL descriptions. The WSDL is parsed and stored in memory. Your data is serialized according to the rules in the WSDL. The only transport mechanisms currently supported are HTTP and HTTPS.
Fedora Account System Username: dwrobel

Comment 1 Andrew Bauer 2017-02-01 14:40:28 UTC
Damian,
Thank you posting this. Since we are both working towards the same goal of including zoneminder's dependencies, part of this package has a dependency on mod_perl, which depends on apache. This conflicts with my work to get zoneminder running in an nginx environment, and would be undesirable for anyone else using this module but not using apache.  Would you be willing to break out a "server" component?

I've got an unfinished specfile you can use as an example, which does this here:
https://raw.githubusercontent.com/knnniggett/specfiles/master/perl-SOAP-WSDL.spec

Comment 2 Damian Wrobel 2017-02-01 15:28:28 UTC
(In reply to Andrew Bauer from comment #1)
Andrew,

It's a good idea. I have just one question - should the sub-package be named -server (like in your example) or maybe -apache or -httpd (the way the apache is named in Fedora currently). It's to avoid further name clashing in case perl-SOAP-WSDL will start supporting nginx as well in the future.

Comment 3 Andrew Bauer 2017-02-01 16:22:54 UTC
Yeah good point, "server" is a bit generic and implies the module is its own server, which it is not. 

After looking for similar examples, I found perl-Catalyst-Engine-Apache, just to name one existing package, so how about perl-SOAP-WSDL-Apache?

Comment 4 Damian Wrobel 2017-02-01 17:38:03 UTC
(In reply to Andrew Bauer from comment #3)
> just to name one existing package, so how about perl-SOAP-WSDL-Apache?
It sounds good to me. Please find updated both: spec & srpm:

Spec URL: https://dwrobel.fedorapeople.org/projects/rpmbuild/SPECS/perl-SOAP-WSDL.spec
SRPM URL: https://dwrobel.fedorapeople.org/projects/rpmbuild/SRPMS/perl-SOAP-WSDL-3.003-2.fc25.src.rpm

Comment 5 Andrew Bauer 2017-02-03 14:47:53 UTC
From the Perl test output, looks like we can add perl(Test::Pod) to enable an additional test:

t/098_pod.t ........................................... skipped: Test::Pod 1.00 required for testing POD

The following error is fatal:

t/SOAP/WSDL/Transport/HTTP.t                        (Wstat: 65280 Tests: 4 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 8 tests but ran 4.
Files=124, Tests=1096, 19 wallclock secs ( 0.33 usr  0.13 sys + 17.37 cusr  1.49 csys = 19.32 CPU)
Result: FAIL

I can help troubleshoot this, and will post more information when I have a chance to look at this further. I'm currently at my $dayjob so it may not be until this weekend.

I have not yet looked to see exactly what kind of http test are being performed, but if it is going out on the Internet to run the check then naturally the solution here would be to disable this particular test.

Also, I don't recall running into this issue when I built this package for zmrepo.zonemidner.com so I'll check what I did over there.

Full build logs are here:
https://koji.fedoraproject.org/koji/taskinfo?taskID=17569163

Comment 6 Andrew Bauer 2017-02-04 18:50:18 UTC
Created attachment 1247725 [details]
Patch HTTP.pm to handle an undefined endpoint

Rawhide would not build due to a failed test on HTTP.t. Relevant error message was "Can't call method scheme on an undefined value at /usr/share/perl5/LWP/UserAgent.pm line 135."

This was traced back a undefined value for the endpoint, which was being passed by the test. Since previous distros allowed the endpoint to be undefined w/o failure, this patch defines the endpoint to be the empty string, if it is found to be undefined. Tested on f26 and f25 for backwards compatibility.

Comment 7 Andrew Bauer 2017-02-04 18:56:00 UTC
After much troubleshooting, the build failure was isolated to only rawhide. The root cause turned out to be a value for endpoint was not defined:
https://github.com/scrottie/SOAP-WSDL/blob/master/lib/SOAP/WSDL/Transport/HTTP.pm#L54

By design, the perl test did not set the endpoint, and my assumption is that the perl code should be able to handle this.

Other distros such a f24 and epel7 do not throw an error when this condition occurs and I did not investigate why. I did, however, verify that the patch does indeed allow the package to build, but it also does not break anything on older distros.

Comment 8 Andrew Bauer 2017-02-04 19:13:02 UTC
Patch submitted upstream:
https://rt.cpan.org/Public/Bug/Display.html?id=120112

Comment 9 Damian Wrobel 2017-02-06 12:58:31 UTC
(In reply to Andrew Bauer from comment #5)
> From the Perl test output, looks like we can add perl(Test::Pod) to enable
> an additional test:
Added.

(In reply to Andrew Bauer from comment #8)
Thank you very much for providing a fix and sending it upstream.

Please find attached both spec & srpm:

Spec URL: https://dwrobel.fedorapeople.org/projects/rpmbuild/SPECS/perl-SOAP-WSDL.spec
SRPM URL: https://dwrobel.fedorapeople.org/projects/rpmbuild/SRPMS/perl-SOAP-WSDL-3.003-3.fc25.src.rpm

Comment 10 Andrew Bauer 2017-02-07 14:44:04 UTC
rpmlint reports some issues:

perl-SOAP-WSDL.noarch: W: no-documentation
perl-SOAP-WSDL.noarch: E: zero-length /usr/share/perl5/vendor_perl/SOAP/WSDL/Generator/Template/XSD/complexType/POD/content_model.tt
perl-SOAP-WSDL.noarch: W: no-manual-page-for-binary wsdl2perl.pl
perl-SOAP-WSDL-Apache.noarch: W: no-documentation
perl-SOAP-WSDL-doc.noarch: W: hidden-file-or-dir /usr/share/doc/perl-SOAP-WSDL-doc/example/java/cxf/.classpath
perl-SOAP-WSDL-doc.noarch: W: hidden-file-or-dir /usr/share/doc/perl-SOAP-WSDL-doc/example/java/cxf/.settings
perl-SOAP-WSDL-doc.noarch: W: hidden-file-or-dir /usr/share/doc/perl-SOAP-WSDL-doc/example/java/cxf/.settings
4 packages and 0 specfiles checked; 1 errors, 6 warnings.

These look fixable.

hidden-file-or-dir
In %prep, compress the example folder into a .gz and then add that single file to %doc.
If you need an example, look at the sed package srpm.

no-documentation
Even though we have a dedicated "doc" subpackage, rpmlint still wants us to have a %doc in the other subpackages.
From looking at a few other example specfiles, lets include the README and license in each subpackage.

no-manual-page-for-binary
The man page for wsdl2perl gets auto-magically created from the pod text during the build:
Installing /builddir/build/BUILDROOT/perl-SOAP-WSDL-3.003-2.fc26.noarch/usr/share/man/man1/wsdl2perl.pl.1

So we just need to pick up this file in %files e.g. 
%{_mandir}/man1/wsdl2perl.pl.1

zero-length
I admit this is a bit picky, but let's insert the string "# No documentation generated for content_model yet" into content_model.tt.

This appears to be what has been done to a couple other files in this package:
https://github.com/scrottie/SOAP-WSDL/tree/master/lib/SOAP/WSDL/Generator/Template/XSD/complexType/POD/simpleContent

Comment 11 Damian Wrobel 2017-02-07 19:37:43 UTC
(In reply to Andrew Bauer from comment #10)
> rpmlint reports some issues:
> 
> perl-SOAP-WSDL.noarch: W: no-documentation
> perl-SOAP-WSDL.noarch: E: zero-length
> /usr/share/perl5/vendor_perl/SOAP/WSDL/Generator/Template/XSD/complexType/
> POD/content_model.tt
> perl-SOAP-WSDL.noarch: W: no-manual-page-for-binary wsdl2perl.pl
> perl-SOAP-WSDL-Apache.noarch: W: no-documentation
> perl-SOAP-WSDL-doc.noarch: W: hidden-file-or-dir
> /usr/share/doc/perl-SOAP-WSDL-doc/example/java/cxf/.classpath
> perl-SOAP-WSDL-doc.noarch: W: hidden-file-or-dir
> /usr/share/doc/perl-SOAP-WSDL-doc/example/java/cxf/.settings
> perl-SOAP-WSDL-doc.noarch: W: hidden-file-or-dir
> /usr/share/doc/perl-SOAP-WSDL-doc/example/java/cxf/.settings
> 4 packages and 0 specfiles checked; 1 errors, 6 warnings.
> 
> These look fixable.
> 
> hidden-file-or-dir
> In %prep, compress the example folder into a .gz and then add that single
> file to %doc.
> If you need an example, look at the sed package srpm.
I don't see anything wrong having a file which I can directly load into Eclipse without any extra steps. FYI in my F25 I have 62 such a files:

# find /usr -name '\.*' | wc -l
62

> 
> no-documentation
> Even though we have a dedicated "doc" subpackage, rpmlint still wants us to
> have a %doc in the other subpackages.
> From looking at a few other example specfiles, lets include the README and
> license in each subpackage.
License is already in all subpackages, I've just moved: Changes, HACKING, README and TODO to the main package.

> 
> no-manual-page-for-binary
> The man page for wsdl2perl gets auto-magically created from the pod text
> during the build:
> Installing
> /builddir/build/BUILDROOT/perl-SOAP-WSDL-3.003-2.fc26.noarch/usr/share/man/
> man1/wsdl2perl.pl.1
> 
> So we just need to pick up this file in %files e.g. 
> %{_mandir}/man1/wsdl2perl.pl.1
> 
It was already there, but in the -doc subpackage which seemed to be misleading for rpmlint, thus I've moved all (two) manpages to main package and rename -doc to -examples as it no longer contains documentation.

> zero-length
> I admit this is a bit picky, but let's insert the string "# No documentation

To me it's purely false positive, in my F25 system I see hundreds similar cases, mostly: __init__.py

# find /usr -size 0 | wc -l
150

> generated for content_model yet" into content_model.tt.
> 
> This appears to be what has been done to a couple other files in this
> package:
> https://github.com/scrottie/SOAP-WSDL/tree/master/lib/SOAP/WSDL/Generator/
> Template/XSD/complexType/POD/simpleContent

Changelog:
- Move man pages, Changes, HACKING, README and TODO to main package,
- Rename subpackage -doc to -examples

Apart from above cosmetic changes, I would prefer not to change other things unless someone has strong argument to do so.

Updated spec & srpm:

Spec URL: https://dwrobel.fedorapeople.org/projects/rpmbuild/SPECS/perl-SOAP-WSDL.spec
SRPM URL: https://dwrobel.fedorapeople.org/projects/rpmbuild/SRPMS/perl-SOAP-WSDL-3.003-4.fc25.src.rpm

Comment 12 Andrew Bauer 2017-02-07 20:38:16 UTC
Understood. Rebuttal accepted.

Latest srpm builds in rawhide:
https://koji.fedoraproject.org/koji/taskinfo?taskID=17656611

Package approved.


Feel free to add my fas account, kni, as a co-maintainer if you are willing.

Thank you for your help getting these dependencies into Fedora. I can finally see the light at the end of the tunnel.

Comment 13 Gwyn Ciesla 2017-02-07 22:24:48 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/perl-SOAP-WSDL

Comment 14 Fedora Update System 2017-02-20 09:51:39 UTC
perl-SOAP-WSDL-3.003-6.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-a18209d128

Comment 15 Fedora Update System 2017-02-20 09:52:35 UTC
perl-SOAP-WSDL-3.003-6.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2017-efa3b938bb

Comment 16 Fedora Update System 2017-02-20 20:23:35 UTC
perl-SOAP-WSDL-3.003-6.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-efa3b938bb

Comment 17 Fedora Update System 2017-02-20 21:22:35 UTC
perl-SOAP-WSDL-3.003-6.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-a18209d128

Comment 18 Fedora Update System 2017-02-23 14:18:19 UTC
perl-SOAP-WSDL-3.003-6.el6 has been submitted as an update to Fedora EPEL 6. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-d1dfba9c55

Comment 19 Fedora Update System 2017-02-23 19:48:05 UTC
perl-SOAP-WSDL-3.003-6.el6 has been pushed to the Fedora EPEL 6 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-d1dfba9c55

Comment 20 Fedora Update System 2017-02-27 01:15:10 UTC
perl-SOAP-WSDL-3.003-6.el7 has been submitted as an update to Fedora EPEL 7. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-a92c705057

Comment 21 Fedora Update System 2017-02-27 23:19:15 UTC
perl-SOAP-WSDL-3.003-6.el7 has been pushed to the Fedora EPEL 7 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2017-a92c705057

Comment 22 Fedora Update System 2017-03-10 11:20:21 UTC
perl-SOAP-WSDL-3.003-6.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.

Comment 23 Fedora Update System 2017-03-13 23:50:00 UTC
perl-SOAP-WSDL-3.003-6.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report.

Comment 24 Fedora Update System 2017-03-13 23:54:10 UTC
perl-SOAP-WSDL-3.003-6.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 25 Fedora Update System 2017-03-14 02:20:30 UTC
perl-SOAP-WSDL-3.003-6.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 26 Fedora Update System 2017-03-14 13:48:33 UTC
perl-SOAP-WSDL-3.003-6.el7 has been pushed to the Fedora EPEL 7 stable repository. If problems still persist, please make note of it in this bug report.


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