Bug#691786: unblock: ruby-locale/2.0.5-6
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package ruby-locale.
This version has fix for #520181 and it has better description.
unblock ruby-locale/2.0.5-6
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable'), (50, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=be_BY.UTF-8, LC_CTYPE=be_BY.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
diff -Nru ruby-locale-2.0.5/debian/changelog ruby-locale-2.0.5/debian/changelog
--- ruby-locale-2.0.5/debian/changelog 2012-06-30 19:01:01.000000000 +0300
+++ ruby-locale-2.0.5/debian/changelog 2012-10-09 23:57:14.000000000 +0300
@@ -1,3 +1,11 @@
+ruby-locale (2.0.5-6) unstable; urgency=low
+
+ * Fix various bugs with charset handling (Closes: #520181)
+ * Fix lintian complaints.
+ * Better package description (thanks to Justin B. Rye).
+
+ -- Hleb Valoshka <375gnu@gmail.com> Tue, 09 Oct 2012 22:33:28 +0300
+
ruby-locale (2.0.5-5) unstable; urgency=low
* Team upload.
diff -Nru ruby-locale-2.0.5/debian/control ruby-locale-2.0.5/debian/control
--- ruby-locale-2.0.5/debian/control 2012-06-30 19:01:01.000000000 +0300
+++ ruby-locale-2.0.5/debian/control 2012-10-07 23:54:45.000000000 +0300
@@ -18,9 +18,13 @@
Breaks: liblocale-ruby1.8 (<< ${source:Version}), liblocale-ruby1.9.1 (<< ${source:Version}), liblocale-ruby (<< ${source:Version})
Replaces: liblocale-ruby1.8 (<< ${source:Version}), liblocale-ruby1.9.1 (<< ${source:Version}), liblocale-ruby (<< ${source:Version})
Provides: liblocale-ruby1.8, liblocale-ruby1.9.1, liblocale-ruby
-Description: Pure ruby locale library
- Ruby-Locale is the pure ruby library which provides basic APIs
- for localization.
+Description: Locale library for Ruby
+ Ruby-Locale is a pure Ruby library which provides a basic API for
+ localization.
+ .
+ It aims to support programs of every kind, from GUI applications to web
+ libraries, on all the platforms that Ruby works on, and to provide a
+ central hub for other i18n/l10n software.
Package: liblocale-ruby
Section: oldlibs
diff -Nru ruby-locale-2.0.5/debian/patches/0004-fix-bugs-with-charset-handling.patch ruby-locale-2.0.5/debian/patches/0004-fix-bugs-with-charset-handling.patch
--- ruby-locale-2.0.5/debian/patches/0004-fix-bugs-with-charset-handling.patch 1970-01-01 03:00:00.000000000 +0300
+++ ruby-locale-2.0.5/debian/patches/0004-fix-bugs-with-charset-handling.patch 2012-09-25 01:39:58.000000000 +0300
@@ -0,0 +1,143 @@
+From: Hleb Valoshka <375GNU@Gmail.COM>
+Date: Wed, 22 Aug 2012 11:36:29 +0300
+Subject: fix bugs with charset handling
+
+ Fixes #520181
+---
+ lib/locale/driver/env.rb | 4 ++--
+ lib/locale/tag/posix.rb | 23 ++++++++++++++++-------
+ lib/locale/taglist.rb | 6 +-----
+ test/test_detect_general.rb | 10 +++++-----
+ 4 files changed, 24 insertions(+), 19 deletions(-)
+
+diff --git a/lib/locale/driver/env.rb b/lib/locale/driver/env.rb
+index 3d08500..78df8c5 100644
+--- a/lib/locale/driver/env.rb
++++ b/lib/locale/driver/env.rb
+@@ -24,11 +24,11 @@ module Locale
+ module Env
+ module_function
+
+- # Gets the locale from environment variable. (LC_ALL > LC_MESSAGES > LANG)
++ # Gets the locale from environment variable. (LC_ALL > LC_CTYPE > LANG)
+ # Returns: the locale as Locale::Tag::Posix.
+ def locale
+ # At least one environment valiables should be set on *nix system.
+- [ENV["LC_ALL"], ENV["LC_MESSAGES"], ENV["LANG"]].each do |loc|
++ [ENV["LC_ALL"], ENV["LC_CTYPE"], ENV["LANG"]].each do |loc|
+ if loc != nil and loc.size > 0
+ return Locale::Tag::Posix.parse(loc)
+ end
+diff --git a/lib/locale/tag/posix.rb b/lib/locale/tag/posix.rb
+index b04aa54..1ce944a 100644
+--- a/lib/locale/tag/posix.rb
++++ b/lib/locale/tag/posix.rb
+@@ -30,9 +30,9 @@ module Locale
+ end
+
+ def self.parse(tag)
+- if tag =~ /^(C|POSIX)$/
+- ret = self.new("en", "US")
+- ret.tag = tag
++ if tag =~ /\A(C|POSIX)(?:\.([^@]+))?\Z/
++ ret = self.new("en", "US", $2)
++ ret.tag = $1
+ ret
+ elsif tag =~ TAG_RE
+ ret = self.new($1, $2, $3, $4)
+@@ -47,10 +47,15 @@ module Locale
+ # <language>_<COUNTRY>.<CHARSET>@<MODIFIER>
+ # (e.g.) "ja_JP.EUC-JP@Modifier"
+ def to_s
+- s = @language.dup
+- s << "_#{@region}" if @region
+- s << ".#{@charset}" if @charset
+- s << "@#{@modifier}" if @modifier
++ if posix?
++ s = tag.dup
++ s << ".#{@charset}" if @charset
++ else
++ s = @language.dup
++ s << "_#{@region}" if @region
++ s << ".#{@charset}" if @charset
++ s << "@#{@modifier}" if @modifier
++ end
+ s
+ end
+
+@@ -92,6 +97,10 @@ module Locale
+ end
+ end
+
++ def posix?
++ ['POSIX', 'C'].include? tag
++ end
++
+ end
+ end
+ end
+diff --git a/lib/locale/taglist.rb b/lib/locale/taglist.rb
+index e5d879c..2b6c8e7 100644
+--- a/lib/locale/taglist.rb
++++ b/lib/locale/taglist.rb
+@@ -46,11 +46,7 @@ module Locale
+ end
+ # Returns the top priority charset. (posix)
+ def charset
+- if self[0].respond_to? :charset
+- self[0].charset
+- else
+- ::Locale.driver_module.charset
+- end
++ self[0].respond_to?(:charset) and self[0].charset or ::Locale.driver_module.charset
+ end
+ memoize :charset
+
+diff --git a/test/test_detect_general.rb b/test/test_detect_general.rb
+index 08b912d..ab71857 100644
+--- a/test/test_detect_general.rb
++++ b/test/test_detect_general.rb
+@@ -6,14 +6,14 @@ class TestDetectGeneral < Test::Unit::TestCase
+ def setup
+ Locale.clear_all
+ ENV["LC_ALL"] = nil
+- ENV["LC_MESSAGES"] = nil
++ ENV["LC_CTYPE"] = nil
+ ENV["LANG"] = nil
+ ENV["LANGUAGE"] = nil
+ end
+
+ def test_lc_all
+ ENV["LC_ALL"] = "ja_JP.eucJP"
+- ENV["LC_MESSAGES"] = "zh_CN.UTF-8" #Ignored.
++ ENV["LC_CTYPE"] = "zh_CN.UTF-8" #Ignored.
+ ENV["LANG"] = "ko_KR.UTF-8" #Ignored.
+ ENV["LANGUAGE"] = nil
+
+@@ -29,7 +29,7 @@ class TestDetectGeneral < Test::Unit::TestCase
+
+ def test_lc_messages
+ ENV["LC_ALL"] = nil
+- ENV["LC_MESSAGES"] = "ja_JP.eucJP"
++ ENV["LC_CTYPE"] = "ja_JP.eucJP"
+ ENV["LANG"] = "ko_KR.UTF-8" #Ignored.
+ ENV["LANGUAGE"] = nil
+
+@@ -45,7 +45,7 @@ class TestDetectGeneral < Test::Unit::TestCase
+
+ def test_lang
+ ENV["LC_ALL"] = nil
+- ENV["LC_MESSAGES"] = nil
++ ENV["LC_CTYPE"] = nil
+ ENV["LANG"] = "ja_JP.eucJP"
+ ENV["LANGUAGE"] = nil
+
+@@ -61,7 +61,7 @@ class TestDetectGeneral < Test::Unit::TestCase
+
+ def test_lang_complex
+ ENV["LC_ALL"] = "zh_CN.UTF-8" # Ignored.
+- ENV["LC_MESSAGES"] = "ko_KR.UTF-8" #Ingored.
++ ENV["LC_CTYPE"] = "ko_KR.UTF-8" #Ingored.
+ ENV["LANG"] = "en_US.UTF-8" # Ignored.
+ ENV["LANGUAGE"] ="ja_JP.eucJP:zh_CN.UTF-8"
+
diff -Nru ruby-locale-2.0.5/debian/patches/0005-fix-call-to-java.util.Locale.new.patch ruby-locale-2.0.5/debian/patches/0005-fix-call-to-java.util.Locale.new.patch
--- ruby-locale-2.0.5/debian/patches/0005-fix-call-to-java.util.Locale.new.patch 1970-01-01 03:00:00.000000000 +0300
+++ ruby-locale-2.0.5/debian/patches/0005-fix-call-to-java.util.Locale.new.patch 2012-09-25 01:39:58.000000000 +0300
@@ -0,0 +1,22 @@
+From: Hleb Valoshka <375GNU@Gmail.COM>
+Date: Wed, 22 Aug 2012 11:37:03 +0300
+Subject: fix call to java.util.Locale.new
+
+ see: http://docs.oracle.com/javase/7/docs/api/java/util/Locale.html#def_variant
+---
+ test/test_driver_jruby.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/test_driver_jruby.rb b/test/test_driver_jruby.rb
+index 692d340..6fe7bbf 100644
+--- a/test/test_driver_jruby.rb
++++ b/test/test_driver_jruby.rb
+@@ -12,7 +12,7 @@ begin
+ end
+
+ def set_locale(tag)
+- java.util.Locale.setDefault(java.util.Locale.new(tag.language, tag.region, tag.variants.to_s))
++ java.util.Locale.setDefault(java.util.Locale.new(tag.language, tag.region, tag.variants.join('_')))
+ end
+
+ def test_charset
diff -Nru ruby-locale-2.0.5/debian/patches/series ruby-locale-2.0.5/debian/patches/series
--- ruby-locale-2.0.5/debian/patches/series 2012-04-29 16:12:25.000000000 +0300
+++ ruby-locale-2.0.5/debian/patches/series 2012-09-25 01:39:58.000000000 +0300
@@ -1,3 +1,5 @@
0001-fix-failure-caused-by-empty-env-variable-language.patch
0002-fix-better-check-of-current-locale-setter-input.patch
0003-fix-untainted-path-under-safe-1.patch
+0004-fix-bugs-with-charset-handling.patch
+0005-fix-call-to-java.util.Locale.new.patch
diff -Nru ruby-locale-2.0.5/debian/source/lintian-overrides ruby-locale-2.0.5/debian/source/lintian-overrides
--- ruby-locale-2.0.5/debian/source/lintian-overrides 1970-01-01 03:00:00.000000000 +0300
+++ ruby-locale-2.0.5/debian/source/lintian-overrides 2012-10-07 23:54:45.000000000 +0300
@@ -0,0 +1,2 @@
+ruby-locale source: duplicate-short-description liblocale-ruby liblocale-ruby1.8 liblocale-ruby1.9.1
+ruby-locale source: duplicate-long-description liblocale-ruby liblocale-ruby1.8 liblocale-ruby1.9.1
Reply to: