[DRE-commits] [SCM] gem2deb.git branch, master, updated. 0.2.14-8-g334b903
Antonio Terceiro
terceiro at debian.org
Tue Jun 5 18:40:41 UTC 2012
The following commit has been merged in the master branch:
commit 448f71ff16745e4d105bee5f84f1e21f3f43da70
Author: Antonio Terceiro <terceiro at debian.org>
Date: Tue Jun 5 14:53:12 2012 -0300
Do not crash on non-UTF8 files
diff --git a/lib/gem2deb/dh_ruby.rb b/lib/gem2deb/dh_ruby.rb
index 8e3fcfd..c252d72 100644
--- a/lib/gem2deb/dh_ruby.rb
+++ b/lib/gem2deb/dh_ruby.rb
@@ -198,7 +198,7 @@ module Gem2Deb
packages.each do |pkg|
pkg.chomp!
ruby_source_files_in_package(pkg).each do |f|
- lines = IO::readlines(f)
+ lines = readlines(f)
rglines = lines.select { |l| l =~ /require.*rubygems/ && l !~ /^\s*#/ }
rglines.each do |l|
if not overrides.include?(f)
@@ -214,6 +214,14 @@ module Gem2Deb
end
end
+ def readlines(filename)
+ if String.instance_methods.include?(:valid_encoding?)
+ File.readlines(filename).select { |l| l.valid_encoding? }
+ else
+ File.readlines(filename)
+ end
+ end
+
def ruby_source_files_in_package(pkg)
Dir["debian/#{pkg}/usr/lib/ruby/vendor_ruby/**/*.rb"]
end
diff --git a/test/encondings/latin1.rb b/test/encondings/latin1.rb
new file mode 100644
index 0000000..6bdb008
--- /dev/null
+++ b/test/encondings/latin1.rb
@@ -0,0 +1 @@
+# áéíóú
diff --git a/test/encondings/utf8.rb b/test/encondings/utf8.rb
new file mode 100644
index 0000000..2449b96
--- /dev/null
+++ b/test/encondings/utf8.rb
@@ -0,0 +1 @@
+# áéÃóú
diff --git a/test/unit/dh_ruby_test.rb b/test/unit/dh_ruby_test.rb
index 5ceb8de..ac0c34b 100644
--- a/test/unit/dh_ruby_test.rb
+++ b/test/unit/dh_ruby_test.rb
@@ -177,6 +177,17 @@ class DhRubyTest < Gem2DebTestCase
@dh_ruby.expects(:handle_test_failure).never
@dh_ruby.send(:check_rubygems)
end
+
+ %w[
+ utf8
+ latin1
+ ].each do |encoding|
+ should "handle #{encoding}" do
+ @dh_ruby.stubs(:ruby_source_files_in_package).returns(["test/encondings/#{encoding}.rb"])
+ @dh_ruby.send(:check_rubygems)
+ end
+ end
+
end
context 'libraries with name clash (between foo.rb and foo.so)' do
--
gem2deb.git
More information about the Pkg-ruby-extras-commits
mailing list