[perl-SOAP-Lite/f13] Do not pull optional mod_perl in, do not use sysread() under mod_perl

Petr Sabata psabata at fedoraproject.org
Tue May 17 12:21:39 UTC 2011


commit 59b526938be1a096ca33c78591fb673efdd47823
Author: Petr Sabata <psabata at redhat.com>
Date:   Tue May 17 14:20:44 2011 +0200

    Do not pull optional mod_perl in, do not use sysread() under mod_perl

 perl-SOAP-Lite-0.712-mod_perl.patch |   24 ++++++++++++++++++++++++
 perl-SOAP-Lite.spec                 |   15 ++++++++++-----
 2 files changed, 34 insertions(+), 5 deletions(-)
---
diff --git a/perl-SOAP-Lite-0.712-mod_perl.patch b/perl-SOAP-Lite-0.712-mod_perl.patch
new file mode 100644
index 0000000..c4cb252
--- /dev/null
+++ b/perl-SOAP-Lite-0.712-mod_perl.patch
@@ -0,0 +1,24 @@
+diff --git a/lib/SOAP/Transport/HTTP.pm b/lib/SOAP/Transport/HTTP.pm
+index f16b990..284c57d 100644
+--- a/lib/SOAP/Transport/HTTP.pm
++++ b/lib/SOAP/Transport/HTTP.pm
+@@ -566,9 +566,16 @@ sub handle {
+         if ( !$chunked ) {
+             my $buffer;
+             binmode(STDIN);
+-            while ( sysread( STDIN, $buffer, $length ) ) {
+-                $content .= $buffer;
+-                last if ( length($content) >= $length );
++            if ( defined $ENV{'MOD_PERL'} ) {
++                while ( read( STDIN, $buffer, $length ) ) {
++                    $content .= $buffer;
++                    last if ( length($content) >= $length );
++                }
++            } else {
++                while ( sysread( STDIN, $buffer, $length ) ) {
++                    $content .= $buffer;
++                    last if ( length($content) >= $length );
++                }
+             }
+         }
+ 
diff --git a/perl-SOAP-Lite.spec b/perl-SOAP-Lite.spec
index d9a200d..ff2d7f0 100644
--- a/perl-SOAP-Lite.spec
+++ b/perl-SOAP-Lite.spec
@@ -1,11 +1,13 @@
 Name:       perl-SOAP-Lite
 Version:    0.712
-Release:    3%{?dist}
+Release:    4%{?dist}
 Summary:    Client and server side SOAP implementation
 License:    GPL+ or Artistic
 Group:      Development/Libraries
 URL:        http://search.cpan.org/dist/SOAP-Lite/
 Source0:    http://search.cpan.org/CPAN/authors/id/M/MK/MKUTTER/SOAP-Lite-%{version}.tar.gz
+# rhbz#663931, rt#58538
+Patch0:     perl-SOAP-Lite-0.712-mod_perl.patch
 BuildArch:  noarch
 
 # Core package
@@ -31,10 +33,6 @@ BuildRequires:  perl(IO::Socket::SSL)
 BuildRequires:  perl(Compress::Zlib)
 
 Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
-Requires:       perl(Apache2::Const)
-Requires:       perl(Apache2::RequestIO)
-Requires:       perl(Apache2::RequestRec)
-Requires:       perl(Apache2::Util)
 Requires:       perl(Compress::Zlib)
 Requires:       perl(Encode)
 Requires:       perl(Errno)
@@ -62,6 +60,7 @@ client and server side.
 
 %prep
 %setup -q -n SOAP-Lite-%{version}
+%patch0 -p1 -b .mod_perl
 find examples -type f -exec chmod ugo-x {} \;
 
 %build
@@ -92,6 +91,12 @@ make test
 %{_mandir}/man1/*
 
 %changelog
+* Tue May 17 2011 Petr Sabata <psabata at redhat.com> - 0.712-4
+- Do not require Apache2::*; this introduces mod_perl/httpd dependencies
+  This is optional and needed only when running under mod_perl which provides
+  those modules. (#705084)
+- Use read() instead of sysread() under mod_perl (#663931), mod_perl patch
+
 * Fri Apr  8 2011 Petr Sabata <psabata at redhat.com> - 0.712-3
 - BuildArch: noarch
 



More information about the perl-devel mailing list