Package: release.debian.org Severity: normal User: release.debian....@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 <375...@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 <375...@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 <375...@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