Hello community, here is the log from the commit of package perl-RPC-XML for openSUSE:Factory checked in at 2015-04-25 21:16:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-RPC-XML (Old) and /work/SRC/openSUSE:Factory/.perl-RPC-XML.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-RPC-XML" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-RPC-XML/perl-RPC-XML.changes 2013-07-01 15:59:26.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-RPC-XML.new/perl-RPC-XML.changes 2015-04-25 21:16:10.000000000 +0200 @@ -1,0 +2,62 @@ +Tue Apr 14 15:37:32 UTC 2015 - [email protected] + +- updated to 0.78 + see /usr/share/doc/packages/perl-RPC-XML/ChangeLog + + 0.78 Thursday February 6, 2014, 08:00:00 PM -0800 + + * lib/RPC/XML.pm + A patch to loop detection in smart_encode from Dag-Erling + Smørgrav. Some other minor bits. + + * lib/RPC/XML/Procedure.pm + RT #83108: Fixed a spelling error. Some other fixes, too. + + * lib/RPC/XML.pm + RT #86187: Force key-ordering in struct as_string and + serialize. Was getting some intermittent bug reports of + failures in t/15_serialize.t that amounted to the keys in a + fault struct not being in consistent order. + + * lib/RPC/XML.pm + * t/15_serialize.t + Undo the previous change and fix the test. The previous change + didn't feel right, so this rolls it back and fixes the problem + at the level of the test, instead. + + * Makefile.PL + * lib/RPC/XML.pm + * lib/RPC/XML/Client.pm + * lib/RPC/XML/Server.pm + Replace direct evals for loading optional modules with + Module::Load. Required adding this to Makefile.PL because + Module::Load is not core in 5.8.8. Also did some slight doc + tweaking. + + * lib/RPC/XML.pm + * lib/RPC/XML/Client.pm + Merge pull request #5 from alexrj/utf8-encode. Use + utf8::encode() instead of utf8::downgrade(). + + * lib/RPC/XML.pm + * lib/RPC/XML/Client.pm + * lib/RPC/XML/Server.pm + Finish the uft8 encode vs. downgrade change from the previous + commit. Changed in places that were overlooked, and adjusted + the version number in all three modules. + + * lib/RPC/XML.pm + * lib/RPC/XML/Parser/XMLLibXML.pm + Merge pull request #6 from dctabuyz/master. Added 'no_blanks' + libxml option to skip blank XML::LibXML::Text nodes. + + * lib/RPC/XML/Server.pm + Merge pull request #7 from kvar/master. Initialize $do_compress + in RPC::XML::Server between requests. + + * lib/RPC/XML.pm + * lib/RPC/XML/Parser/XMLLibXML.pm + * lib/RPC/XML/Server.pm + Bump version numbers on modules changed in github pulls. + +------------------------------------------------------------------- Old: ---- RPC-XML-0.77.tar.gz New: ---- RPC-XML-0.78.tar.gz cpanspec.yml ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-RPC-XML.spec ++++++ --- /var/tmp/diff_new_pack.F8aqWc/_old 2015-04-25 21:16:11.000000000 +0200 +++ /var/tmp/diff_new_pack.F8aqWc/_new 2015-04-25 21:16:11.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-RPC-XML # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,56 +17,59 @@ Name: perl-RPC-XML -Version: 0.77 +Version: 0.78 Release: 0 %define cpan_name RPC-XML -Summary: A set of classes for core data, message and XML handling -License: GPL-1.0+ or Artistic-1.0 +Summary: Set of Classes for Core Data, Message and Xml Handling +License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/RPC-XML/ -Source: http://www.cpan.org/authors/id/R/RJ/RJRAY/RPC-XML-%{version}.tar.gz -#PATCH-FIX-OPENSUSE - [email protected] - fix build in chroot/buildservice -Patch1: RPC-XML-0.60-rev127.dif -Patch2: RPC-XML-0.76-extern_ent.dif -#PATCH-FIX-UPSTREAM - [email protected] RT#86187 -Patch3: RPC-XML-0.77-fixtest.dif +Source0: http://www.cpan.org/authors/id/R/RJ/RJRAY/%{cpan_name}-%{version}.tar.gz +Source1: cpanspec.yml +Patch0: RPC-XML-0.60-rev127.dif +Patch1: RPC-XML-0.76-extern_ent.dif +Patch2: RPC-XML-0.77-fixtest.dif +BuildArch: noarch +BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros -BuildRequires: perl(File::Spec) >= 0.8 BuildRequires: perl(LWP) >= 5.834 +BuildRequires: perl(Module::Load) >= 0.24 BuildRequires: perl(Scalar::Util) >= 1.19 -BuildRequires: perl(XML::LibXML) >= 1.70 +BuildRequires: perl(Test::More) >= 0.94 BuildRequires: perl(XML::Parser) >= 2.31 -BuildRequires: perl(constant) >= 1.03 -Requires: perl(File::Spec) >= 0.8 Requires: perl(LWP) >= 5.834 +Requires: perl(Module::Load) >= 0.24 Requires: perl(Scalar::Util) >= 1.19 -Requires: perl(XML::LibXML) >= 1.70 +Requires: perl(Test::More) >= 0.94 Requires: perl(XML::Parser) >= 2.31 -Requires: perl(constant) >= 1.03 -BuildRoot: %{_tmppath}/%{name}-%{version}-build -BuildArch: noarch +Recommends: perl(Compress::Raw::Zlib) >= 2.063 +Recommends: perl(DateTime) >= 0.70 +Recommends: perl(DateTime::Format::ISO8601) >= 0.07 +Recommends: perl(XML::LibXML) >= 1.85 %{perl_requires} %description -The *RPC::XML* package is an implementation of the *XML-RPC* standard. +The *RPC::XML* package is an implementation of the *XML-RPC* standard. The +package as a whole provides classes for data, for clients, for servers and +for parsers (based on the XML::Parser and XML::LibXML packages from CPAN). -The package provides a set of classes for creating values to pass to the +This module provides a set of classes for creating values to pass to the constructors for requests and responses. These are lightweight objects, -most of which are implemented as tied scalars so as to associate specific -type information with the value. Classes are also provided for requests, -responses, faults (errors) and a parser based on the the XML::Parser -manpage package from CPAN. +most of which are implemented as blessed scalar references so as to +associate specific type information with the value. Classes are also +provided for requests, responses and faults (errors). This module does not actually provide any transport implementation or -server basis. For these, see the RPC::XML::Client manpage and the -RPC::XML::Server manpage, respectively. +server basis. For these, see RPC::XML::Client and RPC::XML::Server, +respectively. %prep %setup -q -n %{cpan_name}-%{version} -%patch1 -p0 -%patch2 -%patch3 -p1 +find . -type f -print0 | xargs -0 chmod 644 +%patch0 +%patch1 +%patch2 -p1 %build %{__perl} Makefile.PL INSTALLDIRS=vendor @@ -80,11 +83,8 @@ %perl_process_packlist %perl_gen_filelist -%clean -%{__rm} -rf %{buildroot} - %files -f %{name}.files -%defattr(644,root,root,755) +%defattr(-,root,root,755) %doc ChangeLog ChangeLog.xml README README.apache2 %changelog ++++++ RPC-XML-0.77-fixtest.dif ++++++ --- /var/tmp/diff_new_pack.F8aqWc/_old 2015-04-25 21:16:11.000000000 +0200 +++ /var/tmp/diff_new_pack.F8aqWc/_new 2015-04-25 21:16:11.000000000 +0200 @@ -1,8 +1,8 @@ -Index: RPC-XML-0.77/lib/RPC/XML.pm +Index: RPC-XML-0.78/lib/RPC/XML.pm =================================================================== ---- RPC-XML-0.77.orig/lib/RPC/XML.pm -+++ RPC-XML-0.77/lib/RPC/XML.pm -@@ -842,7 +842,7 @@ sub as_string +--- RPC-XML-0.78.orig/lib/RPC/XML.pm ++++ RPC-XML-0.78/lib/RPC/XML.pm +@@ -848,7 +848,7 @@ sub as_string ("<member><name>$_</name><value>", $clean{$_}, '</value></member>') @@ -11,7 +11,7 @@ '</struct>'; } -@@ -854,7 +854,7 @@ sub serialize +@@ -860,7 +860,7 @@ sub serialize my $key; print {$fh} '<struct>'; @@ -19,4 +19,4 @@ + for (sort keys %{$self}) { ($key = $_) =~ s/$RPC::XML::XMLRE/$RPC::XML::XMLMAP{$1}/ge; - utf8::downgrade($key); + utf8::encode($key); ++++++ RPC-XML-0.77.tar.gz -> RPC-XML-0.78.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/ChangeLog new/RPC-XML-0.78/ChangeLog --- old/RPC-XML-0.77/ChangeLog 2012-09-03 20:52:19.000000000 +0200 +++ new/RPC-XML-0.78/ChangeLog 2014-02-07 05:06:10.000000000 +0100 @@ -9,6 +9,62 @@ allowing choice of character-set encodings for XML messages. +0.78 Thursday February 6, 2014, 08:00:00 PM -0800 + + * lib/RPC/XML.pm + A patch to loop detection in smart_encode from Dag-Erling + Smørgrav. Some other minor bits. + + * lib/RPC/XML/Procedure.pm + RT #83108: Fixed a spelling error. Some other fixes, too. + + * lib/RPC/XML.pm + RT #86187: Force key-ordering in struct as_string and + serialize. Was getting some intermittent bug reports of + failures in t/15_serialize.t that amounted to the keys in a + fault struct not being in consistent order. + + * lib/RPC/XML.pm + * t/15_serialize.t + Undo the previous change and fix the test. The previous change + didn't feel right, so this rolls it back and fixes the problem + at the level of the test, instead. + + * Makefile.PL + * lib/RPC/XML.pm + * lib/RPC/XML/Client.pm + * lib/RPC/XML/Server.pm + Replace direct evals for loading optional modules with + Module::Load. Required adding this to Makefile.PL because + Module::Load is not core in 5.8.8. Also did some slight doc + tweaking. + + * lib/RPC/XML.pm + * lib/RPC/XML/Client.pm + Merge pull request #5 from alexrj/utf8-encode. Use + utf8::encode() instead of utf8::downgrade(). + + * lib/RPC/XML.pm + * lib/RPC/XML/Client.pm + * lib/RPC/XML/Server.pm + Finish the uft8 encode vs. downgrade change from the previous + commit. Changed in places that were overlooked, and adjusted + the version number in all three modules. + + * lib/RPC/XML.pm + * lib/RPC/XML/Parser/XMLLibXML.pm + Merge pull request #6 from dctabuyz/master. Added 'no_blanks' + libxml option to skip blank XML::LibXML::Text nodes. + + * lib/RPC/XML/Server.pm + Merge pull request #7 from kvar/master. Initialize $do_compress + in RPC::XML::Server between requests. + + * lib/RPC/XML.pm + * lib/RPC/XML/Parser/XMLLibXML.pm + * lib/RPC/XML/Server.pm + Bump version numbers on modules changed in github pulls. + 0.77 Monday September 3, 2012, 12:00:00 PM -0700 * t/15_serialize.t @@ -1741,9 +1797,9 @@ * * All files are tracked from this point forward. -# Generated on Monday September 3, 2012, 11:48:20 AM -0700 -# Using changelog2x/0.11, App::Changelog2x/0.11, XML::LibXML/2.0004, -# XML::LibXSLT/1.77, libxml/2.7.3, libxslt/1.1.24 (with exslt) +# Generated on Thursday February 6, 2014, 07:59:57 PM -0800 +# Using changelog2x/0.11, App::Changelog2x/0.11, XML::LibXML/2.0108, +# XML::LibXSLT/1.80, libxml/2.7.8, libxslt/1.1.24 (with exslt) # XSLT sources: # $Id: changelog2text.xslt 8 2009-01-19 06:46:50Z rjray $ # $Id: common-text.xslt 8 2009-01-19 06:46:50Z rjray $ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/ChangeLog.xml new/RPC-XML-0.78/ChangeLog.xml --- old/RPC-XML-0.77/ChangeLog.xml 2012-09-03 20:44:31.000000000 +0200 +++ new/RPC-XML-0.78/ChangeLog.xml 2014-02-07 04:59:52.000000000 +0100 @@ -16,6 +16,105 @@ extensions to the base protocol in terms of supporting HTTP/1.1 and allowing choice of character-set encodings for XML messages. </description> + <release date="2014-02-06T20:00:00-08:00" version="0.78" sc:tag="0.78"> + <change git:commit="4c9208b3309cd332cd9b19f7553ab29ce4b90491"> + <file path="lib/RPC/XML.pm" /> + <description> + A patch to loop detection in smart_encode from Dag-Erling Smørgrav. + Some other minor bits. + </description> + </change> + <change git:commit="ae9a69e1176bef9211da57e480ca3e06b4d35c61"> + <file path="lib/RPC/XML/Procedure.pm" /> + <description> + <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=83108">RT #83108</xhtml:a>: + Fixed a spelling error. Some other fixes, too. + </description> + </change> + <change git:commit="f6cee931344ffa6a757eb526b02de33c30b672f8"> + <file path="lib/RPC/XML.pm" /> + <description> + <xhtml:a href="https://rt.cpan.org/Ticket/Display.html?id=86187">RT #86187</xhtml:a>: + Force key-ordering in struct as_string and serialize. + Was getting some intermittent bug reports of failures in + t/15_serialize.t that amounted to the keys in a fault struct not being + in consistent order. + </description> + </change> + <change git:commit="33617691326a0bc01efea624e05c65047f1c6154"> + <fileset> + <file path="lib/RPC/XML.pm" /> + <file path="t/15_serialize.t" /> + </fileset> + <description> + Undo the previous change and fix the test. The previous change didn't + feel right, so this rolls it back and fixes the problem at the level of + the test, instead. + </description> + </change> + <change git:commit="e340f5f43c386f918216ff9c445239d4c7d90b4c"> + <fileset> + <file path="Makefile.PL" /> + <file path="lib/RPC/XML.pm" /> + <file path="lib/RPC/XML/Client.pm" /> + <file path="lib/RPC/XML/Server.pm" /> + </fileset> + <description> + Replace direct evals for loading optional modules with Module::Load. + Required adding this to Makefile.PL because Module::Load is not core + in 5.8.8. Also did some slight doc tweaking. + </description> + </change> + <change git:commit="c00cd567fd32e4e6e35622434246bce14df58b93"> + <fileset> + <file path="lib/RPC/XML.pm" /> + <file path="lib/RPC/XML/Client.pm" /> + </fileset> + <description> + Merge pull request #5 from alexrj/utf8-encode. Use utf8::encode() + instead of utf8::downgrade(). + </description> + </change> + <change git:commit="e63f767f7d40f4629157f7fc67ea172bdc9f6e8c"> + <fileset> + <file path="lib/RPC/XML.pm" /> + <file path="lib/RPC/XML/Client.pm" /> + <file path="lib/RPC/XML/Server.pm" /> + </fileset> + <description> + Finish the uft8 encode vs. downgrade change from the previous commit. + Changed in places that were overlooked, and adjusted the version + number in all three modules. + </description> + </change> + <change git:commit="fd84f87624cffe3667212fb9c2a8d32a6bdc7fbe"> + <fileset> + <file path="lib/RPC/XML.pm" /> + <file path="lib/RPC/XML/Parser/XMLLibXML.pm" /> + </fileset> + <description> + Merge pull request #6 from dctabuyz/master. Added 'no_blanks' libxml + option to skip blank XML::LibXML::Text nodes. + </description> + </change> + <change git:commit="856da319f0ff661c81dab46c6b857fc058d72cea"> + <file path="lib/RPC/XML/Server.pm" /> + <description> + Merge pull request #7 from kvar/master. Initialize $do_compress in + RPC::XML::Server between requests. + </description> + </change> + <change git:commit="c22977c83bc411c95443f7056c9f7776371fe9df"> + <fileset> + <file path="lib/RPC/XML.pm" /> + <file path="lib/RPC/XML/Parser/XMLLibXML.pm" /> + <file path="lib/RPC/XML/Server.pm" /> + </fileset> + <description> + Bump version numbers on modules changed in github pulls. + </description> + </change> + </release> <release date="2012-09-03T12:00:00-07:00" version="0.77" sc:tag="0.77"> <change git:commit="23ea1e487cf203e826ddf8a09d450986dfa29599"> <file path="t/15_serialize.t" /> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/META.json new/RPC-XML-0.78/META.json --- old/RPC-XML-0.77/META.json 2012-09-03 20:55:46.000000000 +0200 +++ new/RPC-XML-0.78/META.json 2014-02-07 05:11:54.000000000 +0100 @@ -4,7 +4,7 @@ "Randy J. Ray" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.120921", + "generated_by" : "ExtUtils::MakeMaker version 6.86, CPAN::Meta::Converter version 2.133380", "license" : [ "perl_5" ], @@ -32,6 +32,7 @@ }, "runtime" : { "recommends" : { + "Compress::Raw::Zlib" : "2.063", "DateTime" : "0.70", "DateTime::Format::ISO8601" : "0.07", "XML::LibXML" : "1.85" @@ -39,6 +40,7 @@ "requires" : { "File::Spec" : "0.8", "LWP" : "5.834", + "Module::Load" : "0.24", "Scalar::Util" : "1.19", "Test::More" : "0.94", "XML::Parser" : "2.31", @@ -57,5 +59,5 @@ "url" : "http://github.com/rjray/rpc-xml" } }, - "version" : "0.77" + "version" : "0.78" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/META.yml new/RPC-XML-0.78/META.yml --- old/RPC-XML-0.77/META.yml 2012-09-03 20:55:46.000000000 +0200 +++ new/RPC-XML-0.78/META.yml 2014-02-07 05:11:54.000000000 +0100 @@ -7,7 +7,7 @@ configure_requires: ExtUtils::MakeMaker: 0 dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 6.62, CPAN::Meta::Converter version 2.120921' +generated_by: 'ExtUtils::MakeMaker version 6.86, CPAN::Meta::Converter version 2.133380' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -18,12 +18,14 @@ - t - inc recommends: + Compress::Raw::Zlib: 2.063 DateTime: 0.70 DateTime::Format::ISO8601: 0.07 XML::LibXML: 1.85 requires: File::Spec: 0.8 LWP: 5.834 + Module::Load: 0.24 Scalar::Util: 1.19 Test::More: 0.94 XML::Parser: 2.31 @@ -33,4 +35,4 @@ bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=RPC-XML homepage: http://search.cpan.org/dist/RPC-XML repository: http://github.com/rjray/rpc-xml -version: 0.77 +version: 0.78 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/Makefile.PL new/RPC-XML-0.78/Makefile.PL --- old/RPC-XML-0.77/Makefile.PL 2012-09-03 20:32:36.000000000 +0200 +++ new/RPC-XML-0.78/Makefile.PL 2014-02-07 04:54:05.000000000 +0100 @@ -9,7 +9,6 @@ use ExtUtils::MakeMaker; use File::Spec; use File::Find; -use Cwd 'cwd'; my ($vol, $dir, undef) = File::Spec->splitpath(File::Spec->rel2abs($0)); $dir = File::Spec->catpath($vol, $dir, ''); @@ -66,7 +65,7 @@ WriteMakefile( NAME => 'RPC::XML', - VERSION => '0.77', + VERSION => '0.78', AUTHOR => 'Randy J. Ray', ABSTRACT => 'Data, client and server classes for XML-RPC', EXE_FILES => \@scripts, @@ -78,6 +77,7 @@ 'Test::More' => 0.94, 'LWP' => 5.834, 'XML::Parser' => 2.31, + 'Module::Load' => 0.24, }, dist => { COMPRESS => 'gzip -9f' }, clean => { FILES => $CLEAN }, @@ -88,6 +88,7 @@ 'XML::LibXML' => '1.85', 'DateTime' => '0.70', 'DateTime::Format::ISO8601' => '0.07', + 'Compress::Raw::Zlib' => '2.063', }, resources => { homepage => 'http://search.cpan.org/dist/RPC-XML', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/README new/RPC-XML-0.78/README --- old/RPC-XML-0.77/README 2012-09-03 20:54:54.000000000 +0200 +++ new/RPC-XML-0.78/README 2014-02-07 05:08:25.000000000 +0100 @@ -1,6 +1,6 @@ RPC::XML - An implementation of XML-RPC -Version: 0.77 +Version: 0.78 WHAT IS IT @@ -66,55 +66,56 @@ CHANGES -* t/15_serialize.t -Fix a test failure on Windows. +* lib/RPC/XML.pm +A patch to loop detection in smart_encode from Dag-Erling +Smørgrav. Some other minor bits. + +* lib/RPC/XML/Procedure.pm +RT #83108: Fixed a spelling error. Some other fixes, too. * lib/RPC/XML.pm -RT #70408: Fix spelling error in man page, reported by Debian -group. +RT #86187: Force key-ordering in struct as_string and +serialize. Was getting some intermittent bug reports of +failures in t/15_serialize.t that amounted to the keys in a +fault struct not being in consistent order. -* t/90_rt54183_sigpipe.t -Fix to handle cases where server creation fails. Now skips the -tests rather than dying. +* lib/RPC/XML.pm +* t/15_serialize.t +Undo the previous change and fix the test. The previous change +didn't feel right, so this rolls it back and fixes the problem +at the level of the test, instead. +* Makefile.PL +* lib/RPC/XML.pm * lib/RPC/XML/Client.pm -RT #67486: Add port to Host header in client requests. - * lib/RPC/XML/Server.pm -RT #65341: Added "use" of forgotten library File::Temp. This -was causing failure when "message_file_thresh" kicked in. - -* t/10_data.t -RT #78602: Changed 64-bit test from use64bitint to longsize. On -some systems (such as OS X), use64bitint can be true even when -in 32-bit mode. +Replace direct evals for loading optional modules with +Module::Load. Required adding this to Makefile.PL because +Module::Load is not core in 5.8.8. Also did some slight doc +tweaking. -* t/21_xml_libxml.t -Fix from Christian Walde, skip passed test on Windows. +* lib/RPC/XML.pm +* lib/RPC/XML/Client.pm +Merge pull request #5 from alexrj/utf8-encode. Use +utf8::encode() instead of utf8::downgrade(). +* lib/RPC/XML.pm +* lib/RPC/XML/Client.pm * lib/RPC/XML/Server.pm -* t/40_server.t -Checkpoint refactoring and additional tests. Work is not -complete here, but the Net::Server changes demand immediate -attention - -* t/20_xml_parser.t -RT #72780: Check for a possible parser failure. One instance of -XML::Parser failing to parse the extern entities test. Cannot -reproduce, so wrap it in a "skip" block for now. +Finish the uft8 encode vs. downgrade change from the previous +commit. Changed in places that were overlooked, and adjusted +the version number in all three modules. -* lib/RPC/XML/Procedure.pm -* t/30_method.t -RT #71452: Correct handling of dateTime parameters. Existing -code in lib/RPC/XML/Procedure.pm did not properly handle -parameters of the dateTime.iso8601 type. Also, there were no -tests for these. - -* MANIFEST -* t/30_method.t (deleted) -* t/30_proceudre.t (added) -Renamed t/30_method.t to t/30_procedure.t. +* lib/RPC/XML.pm +* lib/RPC/XML/Parser/XMLLibXML.pm +Merge pull request #6 from dctabuyz/master. Added 'no_blanks' +libxml option to skip blank XML::LibXML::Text nodes. + +* lib/RPC/XML/Server.pm +Merge pull request #7 from kvar/master. Initialize $do_compress +in RPC::XML::Server between requests. +* lib/RPC/XML.pm +* lib/RPC/XML/Parser/XMLLibXML.pm * lib/RPC/XML/Server.pm -RT #77992: Make RPC::XML::Server work with Net::Server again, -after the API changes of Net::Server 2.x. +Bump version numbers on modules changed in github pulls. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/lib/RPC/XML/Client.pm new/RPC-XML-0.78/lib/RPC/XML/Client.pm --- old/RPC-XML-0.77/lib/RPC/XML/Client.pm 2011-08-23 19:10:00.000000000 +0200 +++ new/RPC-XML-0.78/lib/RPC/XML/Client.pm 2014-02-05 16:32:33.000000000 +0100 @@ -1,6 +1,6 @@ ############################################################################### # -# This file copyright (c) 2001-2011 Randy J. Ray, all rights reserved +# This file copyright (c) 2001-2014 Randy J. Ray, all rights reserved # # Copying and distribution are permitted under the terms of the Artistic # License 2.0 (http://www.opensource.org/licenses/artistic-license-2.0.php) or @@ -23,6 +23,8 @@ # HTTP::Request # URI # RPC::XML +# RPC::XML::ParserFactory +# Compress::Raw::Zlib is used if available # # Global Consts: $VERSION # @@ -37,30 +39,26 @@ use subs qw(new simple_request send_request uri useragent request fault_handler error_handler combined_handler timeout); -use LWP::UserAgent; -use HTTP::Request; -use URI; use Scalar::Util 'blessed'; use File::Temp; use IO::Handle; +use Module::Load; + +use LWP::UserAgent; +use HTTP::Request; +use URI; use RPC::XML; -require RPC::XML::ParserFactory; +use RPC::XML::ParserFactory; BEGIN { # Check for compression support - if (eval { require Compress::Zlib; 1; }) - { - $COMPRESSION_AVAILABLE = ($@) ? q{} : 'deflate'; - } - else - { - $COMPRESSION_AVAILABLE = q{}; - } + $COMPRESSION_AVAILABLE = + (eval { load Compress::Zlib; 1; }) ? 'deflate' : q{}; } -$VERSION = '1.40'; +$VERSION = '1.42'; $VERSION = eval $VERSION; ## no critic (ProhibitStringyEval) ############################################################################### @@ -354,7 +352,7 @@ else { # Treat the content strictly in-memory - utf8::downgrade($content = $req->as_string); + utf8::encode($content = $req->as_string); if ($do_compress) { $content = Compress::Zlib::compress($content); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/lib/RPC/XML/Parser/XMLLibXML.pm new/RPC-XML-0.78/lib/RPC/XML/Parser/XMLLibXML.pm --- old/RPC-XML-0.77/lib/RPC/XML/Parser/XMLLibXML.pm 2011-07-23 09:02:47.000000000 +0200 +++ new/RPC-XML-0.78/lib/RPC/XML/Parser/XMLLibXML.pm 2014-02-06 17:19:34.000000000 +0100 @@ -42,7 +42,7 @@ use Scalar::Util 'reftype'; use XML::LibXML; -$VERSION = '1.20'; +$VERSION = '1.21'; $VERSION = eval $VERSION; ## no critic (ProhibitStringyEval) # This is to identify valid types that don't already have special handling @@ -94,7 +94,8 @@ no_network => 1, expand_xinclude => 0, expand_entities => 1, - load_ext_dtd => 0 + load_ext_dtd => 0, + no_blanks => 1 ); # I really don't need the full granularity of XML::LibXML::InputCallback # here, but the ext_ent_handler was not working with the version of @@ -275,9 +276,7 @@ my ($self, $dom) = @_; my ($method_name, @args); - my @nodes = grep { ! ($_->isa('XML::LibXML::Text') && - ($_->textContent =~ /^\s*$/)) } - ($dom->childNodes); + my @nodes = $dom->childNodes; if (@nodes > 2) { @@ -331,9 +330,8 @@ my $param; my $me = __PACKAGE__ . '::dom_response'; - my @children = grep { ! ($_->isa('XML::LibXML::Text') && - ($_->textContent =~ /^\s*$/)) } - ($dom->childNodes); + my @children = $dom->childNodes; + if (1 != @children) { return "$me: Illegal content within methodResponse: " . @@ -346,9 +344,8 @@ # This is like delegating to dom_params() in the parsing of a request, # but it is limited to a single value (which is why it has to be # tested here). - @children = grep { ! ($_->isa('XML::LibXML::Text') && - ($_->textContent =~ /^\s*$/)) } - ($node->childNodes); + @children = $node->childNodes; + if (1 != @children) { return @@ -362,9 +359,8 @@ # We know that $children[0] is the sole <param> tag. Look at its # content to see that we have exactly one <value> tag. - @children = grep { ! ($_->isa('XML::LibXML::Text') && - ($_->textContent =~ /^\s*$/)) } - ($children[0]->childNodes); + @children = $children[0]->childNodes; + if (1 != @children) { return @@ -386,9 +382,8 @@ elsif ($node->nodeName eq 'fault') { # Make sure that we have a single <value></value> container - my @sub_children = grep { ! ($_->isa('XML::LibXML::Text') && - ($_->textContent =~ /^\s*$/)) } - ($node->childNodes); + my @sub_children = $node->childNodes; + if (1 != @sub_children) { return @@ -436,19 +431,13 @@ # which contains a single <value> block. for my $child ($node->childNodes) { - if ($child->isa('XML::LibXML::Text') && $child->textContent =~ /^\s*$/) - { - next; - } - if ((my $tag = $child->nodeName) ne 'param') { return "$me: Unknown tag in params: $tag (expected 'param')"; } # There should be exactly one child, named 'value' - my @children = grep { ! ($_->isa('XML::LibXML::Text') && - ($_->textContent =~ /^\s*$/)) } - ($child->childNodes); + my @children = $child->childNodes; + if (1 != @children) { return "$me: Too many child-nodes for param tag"; @@ -473,9 +462,8 @@ my $me = __PACKAGE__ . '::dom_value'; # Make sure we have only one child-node - my @children = grep { ! ($_->isa('XML::LibXML::Text') && - ($_->textContent =~ /^\s*$/)) } - ($node->childNodes); + my @children = $node->childNodes; + if (1 != @children) { return "$me: Too many child-nodes for value tag"; @@ -534,16 +522,13 @@ } elsif ($nodename eq 'array') { - @children = grep { ! ($_->isa('XML::LibXML::Text') && - ($_->textContent =~ /^\s*$/)) } - ($children[0]->childNodes); + @children = $children[0]->childNodes; + if ((1 != @children) || ($children[0]->nodeName ne 'data')) { return "$me: array tag must have just one child element, 'data'"; } - @children = grep { ! ($_->isa('XML::LibXML::Text') && - ($_->textContent =~ /^\s*$/)) } - ($children[0]->childNodes); + @children = $children[0]->childNodes; # Make sure every child node is a <value> tag if (my @bad = grep { $_->nodeName() ne 'value' } @children) @@ -573,9 +558,8 @@ } elsif ($nodename eq 'struct') { - @children = grep { ! ($_->isa('XML::LibXML::Text') && - ($_->textContent =~ /^\s*$/)) } - ($children[0]->childNodes); + @children = $children[0]->childNodes; + # Make sure every child node is a <member> tag if (my @bad = grep { $_->nodeName() ne 'member'} @children) { @@ -588,9 +572,7 @@ $value = {}; for my $member (@children) { - my @mchildren = grep { ! ($_->isa('XML::LibXML::Text') && - ($_->textContent =~ /^\s*$/)) } - ($member->childNodes); + my @mchildren = $member->childNodes; if (2 != @mchildren) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/lib/RPC/XML/Procedure.pm new/RPC-XML-0.78/lib/RPC/XML/Procedure.pm --- old/RPC-XML-0.77/lib/RPC/XML/Procedure.pm 2012-08-27 07:52:09.000000000 +0200 +++ new/RPC-XML-0.78/lib/RPC/XML/Procedure.pm 2013-04-27 18:57:05.000000000 +0200 @@ -51,24 +51,20 @@ use strict; use warnings; use vars qw($VERSION %VALID_TYPES); -use subs qw( - new name code signature help version hidden add_signature - delete_signature make_sig_table match_signature reload load_xpl_file -); use File::Spec; use Scalar::Util 'blessed'; use RPC::XML 'smart_encode'; -# This module also provides RPC::XML::Method +# This module also provides RPC::XML::Method and RPC::XML::Function ## no critic (ProhibitMultiplePackages) -$VERSION = '1.29'; +$VERSION = '1.30'; $VERSION = eval $VERSION; ## no critic (ProhibitStringyEval) # This should match the set of type-classes defined in RPC::XML.pm. Note that -# we use "datetime_iso8601" instead of "dateTime.iso8601", because that is how +# we use "dateTime.iso8601" instead of "datetime_iso8601", because that is how # it has to be in the signature. %VALID_TYPES = map { $_ => 1 } (qw(int i4 i8 double string boolean dateTime.iso8601 nil array struct @@ -941,7 +937,7 @@ Returns the name by which the server is advertising the method. Unlike the next few accessors, this cannot be changed on an object. In order to -streamline the managment of methods within the server classes, this must +streamline the management of methods within the server classes, this must persist. However, the other elements may be used in the creation of a new object, which may then be added to the server, if the name absolutely must change. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/lib/RPC/XML/Server.pm new/RPC-XML-0.78/lib/RPC/XML/Server.pm --- old/RPC-XML-0.77/lib/RPC/XML/Server.pm 2012-08-29 18:32:28.000000000 +0200 +++ new/RPC-XML-0.78/lib/RPC/XML/Server.pm 2014-02-06 17:17:58.000000000 +0100 @@ -1,6 +1,6 @@ ############################################################################### # -# This file copyright (c) 2001-2011 Randy J. Ray, all rights reserved +# This file copyright (c) 2001-2014 Randy J. Ray, all rights reserved # # Copying and distribution are permitted under the terms of the Artistic # License 2.0 (http://www.opensource.org/licenses/artistic-license-2.0.php) or @@ -55,6 +55,7 @@ # RPC::XML # RPC::XML::ParserFactory # RPC::XML::Procedure +# Compress::Raw::Zlib is used if available # # Global Consts: $VERSION # $INSTALL_DIR @@ -74,11 +75,12 @@ use File::Spec; use File::Temp; use IO::Handle; +use Module::Load; +use Scalar::Util 'blessed'; use HTTP::Status; use HTTP::Response; use URI; -use Scalar::Util 'blessed'; use RPC::XML; use RPC::XML::ParserFactory; @@ -97,10 +99,8 @@ $IO_SOCKET_SSL_HACK_NEEDED = 1; # Check for compression support - if (! eval { require Compress::Zlib; $COMPRESSION_AVAILABLE = 'deflate'; }) - { - $COMPRESSION_AVAILABLE = q{}; - } + $COMPRESSION_AVAILABLE = + (eval { load Compress::Zlib; 1; }) ? 'deflate' : q{}; # Set up the initial table of fault-types and their codes/messages %FAULT_TABLE = ( @@ -118,7 +118,7 @@ ); } -$VERSION = '1.70'; +$VERSION = '1.73'; $VERSION = eval $VERSION; ## no critic (ProhibitStringyEval) ############################################################################### @@ -874,6 +874,7 @@ # Get a XML::Parser::ExpatNB object $parser = $self->parser->parse(); + $do_compress = 0; # in case it was set for a previous response if (($req->content_encoding || q{}) =~ $self->compress_re) { if (! $self->compress) @@ -1114,7 +1115,7 @@ else { # Treat the content strictly in-memory - utf8::downgrade($buf = $respxml->as_string); + utf8::encode($buf = $respxml->as_string); if ($do_compress) { $buf = Compress::Zlib::compress($buf); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/lib/RPC/XML.pm new/RPC-XML-0.78/lib/RPC/XML.pm --- old/RPC-XML-0.77/lib/RPC/XML.pm 2011-08-22 11:29:30.000000000 +0200 +++ new/RPC-XML-0.78/lib/RPC/XML.pm 2014-02-06 17:19:16.000000000 +0100 @@ -1,6 +1,6 @@ ############################################################################### # -# This file copyright (c) 2001-2011 Randy J. Ray, all rights reserved +# This file copyright (c) 2001-2014 Randy J. Ray, all rights reserved # # Copying and distribution are permitted under the terms of the Artistic # License 2.0 (http://www.opensource.org/licenses/artistic-license-2.0.php) or @@ -15,6 +15,7 @@ # examine them individually. # # Libraries: RPC::XML::base64 uses MIME::Base64 +# DateTime::Format::ISO8601 is used if available # # Global Consts: $VERSION # @@ -31,10 +32,14 @@ use subs qw(time2iso8601 smart_encode); use base 'Exporter'; +use Module::Load; use Scalar::Util qw(blessed reftype); +# The RPC_* convenience-encoders need prototypes: ## no critic (ProhibitSubroutinePrototypes) +# This module declares all the data-type packages: ## no critic (ProhibitMultiplePackages) +# The data-type package names trigger this one: ## no critic (Capitalization) BEGIN @@ -50,8 +55,7 @@ # Determine if the DateTime::Format::ISO8601 module is available for # RPC::XML::datetime_iso8601 to use: - my $retval = eval 'use DateTime::Format::ISO8601; 1;'; - $DATETIME_ISO8601_AVAILABLE = $retval ? 1 : 0; + $DATETIME_ISO8601_AVAILABLE = eval { load DateTime::Format::ISO8601; 1; }; } @EXPORT_OK = qw(time2iso8601 smart_encode @@ -63,7 +67,7 @@ RPC_NIL) ], all => [ @EXPORT_OK ]); -$VERSION = '1.56'; +$VERSION = '1.60'; $VERSION = eval $VERSION; ## no critic (ProhibitStringyEval) # Global error string @@ -77,6 +81,7 @@ q{&} => '&', q{"} => '"', q{'} => ''', + "\x0d" => '
' ); $XMLRE = join q{} => keys %XMLMAP; $XMLRE = qr/([$XMLRE])/; @@ -258,6 +263,7 @@ $type = reftype $_; die "Un-convertable reference: $type, cannot use\n"; } + $seenrefs->{$_}--; } # You have to check ints first, because they match the # next pattern (for doubles) too @@ -399,7 +405,7 @@ substr $class, 0, 8, 'dateTime'; } - return "<$class>$$self</$class>"; + return "<$class>${$self}</$class>"; } # Serialization for simple types is just a matter of sending as_string over @@ -407,7 +413,7 @@ { my ($self, $fh) = @_; - utf8::downgrade(my $str = $self->as_string); + utf8::encode(my $str = $self->as_string); print {$fh} $str; return; @@ -419,7 +425,7 @@ { my $self = shift; - utf8::downgrade(my $str = $self->as_string); + utf8::encode(my $str = $self->as_string); return length $str; } @@ -857,7 +863,7 @@ for (keys %{$self}) { ($key = $_) =~ s/$RPC::XML::XMLRE/$RPC::XML::XMLMAP{$1}/ge; - utf8::downgrade($key); + utf8::encode($key); print {$fh} "<member><name>$key</name><value>"; $self->{$_}->serialize($fh); print {$fh} '</value></member>'; @@ -877,7 +883,7 @@ { $len += 45; # For all the constant XML presence $len += $self->{$key}->length; - utf8::downgrade($key); + utf8::encode($key); $len += length $key; } @@ -1094,7 +1100,7 @@ my $cnt = 0; $self->{fh_pos} = tell $self->{value_fh}; - seek$self->{value_fh}, 0, 0; + seek $self->{value_fh}, 0, 0; while ($cnt = read $self->{value_fh}, $buf, 60*57) { $len += length(MIME::Base64::encode_base64($buf, q{})); @@ -1408,7 +1414,7 @@ sub serialize { my ($self, $fh) = @_; - utf8::downgrade(my $name = $self->{name}); + utf8::encode(my $name = $self->{name}); print {$fh} qq(<?xml version="1.0" encoding="$RPC::XML::ENCODING"?>); @@ -1430,7 +1436,7 @@ my $self = shift; my $len = 100 + length $RPC::XML::ENCODING; # All the constant XML present - utf8::downgrade(my $name = $self->{name}); + utf8::encode(my $name = $self->{name}); $len += length $name; for (@{$self->{args}}) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/t/13_no_deep_recursion.t new/RPC-XML-0.78/t/13_no_deep_recursion.t --- old/RPC-XML-0.77/t/13_no_deep_recursion.t 2011-07-23 09:02:46.000000000 +0200 +++ new/RPC-XML-0.78/t/13_no_deep_recursion.t 2013-06-06 01:25:10.000000000 +0200 @@ -45,7 +45,7 @@ is(scalar(keys %$newval), 3, 'Cyclical struct <2> has correct num of keys'); is(scalar(@{$newval->{b}}), 3, 'Cyclical struct <2> array elem is correct'); is($newval->{a}, 'a', 'Cyclical struct <2> other key no. 1 correct'); -is($newval->{c}, 1, 'Cyclical struct <2> other key no. 2 correct'); +is($newval->{c}, 1, 'Cyclical struct <2> other key no. 2 correct'); is(scalar(keys %{$newval->{b}->[1]}), 2, 'Cyclical struct <2> nested hash has correct keys'); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/RPC-XML-0.77/t/15_serialize.t new/RPC-XML-0.78/t/15_serialize.t --- old/RPC-XML-0.77/t/15_serialize.t 2011-08-22 11:11:49.000000000 +0200 +++ new/RPC-XML-0.78/t/15_serialize.t 2013-06-06 06:09:51.000000000 +0200 @@ -96,7 +96,22 @@ $data = ''; read $ofh, $data, -s $ofh; -is($data, $faux_res->as_string, 'Fault-response content is correct'); +# There have been some changes to how Perl handles iteration of hash keys. +# As a result, this test has started failing a lot because of the order of +# keys when serialized doesn't match the order of keys from as_string(). So +# to get around this, just compare it to both variations that can occur. +my $variant1 = '<?xml version="1.0" encoding="us-ascii"?><methodResponse>' . + '<fault><value><struct><member><name>faultString</name><value><string>' . + 'test</string></value></member><member><name>faultCode</name><value>' . + '<int>1</int></value></member></struct></value></fault></methodResponse>'; +my $variant2 = '<?xml version="1.0" encoding="us-ascii"?><methodResponse>' . + '<fault><value><struct><member><name>faultCode</name><value><int>1</int>' . + '</value></member><member><name>faultString</name><value><string>test' . + '</string></value></member></struct></value></fault></methodResponse>'; +ok( + ($data eq $variant1) || ($data eq $variant2), + 'Fault-response content is correct' +); close $ofh; unlink $tmpfile; ++++++ cpanspec.yml ++++++ --- #description_paragraphs: 3 #no_testing: broken upstream #sources: # - source1 # - source2 patches: #PATCH-FIX-OPENSUSE - [email protected] - fix build in chroot/buildservice RPC-XML-0.60-rev127.dif: RPC-XML-0.76-extern_ent.dif: #PATCH-FIX-UPSTREAM - [email protected] RT#86187 RPC-XML-0.77-fixtest.dif: -p1 # foo.patch: -p1 # bar.patch: #preamble: |- # BuildRequires: gcc-c++ #post_prep: |- # hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s, *,,g'` # sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL #post_install: |- # sed on %{name}.files #license: SUSE-NonFree #skip_noarch: 1 #custom_build: - #./Build build flags=%{?_smp_mflags} --myflag
