[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