[DRE-maint] Bug#593082: libxml-parser-ruby1.9.1: load error with ruby 1.9.2

Hideki Yamane henrich at debian.or.jp
Mon Dec 20 11:11:57 UTC 2010


tags 593082 patch
thanks

Hi,

 Anyway, adding digest.rb (with 1 line change) to package would solve this 
 problem. Here's proposed patch.
 

diff -Nru libxml-parser-ruby-0.7.1/debian/changelog libxml-parser-ruby-0.7.1/debian/changelog
--- libxml-parser-ruby-0.7.1/debian/changelog	2010-06-12 14:09:23.000000000 +0900
+++ libxml-parser-ruby-0.7.1/debian/changelog	2010-12-20 20:12:56.000000000 +0900
@@ -1,3 +1,11 @@
+libxml-parser-ruby (0.7.1-1.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * debian/patches
+    - add add_digest_rb.patch to work with ruby1.9.1 (Closes: #593082) 
+
+ -- Hideki Yamane <henrich at debian.org>  Mon, 20 Dec 2010 20:12:04 +0900
+
 libxml-parser-ruby (0.7.1-1) unstable; urgency=low
 
   * New upstream release
diff -Nru libxml-parser-ruby-0.7.1/debian/patches/add_digest_rb.patch libxml-parser-ruby-0.7.1/debian/patches/add_digest_rb.patch
--- libxml-parser-ruby-0.7.1/debian/patches/add_digest_rb.patch	1970-01-01 09:00:00.000000000 +0900
+++ libxml-parser-ruby-0.7.1/debian/patches/add_digest_rb.patch	2010-12-20 20:11:34.000000000 +0900
@@ -0,0 +1,99 @@
+Index: libxml-parser-ruby-0.7.1/lib/xml/dom/digest.rb
+===================================================================
+--- /dev/null	1970-01-01 00:00:00.000000000 +0000
++++ libxml-parser-ruby-0.7.1/lib/xml/dom/digest.rb	2010-12-20 20:11:29.229496446 +0900
+@@ -0,0 +1,94 @@
++## -*- Ruby -*-
++## DOMHASH test implementation
++## 1999 by yoshidam
++##
++## Apr 20, 1999 Change for draft-hiroshi-dom-hash-01.txt
++##
++
++require 'xml/dom/core'
++require 'digest/md5'
++require 'uconv'
++
++module XML
++  module DOM
++
++    def self.tou16(str)
++      Uconv.u16swap(Uconv.u8tou16(str))
++    end
++
++    class Node
++      def getDigest(force = false)
++        nil
++      end
++    end
++
++    class Text
++      def getDigest(force = false)
++        (!force && @digest) ||
++          @digest = MD5.new([TEXT_NODE].pack("N") + DOM.tou16(nodeValue)).digest
++      end
++    end
++
++##    class Comment
++##      def getDigest(force = false)
++##        (!force && @digest) ||
++##          @digest = MD5.new([COMMENT_NODE].pack("N") + DOM.tou16(data)).digest
++##      end
++##    end
++
++    class ProcessingInstruction
++      def getDigest(force = false)
++        (!force && @digest) ||
++          @digest = MD5.new([PROCESSING_INSTRUCTION_NODE].pack("N") +
++                            DOM.tou16(target) + "\0\0" + DOM.tou16(data)).digest
++      end
++    end
++
++    class Attr
++      def getDigest(force = false)
++        (!force && @digest) ||
++          @digest = MD5.new([ATTRIBUTE_NODE].pack("N") +
++                            DOM.tou16(nodeName) + "\0\0" + DOM.tou16(nodeValue)).digest
++      end
++    end
++
++    class NamedNodeMap
++      include Enumerable
++    end
++
++    class NodeList
++      include Enumerable
++    end
++
++    class Element
++      def getDigest(force = false)
++        return @digest if (!force && @digest)
++        attr = attributes
++        children = childNodes
++        attr_digests = ""
++        children_digests = ""
++        if attr
++          attr_array = attr.sort {|a, b|
++            DOM.tou16(a.nodeName) <=> DOM.tou16(b.nodeName)}
++          attr_array.each {|a|
++            attr_digests << a.getDigest(force)
++          }
++        end
++        children_num = 0
++        children.each {|c|
++          next if c.nodeType == COMMENT_NODE
++          children_num += 1
++          children_digests << c.getDigest(force)
++        }
++        @digest = MD5.new([ELEMENT_NODE].pack("N") +
++                          DOM.tou16(nodeName) +
++                          "\0\0" +
++                          [attr.length].pack("N") +
++                          attr_digests +
++                          [children_num].pack("N") +
++                          children_digests).digest
++      end
++    end
++
++  end
++end
diff -Nru libxml-parser-ruby-0.7.1/debian/patches/series libxml-parser-ruby-0.7.1/debian/patches/series
--- libxml-parser-ruby-0.7.1/debian/patches/series	2010-05-12 19:10:32.000000000 +0900
+++ libxml-parser-ruby-0.7.1/debian/patches/series	2010-12-20 20:10:14.000000000 +0900
@@ -1 +1,2 @@
 replaces_gt_symbol_by_enconded_version.patch
+add_digest_rb.patch






More information about the Pkg-ruby-extras-maintainers mailing list