[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