[libsoap-wsdl-perl] 08/12: Drop prefix_from_namespace.patch, issue fixed upstream

Damyan Ivanov dmn at moszumanska.debian.org
Fri Jun 12 12:41:07 UTC 2015


This is an automated email from the git hooks/post-receive script.

dmn pushed a commit to branch master
in repository libsoap-wsdl-perl.

commit d8182d45c69f9524294ee7eeb504ad4baaea95a4
Author: Damyan Ivanov <dmn at debian.org>
Date:   Fri Jun 12 12:30:25 2015 +0000

    Drop prefix_from_namespace.patch, issue fixed upstream
---
 debian/patches/prefix_from_namespace.patch | 86 ------------------------------
 debian/patches/series                      |  1 -
 2 files changed, 87 deletions(-)

diff --git a/debian/patches/prefix_from_namespace.patch b/debian/patches/prefix_from_namespace.patch
deleted file mode 100644
index 972d203..0000000
--- a/debian/patches/prefix_from_namespace.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-Description: fix reversal of namespace hashes to get a prefix hash
-Author: Damyan Ivanov <dmn at debian.org>
-Bug: https://rt.cpan.org/Ticket/Display.html?id=74257
-Bug-Debian: http://bugs.debian.org/720964
-
---- a/lib/SOAP/WSDL/Base.pm
-+++ b/lib/SOAP/WSDL/Base.pm
-@@ -174,6 +174,38 @@ sub schema {
-     return $parent->schema();
- }
- 
-+# this is used when we have a namespaces hash, but need to find the prefix to
-+# some namespace
-+# using %prefix = reverse %namespace; can break, as %namespace may contain
-+# duplicate values, due to the '#default' key:
-+#
-+#      '#default' => 'urn:myNamespace',
-+#      'tns'      => 'urn:myNamespace',
-+#      'xml'      => 'http://www.w3.org/XML/1998/namespace',
-+#      'wsdl'     => 'http://schemas.xmlsoap.org/wsdl/',
-+#      'xsd'      => 'http://www.w3.org/2001/XMLSchema',
-+#      'soap'     => 'http://schemas.xmlsoap.org/wsdl/soap/'
-+#
-+# 'reverse'-ing that with Perl 5.18 gives 'urn:myNamespace' => '#default' or
-+# 'urn:myNamespace' => 'tns' with 50% probability due to the hash randomization
-+# feature.
-+# Using reverse causes t/003_wsdl_based_serializer.t to fail most of the time
-+# because the prefix for 'urn:myNamespace' is sometimes '#default' (wrong),
-+# sometimes 'tns' (right)
-+
-+sub prefix_from_namespace {
-+    my ( $self, $ns ) = @_;
-+
-+    my %prefix;
-+
-+    while ( my ( $prefix, $ns ) = each %$ns ) {
-+        $prefix{$ns} = $prefix
-+            unless $prefix eq '#default' and exists $prefix{$ns};
-+    }
-+
-+    return \%prefix;
-+}
-+
- 1;
- 
- __END__
---- a/lib/SOAP/WSDL/XSD/Builtin.pm
-+++ b/lib/SOAP/WSDL/XSD/Builtin.pm
-@@ -19,8 +19,8 @@ sub serialize {
-     $xml .= '<' . join ' ', $name, @{ $opt->{ attributes } };
-     if ( $opt->{ autotype }) {
-         my $ns = $self->get_targetNamespace();
--        my %prefix_of = reverse %{ $opt->{ namespace } };
--        my $prefix = $prefix_of{ $ns }
-+        my $prefix_of = $self->prefix_from_namespace( $opt->{ namespace } );
-+        my $prefix = $prefix_of->{ $ns }
-             || die 'No prefix found for namespace '. $ns;
-         $xml .= ' type="' . $prefix . ':'
-           . $self->get_name() . '"';
---- a/lib/SOAP/WSDL/XSD/ComplexType.pm
-+++ b/lib/SOAP/WSDL/XSD/ComplexType.pm
-@@ -98,8 +98,8 @@ sub serialize {
-     if ( $opt->{ autotype }) {
-         my $ns = $self->get_targetNamespace();
-         # reverse namespace by prefix hash
--        my %prefix_of = reverse %{ $opt->{ namespace } };
--        my $prefix = $prefix_of{ $ns }
-+        my $prefix_of = $self->prefix_from_namespace( $opt->{ namespace } );
-+        my $prefix = $prefix_of->{ $ns }
-             || die 'No prefix found for namespace '. $ns;
-         $xml .= join q{}, " type=\"$prefix:", $self->get_name(), '" '
-             if ($self->get_name() );
---- a/lib/SOAP/WSDL/XSD/SimpleType.pm
-+++ b/lib/SOAP/WSDL/XSD/SimpleType.pm
-@@ -100,9 +100,9 @@ sub _serialize_single {
-     $xml .= '<' . join ' ', $name, @{ $opt->{ attributes } };
-     if ( $opt->{ autotype }) {
-         # reverse namespace by prefix hash
--        my %prefix_of = reverse %{ $opt->{ namespace } };
-+        my $prefix_of = $self->prefix_from_namespace( $opt->{namespace} );
-         my $ns = $self->get_targetNamespace();
--        my $prefix = $prefix_of{ $ns }
-+        my $prefix = $prefix_of->{ $ns }
-            || die 'No prefix found for namespace '. $ns;
-         $xml .= ' type="' . $prefix . ':' . $self->get_name() .'"';
-     }
diff --git a/debian/patches/series b/debian/patches/series
index cd27528..890a7d2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,5 +1,4 @@
 pod-whatis.patch
 pod-spelling.patch
-prefix_from_namespace.patch
 use-Test::XML.patch
 fix-HeaderFault-base.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libsoap-wsdl-perl.git



More information about the Pkg-perl-cvs-commits mailing list