diff --git a/.gitignore b/.gitignore
index 32ebac8..33fe67e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/ruby-2.0.0-p353.tar.bz2
+SOURCES/ruby-2.0.0-p598.tar.bz2
diff --git a/.ruby.metadata b/.ruby.metadata
index 6a41a3d..e991c7c 100644
--- a/.ruby.metadata
+++ b/.ruby.metadata
@@ -1 +1 @@
-0be863f1c39d7764c52cbb79ca06105743e27c42 SOURCES/ruby-2.0.0-p353.tar.bz2
+992416657832c775ff41452af81c962981ddbde2 SOURCES/ruby-2.0.0-p598.tar.bz2
diff --git a/SOURCES/config.h b/SOURCES/config.h
index ce501db..b34e398 100644
--- a/SOURCES/config.h
+++ b/SOURCES/config.h
@@ -20,7 +20,12 @@
 #elif defined(__ia64__)
 #include "ruby/config-ia64.h"
 #elif defined(__powerpc64__)
+#include <endian.h>
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
 #include "ruby/config-ppc64.h"
+#else
+#include "ruby/config-ppc64le.h"
+#endif
 #elif defined(__powerpc__)
 #include "ruby/config-ppc.h"
 #elif defined(__s390x__)
diff --git a/SOURCES/ruby-1.9.3-always-use-i386.patch b/SOURCES/ruby-1.9.3-always-use-i386.patch
index 8b724a8..761f8f2 100644
--- a/SOURCES/ruby-1.9.3-always-use-i386.patch
+++ b/SOURCES/ruby-1.9.3-always-use-i386.patch
@@ -11,7 +11,7 @@ diff --git a/configure.in b/configure.in
 index 418b0cb..d26fe5b 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -3419,6 +3419,8 @@ AC_SUBST(vendorarchdir)dnl
+@@ -3471,6 +3471,8 @@ AC_SUBST(vendorarchdir)dnl
  configure_args=$ac_configure_args
  AC_SUBST(configure_args)dnl
  
diff --git a/SOURCES/ruby-1.9.3-custom-rubygems-location.patch b/SOURCES/ruby-1.9.3-custom-rubygems-location.patch
index 90ad58d..7bcc443 100644
--- a/SOURCES/ruby-1.9.3-custom-rubygems-location.patch
+++ b/SOURCES/ruby-1.9.3-custom-rubygems-location.patch
@@ -14,7 +14,7 @@ diff --git a/configure.in b/configure.in
 index 1627d12..e064b2b 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -3349,6 +3349,13 @@ AC_ARG_WITH(vendorarchdir,
+@@ -3401,6 +3401,13 @@ AC_ARG_WITH(vendorarchdir,
              [vendorarchdir=$withval],
              [vendorarchdir=${multiarch+'${rubysitearchprefix}/vendor_ruby/${ruby_version}'}${multiarch-'${vendorlibdir}/${sitearch}'}])
  
@@ -28,7 +28,7 @@ index 1627d12..e064b2b 100644
  unexpand_shvar rubylibprefix       exec_prefix libdir RUBY_BASE_NAME
  unexpand_shvar rubyarchprefix      exec_prefix libdir arch RUBY_BASE_NAME archlibdir rubylibprefix
  unexpand_shvar rubysitearchprefix  exec_prefix libdir sitearch arch RUBY_BASE_NAME archlibdir sitearchlibdir rubylibprefix
-@@ -3415,6 +3422,7 @@ AC_SUBST(sitearchdir)dnl
+@@ -3467,6 +3474,7 @@ AC_SUBST(sitearchdir)dnl
  AC_SUBST(vendordir)dnl
  AC_SUBST(vendorlibdir)dnl
  AC_SUBST(vendorarchdir)dnl
@@ -40,7 +40,7 @@ diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
 index 92e54c6..c72dfb6 100755
 --- a/tool/rbinstall.rb
 +++ b/tool/rbinstall.rb
-@@ -313,6 +313,7 @@ sitelibdir = CONFIG["sitelibdir"]
+@@ -320,6 +320,7 @@ sitelibdir = CONFIG["sitelibdir"]
  sitearchlibdir = CONFIG["sitearchdir"]
  vendorlibdir = CONFIG["vendorlibdir"]
  vendorarchlibdir = CONFIG["vendorarchdir"]
@@ -48,7 +48,7 @@ index 92e54c6..c72dfb6 100755
  mandir = CONFIG["mandir", true]
  docdir = CONFIG["docdir", true]
  configure_args = Shellwords.shellwords(CONFIG["configure_args"])
-@@ -500,7 +501,15 @@ end
+@@ -507,7 +508,15 @@ end
  install?(:local, :comm, :lib) do
    prepare "library scripts", rubylibdir
    noinst = %w[README* *.txt *.rdoc *.gemspec]
diff --git a/SOURCES/ruby-1.9.3-mkmf-verbose.patch b/SOURCES/ruby-1.9.3-mkmf-verbose.patch
index de78ad8..cc93b45 100644
--- a/SOURCES/ruby-1.9.3-mkmf-verbose.patch
+++ b/SOURCES/ruby-1.9.3-mkmf-verbose.patch
@@ -11,7 +11,7 @@ diff --git a/lib/mkmf.rb b/lib/mkmf.rb
 index 4b6c52e..67a15ee 100644
 --- a/lib/mkmf.rb
 +++ b/lib/mkmf.rb
-@@ -1777,7 +1777,7 @@ SRC
+@@ -1791,7 +1791,7 @@ SRC
  SHELL = /bin/sh
  
  # V=0 quiet, V=1 verbose.  other values don't work.
diff --git a/SOURCES/ruby-2.0.0-Prevent-duplicated-paths-when-empty-version-string-i.patch b/SOURCES/ruby-2.0.0-Prevent-duplicated-paths-when-empty-version-string-i.patch
index 58d602d..238a503 100644
--- a/SOURCES/ruby-2.0.0-Prevent-duplicated-paths-when-empty-version-string-i.patch
+++ b/SOURCES/ruby-2.0.0-Prevent-duplicated-paths-when-empty-version-string-i.patch
@@ -13,7 +13,7 @@ diff --git a/configure.in b/configure.in
 index 5850bbf..7604bb8 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -3367,6 +3367,9 @@ unexpand_shvar exec_prefix         prefix
+@@ -3419,6 +3419,9 @@ unexpand_shvar exec_prefix         prefix
  if test ${RUBY_LIB_VERSION_STYLE+set}; then
      AC_DEFINE_UNQUOTED(RUBY_LIB_VERSION_STYLE, $RUBY_LIB_VERSION_STYLE !<verconf>!)
  else
diff --git a/SOURCES/ruby-2.0.0-p247-Make-stable-Gem-Specification.files-in-default-.gems.patch b/SOURCES/ruby-2.0.0-p247-Make-stable-Gem-Specification.files-in-default-.gems.patch
deleted file mode 100644
index 2989954..0000000
--- a/SOURCES/ruby-2.0.0-p247-Make-stable-Gem-Specification.files-in-default-.gems.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From fb9fcc8b01d968c62577756cbfd00f20a10b5cbf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
-Date: Tue, 9 Jul 2013 12:32:49 +0200
-Subject: [PATCH] Make stable Gem::Specification.files in default .gemspecs
-
-Although the .gemspec files for default gems are same in function, the
-different order of their "s.files" makes them different therefore
-possibly conflicting in multilib scenario.
----
- tool/rbinstall.rb | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
-index 1063fac..fb2fcee 100755
---- a/tool/rbinstall.rb
-+++ b/tool/rbinstall.rb
-@@ -592,7 +592,7 @@ module RbInstall
-       end
- 
-       def collect
--        ruby_libraries + built_libraries
-+        (ruby_libraries + built_libraries).sort
-       end
- 
-       private
--- 
-1.8.3.1
-
diff --git a/SOURCES/ruby-2.0.0-p247-Revert-mkmf.rb-prefix-install_dirs-only-with-DESTDIR.patch b/SOURCES/ruby-2.0.0-p247-Revert-mkmf.rb-prefix-install_dirs-only-with-DESTDIR.patch
index fa7d946..e4e7c51 100644
--- a/SOURCES/ruby-2.0.0-p247-Revert-mkmf.rb-prefix-install_dirs-only-with-DESTDIR.patch
+++ b/SOURCES/ruby-2.0.0-p247-Revert-mkmf.rb-prefix-install_dirs-only-with-DESTDIR.patch
@@ -46,7 +46,7 @@ index ee89198..cca487e 100644
        ]
      end
      dirs << ['target_prefix', (target_prefix ? "/#{target_prefix}" : "")]
-@@ -1728,7 +1728,6 @@ SRC
+@@ -1741,7 +1741,6 @@ SRC
    end
  
    def with_destdir(dir)
@@ -54,7 +54,7 @@ index ee89198..cca487e 100644
      dir = dir.sub($dest_prefix_pattern, '')
      /\A\$[\(\{]/ =~ dir ? dir : "$(DESTDIR)"+dir
    end
-@@ -1787,8 +1786,8 @@ ECHO = $(ECHO1:0=@echo)
+@@ -1800,8 +1799,8 @@ ECHO = $(ECHO1:0=@echo)
  #### Start of system configuration section. ####
  #{"top_srcdir = " + $top_srcdir.sub(%r"\A#{Regexp.quote($topdir)}/", "$(topdir)/") if $extmk}
  srcdir = #{srcdir.gsub(/\$\((srcdir)\)|\$\{(srcdir)\}/) {mkintpath(CONFIG[$1||$2]).unspace}}
diff --git a/SOURCES/ruby-2.0.0-p594-CVE-2014-8080-REXML-billion-laughs-attack.patch b/SOURCES/ruby-2.0.0-p594-CVE-2014-8080-REXML-billion-laughs-attack.patch
deleted file mode 100644
index de00efa..0000000
--- a/SOURCES/ruby-2.0.0-p594-CVE-2014-8080-REXML-billion-laughs-attack.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-Index: ChangeLog
-===================================================================
---- ChangeLog	(revision 48161)
-+++ ChangeLog	(revision 48162)
-@@ -1,3 +1,9 @@
-+Mon Oct 27 20:21:05 2014  NAKAMURA Usaku  <usa@ruby-lang.org>
-+
-+	* lib/rexml/entity.rb: keep the entity size within the limitation.
-+	  reported by Willis Vandevanter <will@silentrobots.com> and
-+	  patched by nahi.
-+
- Mon Sep 22 12:10:29 2014  Tanaka Akira  <akr@fsij.org>
- 
- 	* test/ruby/test_time_tz.rb: Fix test error with tzdata-2014g.
-Index: lib/rexml/entity.rb
-===================================================================
---- lib/rexml/entity.rb	(revision 48161)
-+++ lib/rexml/entity.rb	(revision 48162)
-@@ -138,8 +138,14 @@
-         matches = @value.scan(PEREFERENCE_RE)
-         rv = @value.clone
-         if @parent
-+          sum = 0
-           matches.each do |entity_reference|
-             entity_value = @parent.entity( entity_reference[0] )
-+            if sum + entity_value.bytesize > Document.entity_expansion_text_limit
-+              raise "entity expansion has grown too large"
-+            else
-+              sum += entity_value.bytesize
-+            end
-             rv.gsub!( /%#{entity_reference.join};/um, entity_value )
-           end
-         end
-Index: test/rexml/test_document.rb
-===================================================================
---- test/rexml/test_document.rb	(revision 48161)
-+++ test/rexml/test_document.rb	(revision 48162)
-@@ -47,6 +47,20 @@
- </member>
- EOF
- 
-+    XML_WITH_NESTED_PARAMETER_ENTITY = <<EOF
-+<!DOCTYPE root [
-+  <!ENTITY % a "BOOM.BOOM.BOOM.BOOM.BOOM.BOOM.BOOM.BOOM.BOOM.">
-+  <!ENTITY % b "%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;">
-+  <!ENTITY % c "%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;">
-+  <!ENTITY % d "%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;">
-+  <!ENTITY % e "%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;">
-+  <!ENTITY % f "%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;">
-+  <!ENTITY % g "%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;">
-+  <!ENTITY test "test %g;">
-+]>
-+<cd></cd>
-+EOF
-+
-   XML_WITH_4_ENTITY_EXPANSION = <<EOF
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE member [
-@@ -85,6 +99,19 @@
-     REXML::Document.entity_expansion_limit = 10000
-   end
- 
-+  def test_entity_expansion_limit_for_parameter_entity
-+    assert_raise(REXML::ParseException) do
-+      REXML::Document.new(XML_WITH_NESTED_PARAMETER_ENTITY)
-+    end
-+    REXML::Document.entity_expansion_limit = 100
-+    assert_equal(100, REXML::Document.entity_expansion_limit)
-+    assert_raise(REXML::ParseException) do
-+      REXML::Document.new(XML_WITH_NESTED_PARAMETER_ENTITY)
-+    end
-+  ensure
-+    REXML::Document.entity_expansion_limit = 10000
-+  end
-+
-   def test_tag_in_cdata_with_not_ascii_only_but_ascii8bit_encoding_source
-     tag = "<b>...</b>"
-     message = "こんにちは、世界!" # Hello world! in Japanese
-Index: test/rexml/test_entity.rb
-===================================================================
---- test/rexml/test_entity.rb	(revision 48161)
-+++ test/rexml/test_entity.rb	(revision 48162)
-@@ -122,6 +122,22 @@
-     end
-   end
- 
-+  def test_entity_string_limit_for_parameter_entity
-+    template = '<!DOCTYPE bomb [ <!ENTITY % a "^" > <!ENTITY bomb "$" > ]><root/>'
-+    len      = 5120 # 5k per entity
-+    template.sub!(/\^/, "B" * len)
-+
-+    # 10k is OK
-+    entities = '%a;' * 2 # 5k entity * 2 = 10k
-+    REXML::Document.new(template.sub(/\$/, entities))
-+
-+    # above 10k explodes
-+    entities = '%a;' * 3 # 5k entity * 2 = 15k
-+    assert_raises(REXML::ParseException) do
-+      REXML::Document.new(template.sub(/\$/, entities))
-+    end
-+  end
-+
-   def test_raw
-     source = '<!DOCTYPE foo [
- <!ENTITY ent "replace">
-Index: .
-===================================================================
---- .	(revision 48161)
-+++ .	(revision 48162)
-
-Property changes on: .
-___________________________________________________________________
-Modified: svn:mergeinfo
-   Merged /trunk:r48161
diff --git a/SOURCES/ruby-2.0.0-p598-CVE-2014-8090-REXML-incomplete-fix-for-CVE-2014-8080.patch b/SOURCES/ruby-2.0.0-p598-CVE-2014-8090-REXML-incomplete-fix-for-CVE-2014-8080.patch
deleted file mode 100644
index 9687888..0000000
--- a/SOURCES/ruby-2.0.0-p598-CVE-2014-8090-REXML-incomplete-fix-for-CVE-2014-8080.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-Index: ChangeLog
-===================================================================
---- ChangeLog	(revision 48402)
-+++ ChangeLog	(revision 48403)
-@@ -1,3 +1,8 @@
-+Thu Nov 13 22:31:50 2014  CHIKANAGA Tomoyuki  <nagachika@ruby-lang.org>
-+
-+	* lib/rexml/document.rb: add REXML::Document#document.
-+	  reported by Tomas Hoger <thoger@redhat.com> and patched by nahi.
-+
- Mon Oct 27 20:21:05 2014  NAKAMURA Usaku  <usa@ruby-lang.org>
- 
- 	* lib/rexml/entity.rb: keep the entity size within the limitation.
-Index: lib/rexml/document.rb
-===================================================================
---- lib/rexml/document.rb	(revision 48402)
-+++ lib/rexml/document.rb	(revision 48403)
-@@ -278,6 +278,10 @@
-       end
-     end
- 
-+    def document
-+      self
-+    end
-+
-     private
-     def build( source )
-       Parsers::TreeParser.new( source, self ).parse
-Index: lib/rexml/entity.rb
-===================================================================
---- lib/rexml/entity.rb	(revision 48402)
-+++ lib/rexml/entity.rb	(revision 48403)
-@@ -157,6 +157,7 @@
- 
-   # This is a set of entity constants -- the ones defined in the XML
-   # specification.  These are +gt+, +lt+, +amp+, +quot+ and +apos+.
-+  # CAUTION: these entities does not have parent and document
-   module EntityConst
-     # +>+
-     GT = Entity.new( 'gt', '>' )
-Index: test/rexml/test_document.rb
-===================================================================
---- test/rexml/test_document.rb	(revision 48402)
-+++ test/rexml/test_document.rb	(revision 48403)
-@@ -47,6 +47,22 @@
- </member>
- EOF
- 
-+    XML_WITH_NESTED_EMPTY_ENTITY = <<EOF
-+<?xml version="1.0" encoding="UTF-8"?>
-+<!DOCTYPE member [
-+  <!ENTITY a "&b;&b;&b;&b;&b;&b;&b;&b;&b;&b;">
-+  <!ENTITY b "&c;&c;&c;&c;&c;&c;&c;&c;&c;&c;">
-+  <!ENTITY c "&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;">
-+  <!ENTITY d "&e;&e;&e;&e;&e;&e;&e;&e;&e;&e;">
-+  <!ENTITY e "&f;&f;&f;&f;&f;&f;&f;&f;&f;&f;">
-+  <!ENTITY f "&g;&g;&g;&g;&g;&g;&g;&g;&g;&g;">
-+  <!ENTITY g "">
-+]>
-+<member>
-+&a;
-+</member>
-+EOF
-+
-     XML_WITH_NESTED_PARAMETER_ENTITY = <<EOF
- <!DOCTYPE root [
-   <!ENTITY % a "BOOM.BOOM.BOOM.BOOM.BOOM.BOOM.BOOM.BOOM.BOOM.">
-@@ -60,6 +76,19 @@
- ]>
- <cd></cd>
- EOF
-+    XML_WITH_NESTED_EMPTY_PARAMETER_ENTITY = <<EOF
-+<!DOCTYPE root [
-+  <!ENTITY % a "">
-+  <!ENTITY % b "%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;%a;">
-+  <!ENTITY % c "%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;%b;">
-+  <!ENTITY % d "%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;%c;">
-+  <!ENTITY % e "%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;%d;">
-+  <!ENTITY % f "%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;%e;">
-+  <!ENTITY % g "%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;%f;">
-+  <!ENTITY test "test %g;">
-+]>
-+<cd></cd>
-+EOF
- 
-   XML_WITH_4_ENTITY_EXPANSION = <<EOF
- <?xml version="1.0" encoding="UTF-8"?>
-@@ -87,6 +116,18 @@
-     end
-     assert_equal(101, doc.entity_expansion_count)
- 
-+    doc = REXML::Document.new(XML_WITH_NESTED_EMPTY_ENTITY)
-+    assert_raise(RuntimeError) do
-+      doc.root.children.first.value
-+    end
-+    REXML::Document.entity_expansion_limit = 100
-+    assert_equal(100, REXML::Document.entity_expansion_limit)
-+    doc = REXML::Document.new(XML_WITH_NESTED_EMPTY_ENTITY)
-+    assert_raise(RuntimeError) do
-+      doc.root.children.first.value
-+    end
-+    assert_equal(101, doc.entity_expansion_count)
-+
-     REXML::Document.entity_expansion_limit = 4
-     doc = REXML::Document.new(XML_WITH_4_ENTITY_EXPANSION)
-     assert_equal("\na\na a\n<\n", doc.root.children.first.value)
-@@ -95,6 +136,15 @@
-     assert_raise(RuntimeError) do
-       doc.root.children.first.value
-     end
-+
-+    assert_raise(REXML::ParseException) do
-+      REXML::Document.new(XML_WITH_NESTED_EMPTY_PARAMETER_ENTITY)
-+    end
-+    REXML::Document.entity_expansion_limit = 100
-+    assert_equal(100, REXML::Document.entity_expansion_limit)
-+    assert_raise(REXML::ParseException) do
-+      REXML::Document.new(XML_WITH_NESTED_EMPTY_PARAMETER_ENTITY)
-+    end
-   ensure
-     REXML::Document.entity_expansion_limit = 10000
-   end
-Index: .
-===================================================================
---- .	(revision 48402)
-+++ .	(revision 48403)
-
-Property changes on: .
-___________________________________________________________________
-Modified: svn:mergeinfo
-   Merged /trunk:r48402
diff --git a/SOURCES/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch b/SOURCES/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch
index 3a36f91..69ed4e4 100644
--- a/SOURCES/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch
+++ b/SOURCES/ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch
@@ -2,7 +2,7 @@ diff --git a/Makefile.in b/Makefile.in
 index a93a1e6..fb30c19 100644
 --- a/Makefile.in
 +++ b/Makefile.in
-@@ -108,6 +108,7 @@ XRUBY_RUBYLIBDIR = @XRUBY_RUBYLIBDIR@
+@@ -111,6 +111,7 @@ XRUBY_RUBYLIBDIR = @XRUBY_RUBYLIBDIR@
  XRUBY_RUBYHDRDIR = @XRUBY_RUBYHDRDIR@
  
  DEFAULT_PRELUDES = $(@USE_RUBYGEMS@_GEM_PRELUDE)
@@ -27,7 +27,7 @@ diff --git a/configure.in b/configure.in
 index 7977aaf..1ef42cd 100644
 --- a/configure.in
 +++ b/configure.in
-@@ -3494,6 +3494,13 @@ AC_SUBST(rubyarchhdrdir)dnl
+@@ -3559,6 +3559,13 @@ AC_SUBST(rubyarchhdrdir)dnl
  AC_SUBST(sitearchhdrdir)dnl
  AC_SUBST(vendorarchhdrdir)dnl
  
diff --git a/SOURCES/ruby-2.1.0-CVE-2014-4975-fix-buffer-overru-by-tail_lf.patch b/SOURCES/ruby-2.1.0-CVE-2014-4975-fix-buffer-overru-by-tail_lf.patch
index 2a38eeb..848b38b 100644
--- a/SOURCES/ruby-2.1.0-CVE-2014-4975-fix-buffer-overru-by-tail_lf.patch
+++ b/SOURCES/ruby-2.1.0-CVE-2014-4975-fix-buffer-overru-by-tail_lf.patch
@@ -2,18 +2,18 @@ Index: ChangeLog
 ===================================================================
 --- ChangeLog	(revision 46805)
 +++ ChangeLog	(revision 46806)
-@@ -3,6 +3,11 @@
- 	* test/ruby/test_time_tz.rb: Fix test error with tzdata-2014g.
- 	  [ruby-core:65058] [Bug #10245] Reported by Vit Ondruch.
- 
+@@ -493,6 +493,11 @@
+ 	* array.c (rb_ary_permutation): `p` is the array of size `r`, as
+ 	  commented at permute0().  since `n >= r` here, buffer overflow
+ 	  never happened, just reduce unnecessary allocation though.
++
 +Sun Jul 13 22:52:43 2014  Nobuyoshi Nakada  <nobu@ruby-lang.org>
 +
 +	* pack.c (encodes): fix buffer overrun by tail_lf.  Thanks to
 +	  Mamoru Tasaka and Tomas Hoger.  [ruby-core:63604] [Bug #10019]
-+ 
- Fri Jan  3 10:43:57 2014  Aman Gupta <ruby@tmm1.net>
  
- 	* test/net/imap/cacert.pem: generate new CA cert, since the last one
+ Mon Jul  7 13:05:04 2014  SHIBATA Hiroshi  <shibata.hiroshi@gmail.com>
+ 
 Index: pack.c
 ===================================================================
 --- pack.c	(revision 46805)
@@ -58,7 +58,7 @@ Index: test/ruby/test_pack.rb
 ===================================================================
 --- test/ruby/test_pack.rb	(revision 46805)
 +++ test/ruby/test_pack.rb	(revision 46806)
-@@ -536,6 +536,14 @@
+@@ -537,6 +537,14 @@
      assert_equal(["\377"], "/w==\n".unpack("m"))
      assert_equal(["\377\377"], "//8=\n".unpack("m"))
      assert_equal(["\377\377\377"], "////\n".unpack("m"))
diff --git a/SOURCES/ruby-2.1.0-test_aes_gcm_wrong_tag-Dont-use-String-succ.patch b/SOURCES/ruby-2.1.0-test_aes_gcm_wrong_tag-Dont-use-String-succ.patch
deleted file mode 100644
index aa1ec41..0000000
--- a/SOURCES/ruby-2.1.0-test_aes_gcm_wrong_tag-Dont-use-String-succ.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From e4f8f8907c8d04c54acf7791947295f8d9abf959 Mon Sep 17 00:00:00 2001
-From: akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
-Date: Thu, 14 Nov 2013 10:58:15 +0000
-Subject: [PATCH] * test/openssl/test_cipher.rb (test_aes_gcm_wrong_tag): Don't
- use   String#succ because it can make modified (wrong) auth_tag longer   than
- 16 bytes.  The longer auth_tag makes that   EVP_CIPHER_CTX_ctrl (and
- internally aes_gcm_ctrl) fail.   [ruby-core:55143] [Bug #8439] reported by
- Vit Ondruch.
-
-git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
----
- ChangeLog                   | 8 ++++++++
- test/openssl/test_cipher.rb | 3 ++-
- 2 files changed, 10 insertions(+), 1 deletion(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 04f7867..c6beb5a 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -24,6 +24,14 @@
- 	  time to invocation of signal handler from 0.01 sec to 0.2 sec.
- 	  RubyCI report error on mswin. reported by @unak
- 
-+Thu Nov 14 19:53:00 2013  Tanaka Akira  <akr@fsij.org>
-+
-+	* test/openssl/test_cipher.rb (test_aes_gcm_wrong_tag): Don't use
-+	  String#succ because it can make modified (wrong) auth_tag longer
-+	  than 16 bytes.  The longer auth_tag makes that
-+	  EVP_CIPHER_CTX_ctrl (and internally aes_gcm_ctrl) fail.
-+	  [ruby-core:55143] [Bug #8439] reported by Vit Ondruch.
-+
- Wed Nov 13 11:57:01 2013  CHIKANAGA Tomoyuki  <nagachika@ruby-lang.org>
- 
- 	* lib/rubygems: Update to RubyGems 2.0.14. [ruby-core:58300]
-diff --git a/test/openssl/test_cipher.rb b/test/openssl/test_cipher.rb
-index 088dbc1..156fa2a 100644
---- a/test/openssl/test_cipher.rb
-+++ b/test/openssl/test_cipher.rb
-@@ -187,7 +187,8 @@ def test_aes_gcm_wrong_tag
-       tag = cipher.auth_tag
- 
-       decipher = new_decryptor('aes-128-gcm', key, iv)
--      decipher.auth_tag = tag[0..-2] << tag[-1].succ
-+      tag.setbyte(-1, (tag.getbyte(-1) + 1) & 0xff)
-+      decipher.auth_tag = tag
-       decipher.auth_data = "aad"
- 
-       assert_raise OpenSSL::Cipher::CipherError do
--- 
-1.8.5.1
-
diff --git a/SOURCES/ruby-2.1.1-fix-test-failures-due-to-expired-certs.patch b/SOURCES/ruby-2.1.1-fix-test-failures-due-to-expired-certs.patch
deleted file mode 100644
index 783484b..0000000
--- a/SOURCES/ruby-2.1.1-fix-test-failures-due-to-expired-certs.patch
+++ /dev/null
@@ -1,259 +0,0 @@
-From 5ac7c395c19426a9a92f0a918b03e0f493af6e2c Mon Sep 17 00:00:00 2001
-From: tmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
-Date: Fri, 3 Jan 2014 01:46:55 +0000
-Subject: [PATCH] test/net/imap/test_imap.rb: fix test failures due to expired
- certs
-
-* test/net/imap/cacert.pem: generate new CA cert, since the last one
-  expired. [Bug #9341] [ruby-core:59459]
-* test/net/imap/server.crt: new server cert signed with updated CA.
-* test/net/imap/Makefile: add `make regen_certs` to automate this
-  process.
-
-git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44488 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
----
- ChangeLog                |  8 +++++
- test/net/imap/Makefile   | 15 +++++++++
- test/net/imap/cacert.pem | 84 ++++++++++++++++++++++++++----------------------
- test/net/imap/server.crt | 65 +++++++++++++++----------------------
- 4 files changed, 94 insertions(+), 78 deletions(-)
- create mode 100644 test/net/imap/Makefile
-
-diff --git a/ChangeLog b/ChangeLog
-index a4f20cd..d6a7148 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,11 @@
-+Fri Jan  3 10:43:57 2014  Aman Gupta <ruby@tmm1.net>
-+
-+	* test/net/imap/cacert.pem: generate new CA cert, since the last one
-+	  expired. [Bug #9341] [ruby-core:59459]
-+	* test/net/imap/server.crt: new server cert signed with updated CA.
-+	* test/net/imap/Makefile: add `make regen_certs` to automate this
-+	  process.
-+
- Fri Nov 22 13:18:28 2013  Nobuyoshi Nakada  <nobu@ruby-lang.org>
- 
- 	* util.c (ruby_strtod): BigMath requires more precision.
-diff --git a/test/net/imap/Makefile b/test/net/imap/Makefile
-new file mode 100644
-index 0000000..b2bc9c7
---- /dev/null
-+++ b/test/net/imap/Makefile
-@@ -0,0 +1,15 @@
-+all:
-+
-+regen_certs:
-+	touch server.key
-+	make server.crt
-+
-+cacert.pem: server.key
-+	openssl req -new -x509 -days 1825 -key server.key -out cacert.pem -text -subj "/C=JP/ST=Shimane/L=Matz-e city/O=Ruby Core Team/CN=Ruby Test CA/emailAddress=security@ruby-lang.org"
-+
-+server.csr:
-+	openssl req -new -key server.key -out server.csr -text -subj "/C=JP/ST=Shimane/O=Ruby Core Team/OU=Ruby Test/CN=localhost"
-+
-+server.crt: server.csr cacert.pem
-+	openssl x509 -days 1825 -CA cacert.pem -CAkey server.key -set_serial 00 -in server.csr -req -text -out server.crt
-+	rm server.csr
-diff --git a/test/net/imap/cacert.pem b/test/net/imap/cacert.pem
-index bd7e68a..7073387 100644
---- a/test/net/imap/cacert.pem
-+++ b/test/net/imap/cacert.pem
-@@ -2,59 +2,65 @@ Certificate:
-     Data:
-         Version: 3 (0x2)
-         Serial Number:
--            9f:dc:f7:94:98:05:43:4c
-+            b9:90:a2:bf:62:69:17:9c
-         Signature Algorithm: sha1WithRSAEncryption
-         Issuer: C=JP, ST=Shimane, L=Matz-e city, O=Ruby Core Team, CN=Ruby Test CA/emailAddress=security@ruby-lang.org
-         Validity
--            Not Before: Dec 23 10:21:33 2010 GMT
--            Not After : Jan  1 10:21:33 2014 GMT
-+            Not Before: Jan  3 01:34:17 2014 GMT
-+            Not After : Jan  2 01:34:17 2019 GMT
-         Subject: C=JP, ST=Shimane, L=Matz-e city, O=Ruby Core Team, CN=Ruby Test CA/emailAddress=security@ruby-lang.org
-         Subject Public Key Info:
-             Public Key Algorithm: rsaEncryption
--                Public-Key: (1024 bit)
--                Modulus:
--                    00:ce:be:2c:9f:47:ba:db:9c:9c:5b:f0:38:3b:f3:
--                    74:20:37:76:23:9f:84:1c:81:90:b4:3e:00:20:34:
--                    98:7e:81:69:50:a1:c3:65:96:ea:fa:00:da:8c:cc:
--                    53:3f:ba:3c:d0:50:7a:5a:b4:6b:ac:d3:2e:18:ca:
--                    2a:69:b3:6a:6f:38:c2:32:a8:06:b6:0a:30:a9:ee:
--                    03:38:e9:05:a5:19:23:54:a8:3c:b9:08:ad:2b:72:
--                    23:df:93:22:c4:46:a8:ea:f1:a6:e9:30:4a:3f:83:
--                    39:e9:62:8e:8b:a3:5e:67:89:1d:7c:75:de:05:aa:
--                    58:b1:b7:79:7c:10:80:6d:87
-+            RSA Public Key: (1024 bit)
-+                Modulus (1024 bit):
-+                    00:db:75:d0:45:de:b1:df:bf:71:a0:0e:b0:a5:e6:
-+                    bc:f4:1c:9d:e5:25:67:64:c5:7b:cb:f1:af:c6:be:
-+                    9a:aa:ea:7e:0f:cc:05:af:ef:40:69:06:b2:c9:13:
-+                    9d:7e:eb:a2:06:e2:ea:7d:07:c7:c7:99:c7:fb:d5:
-+                    b8:eb:63:77:62:2b:18:12:c3:53:58:d0:f5:c7:40:
-+                    0c:01:d1:26:82:34:16:09:e3:dc:65:f4:dc:bb:5d:
-+                    a5:41:60:e7:a9:74:ba:d7:4c:b6:a3:9c:c5:8c:89:
-+                    af:cb:e8:9f:05:fe:ea:fe:64:24:bf:e7:ed:e3:f6:
-+                    d0:fc:d6:eb:fc:06:82:10:fb
-                 Exponent: 65537 (0x10001)
-         X509v3 extensions:
-             X509v3 Subject Key Identifier: 
--                41:C9:49:37:B1:FA:61:E3:BA:D7:19:3D:D9:DA:8C:B9:82:C9:B4:6A
-+                E8:7E:58:AC:13:7B:03:22:8D:9E:AF:32:0B:84:89:80:80:0C:1E:C2
-             X509v3 Authority Key Identifier: 
--                keyid:41:C9:49:37:B1:FA:61:E3:BA:D7:19:3D:D9:DA:8C:B9:82:C9:B4:6A
-+                keyid:E8:7E:58:AC:13:7B:03:22:8D:9E:AF:32:0B:84:89:80:80:0C:1E:C2
-+                DirName:/C=JP/ST=Shimane/L=Matz-e city/O=Ruby Core Team/CN=Ruby Test CA/emailAddress=security@ruby-lang.org
-+                serial:B9:90:A2:BF:62:69:17:9C
- 
-             X509v3 Basic Constraints: 
-                 CA:TRUE
-     Signature Algorithm: sha1WithRSAEncryption
--        86:00:33:b9:dd:ff:5f:83:59:5f:c3:29:3c:d7:11:db:10:b3:
--        d7:d1:70:fb:0a:c6:74:85:c6:ea:e1:15:c4:92:f8:0e:11:cc:
--        ff:a6:3c:31:c2:2c:66:d8:fe:63:93:9f:b0:97:e6:f5:bc:5c:
--        80:68:96:5d:eb:77:b9:23:dd:68:a7:49:03:ff:22:48:55:f1:
--        39:7c:20:21:ff:64:52:e1:f6:cf:3c:b3:4d:2c:5c:03:62:ea:
--        c5:49:99:07:fa:8d:ff:7b:c2:75:0c:ca:24:b5:0b:f5:b7:57:
--        3a:10:f0:8a:bb:9a:e8:92:4d:d5:6f:c2:a2:29:36:61:78:a4:
--        dc:7b
-+        8f:77:06:4e:31:72:12:ee:68:09:70:27:d4:31:85:ef:10:95:
-+        f9:0f:2b:66:63:08:37:88:6e:b7:9b:40:3e:18:77:33:86:e8:
-+        61:6a:b7:3c:cb:c7:a6:d6:d5:92:6a:1f:56:d0:9f:5c:32:56:
-+        d3:37:52:fe:0e:20:c2:7a:0d:fe:2d:3c:81:da:b8:7f:4d:6a:
-+        08:01:d9:be:7a:a2:15:be:a6:ce:49:64:90:8c:9a:ca:6e:2e:
-+        84:48:1d:94:19:56:94:46:aa:25:9b:68:c2:80:60:bf:cb:2e:
-+        35:03:ea:0a:65:5a:33:38:c6:cc:81:46:c0:bc:36:86:96:39:
-+        10:7d
- -----BEGIN CERTIFICATE-----
--MIIC6DCCAlGgAwIBAgIJAJ/c95SYBUNMMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYD
--VQQGEwJKUDEQMA4GA1UECAwHU2hpbWFuZTEUMBIGA1UEBwwLTWF0ei1lIGNpdHkx
--FzAVBgNVBAoMDlJ1YnkgQ29yZSBUZWFtMRUwEwYDVQQDDAxSdWJ5IFRlc3QgQ0Ex
--JTAjBgkqhkiG9w0BCQEWFnNlY3VyaXR5QHJ1YnktbGFuZy5vcmcwHhcNMTAxMjIz
--MTAyMTMzWhcNMTQwMTAxMTAyMTMzWjCBjDELMAkGA1UEBhMCSlAxEDAOBgNVBAgM
--B1NoaW1hbmUxFDASBgNVBAcMC01hdHotZSBjaXR5MRcwFQYDVQQKDA5SdWJ5IENv
--cmUgVGVhbTEVMBMGA1UEAwwMUnVieSBUZXN0IENBMSUwIwYJKoZIhvcNAQkBFhZz
-+MIIDjTCCAvagAwIBAgIJALmQor9iaRecMA0GCSqGSIb3DQEBBQUAMIGMMQswCQYD
-+VQQGEwJKUDEQMA4GA1UECBMHU2hpbWFuZTEUMBIGA1UEBxMLTWF0ei1lIGNpdHkx
-+FzAVBgNVBAoTDlJ1YnkgQ29yZSBUZWFtMRUwEwYDVQQDEwxSdWJ5IFRlc3QgQ0Ex
-+JTAjBgkqhkiG9w0BCQEWFnNlY3VyaXR5QHJ1YnktbGFuZy5vcmcwHhcNMTQwMTAz
-+MDEzNDE3WhcNMTkwMTAyMDEzNDE3WjCBjDELMAkGA1UEBhMCSlAxEDAOBgNVBAgT
-+B1NoaW1hbmUxFDASBgNVBAcTC01hdHotZSBjaXR5MRcwFQYDVQQKEw5SdWJ5IENv
-+cmUgVGVhbTEVMBMGA1UEAxMMUnVieSBUZXN0IENBMSUwIwYJKoZIhvcNAQkBFhZz
- ZWN1cml0eUBydWJ5LWxhbmcub3JnMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKB
--gQDOviyfR7rbnJxb8Dg783QgN3Yjn4QcgZC0PgAgNJh+gWlQocNllur6ANqMzFM/
--ujzQUHpatGus0y4Yyipps2pvOMIyqAa2CjCp7gM46QWlGSNUqDy5CK0rciPfkyLE
--Rqjq8abpMEo/gznpYo6Lo15niR18dd4Fqlixt3l8EIBthwIDAQABo1AwTjAdBgNV
--HQ4EFgQUQclJN7H6YeO61xk92dqMuYLJtGowHwYDVR0jBBgwFoAUQclJN7H6YeO6
--1xk92dqMuYLJtGowDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOBgQCGADO5
--3f9fg1lfwyk81xHbELPX0XD7CsZ0hcbq4RXEkvgOEcz/pjwxwixm2P5jk5+wl+b1
--vFyAaJZd63e5I91op0kD/yJIVfE5fCAh/2RS4fbPPLNNLFwDYurFSZkH+o3/e8J1
--DMoktQv1t1c6EPCKu5rokk3Vb8KiKTZheKTcew==
-+gQDbddBF3rHfv3GgDrCl5rz0HJ3lJWdkxXvL8a/Gvpqq6n4PzAWv70BpBrLJE51+
-+66IG4up9B8fHmcf71bjrY3diKxgSw1NY0PXHQAwB0SaCNBYJ49xl9Ny7XaVBYOep
-+dLrXTLajnMWMia/L6J8F/ur+ZCS/5+3j9tD81uv8BoIQ+wIDAQABo4H0MIHxMB0G
-+A1UdDgQWBBToflisE3sDIo2erzILhImAgAwewjCBwQYDVR0jBIG5MIG2gBToflis
-+E3sDIo2erzILhImAgAwewqGBkqSBjzCBjDELMAkGA1UEBhMCSlAxEDAOBgNVBAgT
-+B1NoaW1hbmUxFDASBgNVBAcTC01hdHotZSBjaXR5MRcwFQYDVQQKEw5SdWJ5IENv
-+cmUgVGVhbTEVMBMGA1UEAxMMUnVieSBUZXN0IENBMSUwIwYJKoZIhvcNAQkBFhZz
-+ZWN1cml0eUBydWJ5LWxhbmcub3JnggkAuZCiv2JpF5wwDAYDVR0TBAUwAwEB/zAN
-+BgkqhkiG9w0BAQUFAAOBgQCPdwZOMXIS7mgJcCfUMYXvEJX5DytmYwg3iG63m0A+
-+GHczhuhharc8y8em1tWSah9W0J9cMlbTN1L+DiDCeg3+LTyB2rh/TWoIAdm+eqIV
-+vqbOSWSQjJrKbi6ESB2UGVaURqolm2jCgGC/yy41A+oKZVozOMbMgUbAvDaGljkQ
-+fQ==
- -----END CERTIFICATE-----
-diff --git a/test/net/imap/server.crt b/test/net/imap/server.crt
-index d848b26..fa4f994 100644
---- a/test/net/imap/server.crt
-+++ b/test/net/imap/server.crt
-@@ -1,17 +1,17 @@
- Certificate:
-     Data:
--        Version: 3 (0x2)
-+        Version: 1 (0x0)
-         Serial Number: 0 (0x0)
-         Signature Algorithm: sha1WithRSAEncryption
-         Issuer: C=JP, ST=Shimane, L=Matz-e city, O=Ruby Core Team, CN=Ruby Test CA/emailAddress=security@ruby-lang.org
-         Validity
--            Not Before: Dec 23 10:23:52 2010 GMT
--            Not After : Jan  1 10:23:52 2014 GMT
-+            Not Before: Jan  3 01:34:17 2014 GMT
-+            Not After : Jan  2 01:34:17 2019 GMT
-         Subject: C=JP, ST=Shimane, O=Ruby Core Team, OU=Ruby Test, CN=localhost
-         Subject Public Key Info:
-             Public Key Algorithm: rsaEncryption
--                Public-Key: (1024 bit)
--                Modulus:
-+            RSA Public Key: (1024 bit)
-+                Modulus (1024 bit):
-                     00:db:75:d0:45:de:b1:df:bf:71:a0:0e:b0:a5:e6:
-                     bc:f4:1c:9d:e5:25:67:64:c5:7b:cb:f1:af:c6:be:
-                     9a:aa:ea:7e:0f:cc:05:af:ef:40:69:06:b2:c9:13:
-@@ -22,40 +22,27 @@ Certificate:
-                     af:cb:e8:9f:05:fe:ea:fe:64:24:bf:e7:ed:e3:f6:
-                     d0:fc:d6:eb:fc:06:82:10:fb
-                 Exponent: 65537 (0x10001)
--        X509v3 extensions:
--            X509v3 Basic Constraints: 
--                CA:FALSE
--            Netscape Comment: 
--                OpenSSL Generated Certificate
--            X509v3 Subject Key Identifier: 
--                E8:7E:58:AC:13:7B:03:22:8D:9E:AF:32:0B:84:89:80:80:0C:1E:C2
--            X509v3 Authority Key Identifier: 
--                keyid:41:C9:49:37:B1:FA:61:E3:BA:D7:19:3D:D9:DA:8C:B9:82:C9:B4:6A
--
-     Signature Algorithm: sha1WithRSAEncryption
--        ae:ee:cd:fe:c9:af:48:0b:50:37:ac:6a:f6:68:90:9b:67:df:
--        6f:2d:17:c9:3c:a5:da:ad:39:dc:2a:5b:07:88:26:38:19:30:
--        d6:95:cf:10:69:c7:92:14:83:be:f1:b5:8e:6f:d9:91:51:c5:
--        63:ae:1c:89:ac:27:bf:4f:2a:8f:4e:0c:57:42:0a:c9:8e:0c:
--        f4:f3:02:f7:ea:44:b6:e4:47:05:af:4e:74:e4:87:87:d9:c8:
--        76:ed:ab:32:7c:f0:31:34:10:14:bc:a6:37:cd:d7:dc:33:da:
--        82:d3:d4:9b:e9:d5:cd:38:cc:fa:81:5f:4e:fd:5f:53:05:5d:
--        76:f9
-+        85:f5:d3:05:8b:8c:f4:43:1c:88:f2:8f:b2:f2:93:77:b7:3d:
-+        95:c6:a0:34:bc:33:6a:d8:85:5f:3e:86:08:10:c5:5c:c1:76:
-+        a3:53:3c:dc:38:98:23:97:e7:da:21:ac:e8:4d:3c:96:70:29:
-+        ff:ff:1e:4a:9a:17:2b:db:04:62:b9:ef:ab:ea:a7:a5:e8:7c:
-+        b1:d5:ed:30:a8:6c:78:de:51:7e:e3:8a:c2:a4:64:a8:63:a2:
-+        bc:fd:43:9c:f3:55:7d:54:c9:6a:d8:53:1c:4b:6b:03:aa:b6:
-+        19:e6:a4:4f:47:00:96:c5:42:59:85:4e:c3:4e:cd:41:82:53:
-+        10:f8
- -----BEGIN CERTIFICATE-----
--MIIC3jCCAkegAwIBAgIBADANBgkqhkiG9w0BAQUFADCBjDELMAkGA1UEBhMCSlAx
--EDAOBgNVBAgMB1NoaW1hbmUxFDASBgNVBAcMC01hdHotZSBjaXR5MRcwFQYDVQQK
--DA5SdWJ5IENvcmUgVGVhbTEVMBMGA1UEAwwMUnVieSBUZXN0IENBMSUwIwYJKoZI
--hvcNAQkBFhZzZWN1cml0eUBydWJ5LWxhbmcub3JnMB4XDTEwMTIyMzEwMjM1MloX
--DTE0MDEwMTEwMjM1MlowYDELMAkGA1UEBhMCSlAxEDAOBgNVBAgMB1NoaW1hbmUx
--FzAVBgNVBAoMDlJ1YnkgQ29yZSBUZWFtMRIwEAYDVQQLDAlSdWJ5IFRlc3QxEjAQ
--BgNVBAMMCWxvY2FsaG9zdDCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEA23XQ
--Rd6x379xoA6wpea89Byd5SVnZMV7y/Gvxr6aqup+D8wFr+9AaQayyROdfuuiBuLq
--fQfHx5nH+9W462N3YisYEsNTWND1x0AMAdEmgjQWCePcZfTcu12lQWDnqXS610y2
--o5zFjImvy+ifBf7q/mQkv+ft4/bQ/Nbr/AaCEPsCAwEAAaN7MHkwCQYDVR0TBAIw
--ADAsBglghkgBhvhCAQ0EHxYdT3BlblNTTCBHZW5lcmF0ZWQgQ2VydGlmaWNhdGUw
--HQYDVR0OBBYEFOh+WKwTewMijZ6vMguEiYCADB7CMB8GA1UdIwQYMBaAFEHJSTex
--+mHjutcZPdnajLmCybRqMA0GCSqGSIb3DQEBBQUAA4GBAK7uzf7Jr0gLUDesavZo
--kJtn328tF8k8pdqtOdwqWweIJjgZMNaVzxBpx5IUg77xtY5v2ZFRxWOuHImsJ79P
--Ko9ODFdCCsmODPTzAvfqRLbkRwWvTnTkh4fZyHbtqzJ88DE0EBS8pjfN19wz2oLT
--1Jvp1c04zPqBX079X1MFXXb5
-+MIICXDCCAcUCAQAwDQYJKoZIhvcNAQEFBQAwgYwxCzAJBgNVBAYTAkpQMRAwDgYD
-+VQQIEwdTaGltYW5lMRQwEgYDVQQHEwtNYXR6LWUgY2l0eTEXMBUGA1UEChMOUnVi
-+eSBDb3JlIFRlYW0xFTATBgNVBAMTDFJ1YnkgVGVzdCBDQTElMCMGCSqGSIb3DQEJ
-+ARYWc2VjdXJpdHlAcnVieS1sYW5nLm9yZzAeFw0xNDAxMDMwMTM0MTdaFw0xOTAx
-+MDIwMTM0MTdaMGAxCzAJBgNVBAYTAkpQMRAwDgYDVQQIEwdTaGltYW5lMRcwFQYD
-+VQQKEw5SdWJ5IENvcmUgVGVhbTESMBAGA1UECxMJUnVieSBUZXN0MRIwEAYDVQQD
-+Ewlsb2NhbGhvc3QwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBANt10EXesd+/
-+caAOsKXmvPQcneUlZ2TFe8vxr8a+mqrqfg/MBa/vQGkGsskTnX7rogbi6n0Hx8eZ
-+x/vVuOtjd2IrGBLDU1jQ9cdADAHRJoI0Fgnj3GX03LtdpUFg56l0utdMtqOcxYyJ
-+r8vonwX+6v5kJL/n7eP20PzW6/wGghD7AgMBAAEwDQYJKoZIhvcNAQEFBQADgYEA
-+hfXTBYuM9EMciPKPsvKTd7c9lcagNLwzatiFXz6GCBDFXMF2o1M83DiYI5fn2iGs
-+6E08lnAp//8eSpoXK9sEYrnvq+qnpeh8sdXtMKhseN5RfuOKwqRkqGOivP1DnPNV
-+fVTJathTHEtrA6q2GeakT0cAlsVCWYVOw07NQYJTEPg=
- -----END CERTIFICATE-----
--- 
-1.8.5.1
-
diff --git a/SOURCES/ruby-2.2.0-fix-error-with-tzdata.patch b/SOURCES/ruby-2.2.0-fix-error-with-tzdata.patch
deleted file mode 100644
index 52c93c5..0000000
--- a/SOURCES/ruby-2.2.0-fix-error-with-tzdata.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-From a92bb23525243ada0f8b63ccdfeafb385408524b Mon Sep 17 00:00:00 2001
-From: akr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
-Date: Mon, 22 Sep 2014 03:12:23 +0000
-Subject: [PATCH] * test/ruby/test_time_tz.rb: Fix test error with
- tzdata-2014g.   [ruby-core:65058] [Bug #10245] Reported by Vit Ondruch.
-
-git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47680 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-
-Conflicts:
-	ChangeLog
-	test/ruby/test_time_tz.rb
----
- ChangeLog                 |  5 +++
- test/ruby/test_time_tz.rb | 99 ++++++++++++++++++++++++++++++++++-------------
- 2 files changed, 78 insertions(+), 26 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index 6734f63..e760152 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,8 @@
-+Mon Sep 22 12:10:29 2014  Tanaka Akira  <akr@fsij.org>
-+
-+	* test/ruby/test_time_tz.rb: Fix test error with tzdata-2014g.
-+	  [ruby-core:65058] [Bug #10245] Reported by Vit Ondruch.
-+
- Fri Jan  3 10:43:57 2014  Aman Gupta <ruby@tmm1.net>
- 
- 	* test/net/imap/cacert.pem: generate new CA cert, since the last one
-diff --git a/test/ruby/test_time_tz.rb b/test/ruby/test_time_tz.rb
-index bb69af8..626ecd1 100644
---- a/test/ruby/test_time_tz.rb
-+++ b/test/ruby/test_time_tz.rb
-@@ -200,35 +200,42 @@ class TestTimeTZ < Test::Unit::TestCase
-     s.sub(/gen_/) { "gen" + "_#{hint}_".gsub(/[^0-9A-Za-z]+/, '_') }
-   end
- 
-+  def self.parse_zdump_line(line)
-+    return nil if /\A\#/ =~ line || /\A\s*\z/ =~ line
-+    if /\A(\S+)\s+
-+        \S+\s+(\S+)\s+(\d+)\s+(\d\d):(\d\d):(\d\d)\s+(\d+)\s+UTC?
-+        \s+=\s+
-+        \S+\s+(\S+)\s+(\d+)\s+(\d\d):(\d\d):(\d\d)\s+(\d+)\s+\S+
-+        \s+isdst=\d+\s+gmtoff=(-?\d+)\n
-+        \z/x !~ line
-+      raise "unexpected zdump line: #{line.inspect}"
-+    end
-+    tz, u_mon, u_day, u_hour, u_min, u_sec, u_year,
-+      l_mon, l_day, l_hour, l_min, l_sec, l_year, gmtoff = $~.captures
-+    u_year = u_year.to_i
-+    u_mon = MON2NUM[u_mon]
-+    u_day = u_day.to_i
-+    u_hour = u_hour.to_i
-+    u_min = u_min.to_i
-+    u_sec = u_sec.to_i
-+    l_year = l_year.to_i
-+    l_mon = MON2NUM[l_mon]
-+    l_day = l_day.to_i
-+    l_hour = l_hour.to_i
-+    l_min = l_min.to_i
-+    l_sec = l_sec.to_i
-+    gmtoff = gmtoff.to_i
-+    [tz,
-+     [u_year, u_mon, u_day, u_hour, u_min, u_sec],
-+     [l_year, l_mon, l_day, l_hour, l_min, l_sec],
-+     gmtoff]
-+  end
-+
-   def self.gen_zdump_test(data)
-     sample = []
-     data.each_line {|line|
--      next if /\A\#/ =~ line || /\A\s*\z/ =~ line
--      /\A(\S+)\s+
--       \S+\s+(\S+)\s+(\d+)\s+(\d\d):(\d\d):(\d\d)\s+(\d+)\s+UTC
--       \s+=\s+
--       \S+\s+(\S+)\s+(\d+)\s+(\d\d):(\d\d):(\d\d)\s+(\d+)\s+\S+
--       \s+isdst=\d+\s+gmtoff=(-?\d+)\n
--       \z/x =~ line
--       tz, u_mon, u_day, u_hour, u_min, u_sec, u_year,
--         l_mon, l_day, l_hour, l_min, l_sec, l_year, gmtoff = $~.captures
--      u_year = u_year.to_i
--      u_mon = MON2NUM[u_mon]
--      u_day = u_day.to_i
--      u_hour = u_hour.to_i
--      u_min = u_min.to_i
--      u_sec = u_sec.to_i
--      l_year = l_year.to_i
--      l_mon = MON2NUM[l_mon]
--      l_day = l_day.to_i
--      l_hour = l_hour.to_i
--      l_min = l_min.to_i
--      l_sec = l_sec.to_i
--      gmtoff = gmtoff.to_i
--      sample << [tz,
--                 [u_year, u_mon, u_day, u_hour, u_min, u_sec],
--                 [l_year, l_mon, l_day, l_hour, l_min, l_sec],
--                 gmtoff]
-+      s = parse_zdump_line(line)
-+      sample << s if s
-     }
-     sample.each {|tz, u, l, gmtoff|
-       expected_utc = "%04d-%02d-%02d %02d:%02d:%02d UTC" % u
-@@ -249,6 +256,7 @@ class TestTimeTZ < Test::Unit::TestCase
-         }
-       }
-     }
-+
-     group_by(sample) {|tz, _, _, _| tz }.each {|tz, a|
-       a.each_with_index {|(_, u, l, gmtoff), i|
-         expected = "%04d-%02d-%02d %02d:%02d:%02d %s" % (l+[format_gmtoff(gmtoff)])
-@@ -348,6 +356,45 @@ right/America/Los_Angeles  Wed Dec 31 23:59:60 2008 UTC = Wed Dec 31 15:59:60 20
- #right/Asia/Tokyo  Sat Dec 31 23:59:60 2005 UTC = Sun Jan  1 08:59:60 2006 JST isdst=0 gmtoff=32400
- right/Europe/Paris  Fri Jun 30 23:59:60 1972 UTC = Sat Jul  1 00:59:60 1972 CET isdst=0 gmtoff=3600
- right/Europe/Paris  Wed Dec 31 23:59:60 2008 UTC = Thu Jan  1 00:59:60 2009 CET isdst=0 gmtoff=3600
-+End
-+
-+  def self.gen_variational_zdump_test(hint, data)
-+    sample = []
-+    data.each_line {|line|
-+      s = parse_zdump_line(line)
-+      sample << s if s
-+    }
-+
-+    define_method(gen_test_name(hint)) {
-+      results = []
-+      sample.each {|tz, u, l, gmtoff|
-+        expected_utc = "%04d-%02d-%02d %02d:%02d:%02d UTC" % u
-+        expected = "%04d-%02d-%02d %02d:%02d:%02d %s" % (l+[format_gmtoff(gmtoff)])
-+        mesg_utc = "TZ=#{tz} Time.utc(#{u.map {|arg| arg.inspect }.join(', ')})"
-+        mesg = "#{mesg_utc}.localtime"
-+        with_tz(tz) {
-+          t = nil
-+          assert_nothing_raised(mesg) { t = Time.utc(*u) }
-+          assert_equal(expected_utc, time_to_s(t), mesg_utc)
-+          assert_nothing_raised(mesg) { t.localtime }
-+
-+          results << [
-+            expected == time_to_s(t),
-+            gmtoff == t.gmtoff,
-+            format_gmtoff(gmtoff) == t.strftime("%z"),
-+            format_gmtoff(gmtoff, true) == t.strftime("%:z"),
-+            format_gmtoff2(gmtoff) == t.strftime("%::z")
-+          ]
-+        }
-+      }
-+      assert_includes(results, [true, true, true, true, true])
-+    }
-+  end
-+
-+  # tzdata-2014g fixed the offset for lisbon from -0:36:32 to -0:36:45.
-+  # [ruby-core:65058] [Bug #10245]
-+  gen_variational_zdump_test "lisbon", <<'End' if force_tz_test
- Europe/Lisbon  Mon Jan  1 00:36:31 1912 UTC = Sun Dec 31 23:59:59 1911 LMT isdst=0 gmtoff=-2192
-+Europe/Lisbon  Mon Jan  1 00:36:44 1912 UT = Sun Dec 31 23:59:59 1911 LMT isdst=0 gmtoff=-2205
- End
- end
--- 
-1.9.3
-
diff --git a/SOURCES/ruby-openssl-wrap-cipher-fix.patch b/SOURCES/ruby-openssl-wrap-cipher-fix.patch
new file mode 100644
index 0000000..4a4f419
--- /dev/null
+++ b/SOURCES/ruby-openssl-wrap-cipher-fix.patch
@@ -0,0 +1,12 @@
+diff --git a/test/openssl/test_cipher.rb b/test/openssl/test_cipher.rb
+index 15cfb7b..8055ce4 100644
+--- a/test/openssl/test_cipher.rb
++++ b/test/openssl/test_cipher.rb
+@@ -104,6 +104,7 @@ class OpenSSL::TestCipher < Test::Unit::TestCase
+     def test_ciphers
+       OpenSSL::Cipher.ciphers.each{|name|
+         next if /netbsd/ =~ RUBY_PLATFORM && /idea|rc5/i =~ name
++        next if /wrap/ =~ name
+         assert(OpenSSL::Cipher::Cipher.new(name).is_a?(OpenSSL::Cipher::Cipher))
+       }
+     end
diff --git a/SOURCES/rubygems-2.0.0-Do-not-modify-global-Specification.dirs-during-insta.patch b/SOURCES/rubygems-2.0.0-Do-not-modify-global-Specification.dirs-during-insta.patch
index 98013a7..1e58ff7 100644
--- a/SOURCES/rubygems-2.0.0-Do-not-modify-global-Specification.dirs-during-insta.patch
+++ b/SOURCES/rubygems-2.0.0-Do-not-modify-global-Specification.dirs-during-insta.patch
@@ -13,7 +13,7 @@ diff --git a/lib/rubygems/dependency_installer.rb b/lib/rubygems/dependency_inst
 index d811f62..dffa8df 100644
 --- a/lib/rubygems/dependency_installer.rb
 +++ b/lib/rubygems/dependency_installer.rb
-@@ -330,9 +330,6 @@ class Gem::DependencyInstaller
+@@ -337,9 +337,6 @@ class Gem::DependencyInstaller
  
      last = @gems_to_install.size - 1
      @gems_to_install.each_with_index do |spec, index|
@@ -63,7 +63,7 @@ index dffa8df..841f26a 100644
      @bin_dir             = options[:bin_dir]
      @dev_shallow         = options[:dev_shallow]
      @development         = options[:development]
-@@ -92,7 +89,7 @@ class Gem::DependencyInstaller
+@@ -91,7 +88,7 @@ class Gem::DependencyInstaller
      @installed_gems = []
      @toplevel_specs = nil
  
@@ -72,7 +72,7 @@ index dffa8df..841f26a 100644
  
      # Set with any errors that SpecFetcher finds while search through
      # gemspecs for a dep
-@@ -202,7 +199,7 @@ class Gem::DependencyInstaller
+@@ -201,7 +199,7 @@ class Gem::DependencyInstaller
      # that this isn't dependent only on the currently installed gems
      dependency_list.specs.reject! { |spec|
        not keep_names.include?(spec.full_name) and
@@ -81,7 +81,7 @@ index dffa8df..841f26a 100644
      }
  
      unless dependency_list.ok? or @ignore_dependencies or @force then
-@@ -254,7 +251,7 @@ class Gem::DependencyInstaller
+@@ -253,7 +251,7 @@ class Gem::DependencyInstaller
            to_do.push t.spec
          end
  
@@ -90,7 +90,7 @@ index dffa8df..841f26a 100644
  
          @available << results
          results.inject_into_list dependency_list
-@@ -360,7 +357,7 @@ class Gem::DependencyInstaller
+@@ -367,7 +365,7 @@ class Gem::DependencyInstaller
                                  :force               => @force,
                                  :format_executable   => @format_executable,
                                  :ignore_dependencies => @ignore_dependencies,
@@ -117,7 +117,7 @@ diff --git a/lib/rubygems/dependency_installer.rb b/lib/rubygems/dependency_inst
 index 841f26a..abcfa0f 100644
 --- a/lib/rubygems/dependency_installer.rb
 +++ b/lib/rubygems/dependency_installer.rb
-@@ -357,7 +357,7 @@ class Gem::DependencyInstaller
+@@ -365,7 +365,7 @@ class Gem::DependencyInstaller
                                  :force               => @force,
                                  :format_executable   => @format_executable,
                                  :ignore_dependencies => @ignore_dependencies,
@@ -130,7 +130,7 @@ diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
 index 780a88b..6543130 100644
 --- a/lib/rubygems/installer.rb
 +++ b/lib/rubygems/installer.rb
-@@ -537,13 +537,13 @@ class Gem::Installer
+@@ -547,13 +547,13 @@ class Gem::Installer
        :bin_dir      => nil,
        :env_shebang  => false,
        :force        => false,
diff --git a/SOURCES/rubygems-2.0.0-binary-extensions.patch b/SOURCES/rubygems-2.0.0-binary-extensions.patch
index 4876d35..aa9fdbd 100644
--- a/SOURCES/rubygems-2.0.0-binary-extensions.patch
+++ b/SOURCES/rubygems-2.0.0-binary-extensions.patch
@@ -11,7 +11,7 @@ diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
 index cabdf8d..87b14d2 100644
 --- a/lib/rubygems/specification.rb
 +++ b/lib/rubygems/specification.rb
-@@ -1256,6 +1256,12 @@ class Gem::Specification
+@@ -1269,6 +1269,12 @@ class Gem::Specification
        File.join full_gem_path, path
      end
  
@@ -24,7 +24,7 @@ index cabdf8d..87b14d2 100644
      # gem directories must come after -I and ENV['RUBYLIB']
      insert_index = Gem.load_path_insert_index
  
-@@ -1374,11 +1380,16 @@ class Gem::Specification
+@@ -1389,11 +1395,16 @@ class Gem::Specification
  
    def contains_requirable_file? file
      root     = full_gem_path
@@ -43,7 +43,7 @@ index cabdf8d..87b14d2 100644
      end
    end
  
-@@ -1674,6 +1685,23 @@ class Gem::Specification
+@@ -1691,6 +1699,23 @@ class Gem::Specification
    end
  
    ##
@@ -85,7 +85,7 @@ diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
 index 780a88b..854c177 100644
 --- a/lib/rubygems/installer.rb
 +++ b/lib/rubygems/installer.rb
-@@ -646,7 +646,7 @@ TEXT
+@@ -656,7 +656,7 @@ TEXT
        say "This could take a while..."
      end
  
@@ -98,7 +98,7 @@ diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
 index 87b14d2..492ddbe 100644
 --- a/lib/rubygems/specification.rb
 +++ b/lib/rubygems/specification.rb
-@@ -1689,16 +1689,15 @@ class Gem::Specification
+@@ -1706,16 +1706,15 @@ class Gem::Specification
    # eg: /usr/local/lib/ruby/1.8/exts/mygem-1.0
  
    def ext_dir
@@ -135,7 +135,7 @@ diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
 index 492ddbe..c703827 100644
 --- a/lib/rubygems/specification.rb
 +++ b/lib/rubygems/specification.rb
-@@ -1256,11 +1256,7 @@ class Gem::Specification
+@@ -1269,11 +1269,7 @@ class Gem::Specification
        File.join full_gem_path, path
      end
  
@@ -148,7 +148,7 @@ index 492ddbe..c703827 100644
  
      # gem directories must come after -I and ENV['RUBYLIB']
      insert_index = Gem.load_path_insert_index
-@@ -1697,7 +1693,10 @@ class Gem::Specification
+@@ -1714,7 +1710,10 @@ class Gem::Specification
    # gem directory. eg: /usr/local/lib/ruby/1.8/gems
  
    def exts_dir
@@ -178,7 +178,7 @@ diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
 index 854c177..f1f2ad7 100644
 --- a/lib/rubygems/installer.rb
 +++ b/lib/rubygems/installer.rb
-@@ -646,7 +646,7 @@ TEXT
+@@ -656,7 +656,7 @@ TEXT
        say "This could take a while..."
      end
  
@@ -191,7 +191,7 @@ diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
 index c703827..fa9ea6e 100644
 --- a/lib/rubygems/specification.rb
 +++ b/lib/rubygems/specification.rb
-@@ -1256,7 +1256,7 @@ class Gem::Specification
+@@ -1269,7 +1269,7 @@ class Gem::Specification
        File.join full_gem_path, path
      end
  
@@ -200,7 +200,7 @@ index c703827..fa9ea6e 100644
  
      # gem directories must come after -I and ENV['RUBYLIB']
      insert_index = Gem.load_path_insert_index
-@@ -1685,7 +1685,7 @@ class Gem::Specification
+@@ -1702,7 +1702,7 @@ class Gem::Specification
    # eg: /usr/local/lib/ruby/1.8/exts/mygem-1.0
  
    def ext_dir
@@ -252,7 +252,7 @@ diff --git a/lib/rubygems/defaults.rb b/lib/rubygems/defaults.rb
 index ea84e5c..b221954 100644
 --- a/lib/rubygems/defaults.rb
 +++ b/lib/rubygems/defaults.rb
-@@ -101,6 +101,17 @@ module Gem
+@@ -103,6 +103,17 @@ module Gem
    end
  
    ##
@@ -274,7 +274,7 @@ diff --git a/lib/rubygems/specification.rb b/lib/rubygems/specification.rb
 index fa9ea6e..2b10499 100644
 --- a/lib/rubygems/specification.rb
 +++ b/lib/rubygems/specification.rb
-@@ -1693,10 +1693,7 @@ class Gem::Specification
+@@ -1710,10 +1710,7 @@ class Gem::Specification
    # gem directory. eg: /usr/local/lib/ruby/1.8/gems
  
    def exts_dir
@@ -304,7 +304,7 @@ diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
 index f1f2ad7..e1577fc 100644
 --- a/lib/rubygems/installer.rb
 +++ b/lib/rubygems/installer.rb
-@@ -646,7 +646,7 @@ TEXT
+@@ -656,7 +656,7 @@ TEXT
        say "This could take a while..."
      end
  
@@ -330,7 +330,7 @@ diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb
 index e1577fc..1492c68 100644
 --- a/lib/rubygems/installer.rb
 +++ b/lib/rubygems/installer.rb
-@@ -646,7 +646,7 @@ TEXT
+@@ -656,7 +656,7 @@ TEXT
        say "This could take a while..."
      end
  
diff --git a/SPECS/ruby.spec b/SPECS/ruby.spec
index 7ef2377..f4fe289 100644
--- a/SPECS/ruby.spec
+++ b/SPECS/ruby.spec
@@ -1,7 +1,7 @@
 %global major_version 2
 %global minor_version 0
 %global teeny_version 0
-%global patch_level 353
+%global patch_level 598
 
 %global major_minor_version %{major_version}.%{minor_version}
 
@@ -26,7 +26,7 @@
 %endif
 
 
-%global release 22
+%global release 24
 %{!?release_string:%global release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}}
 
 %global rubygems_version 2.0.14
@@ -152,28 +152,12 @@ Patch17: ruby-2.1.0-Allow-to-specify-additional-preludes-by-configuratio.patch
 # Fixes issues with DESTDIR.
 # https://bugs.ruby-lang.org/issues/8115
 Patch18: ruby-2.0.0-p247-Revert-mkmf.rb-prefix-install_dirs-only-with-DESTDIR.patch
-# Fixes multilib conlicts of .gemspec files.
-# https://bugs.ruby-lang.org/issues/8623
-Patch19: ruby-2.0.0-p247-Make-stable-Gem-Specification.files-in-default-.gems.patch
-# Backport regenerated certificates for IMAP tests.
-# http://bugs.ruby-lang.org/issues/9341
-Patch20: ruby-2.1.1-fix-test-failures-due-to-expired-certs.patch
-# Fix test_aes_gcm_wrong_tag(OpenSSL::TestCipher) random test failures.
-# https://bugs.ruby-lang.org/issues/8439
-Patch21: ruby-2.1.0-test_aes_gcm_wrong_tag-Dont-use-String-succ.patch
-# Fix test suite for new tzdata
-# https://bugs.ruby-lang.org/issues/10245
-Patch22: ruby-2.2.0-fix-error-with-tzdata.patch
+# Fix FTBFS due to a support for RFC 5649 in OpenSSL
+# https://bugs.ruby-lang.org/issues/10229
+Patch23: ruby-openssl-wrap-cipher-fix.patch
 # CVE-2014-4975: Fix off-by-one stack-based buffer overflow in the encodes() function
 # https://bugs.ruby-lang.org/issues/10019
-Patch23: ruby-2.1.0-CVE-2014-4975-fix-buffer-overru-by-tail_lf.patch
-# CVE-2014-8080: Fix REXML billion laughs attack via parameter entity expansion.
-# https://bugzilla.redhat.com/show_bug.cgi?id=1157709
-Patch24: ruby-2.0.0-p594-CVE-2014-8080-REXML-billion-laughs-attack.patch
-# CVE-2014-8090: REXML incomplete fix for CVE-2014-8080.
-# https://bugzilla.redhat.com/show_bug.cgi?id=1159927
-Patch25: ruby-2.0.0-p598-CVE-2014-8090-REXML-incomplete-fix-for-CVE-2014-8080.patch
-
+Patch24: ruby-2.1.0-CVE-2014-4975-fix-buffer-overru-by-tail_lf.patch
 Requires: %{name}-libs%{?_isa} = %{version}-%{release}
 Requires: ruby(rubygems) >= %{rubygems_version}
 # Make the bigdecimal gem a runtime dependency of Ruby to avoid problems
@@ -440,13 +424,8 @@ Tcl/Tk interface for the object-oriented scripting language Ruby.
 %patch16 -p1
 %patch17 -p1
 %patch18 -p1
-%patch19 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p1
-%patch23
+%patch23 -p1
 %patch24
-%patch25
 
 # Provide an example of usage of the tapset:
 cp -a %{SOURCE3} .
@@ -662,8 +641,8 @@ OPENSSL_ENABLE_MD5_VERIFY=1 make check TESTS="-v $DISABLE_TESTS"
 # local system administrator.
 %exclude %{ruby_sitelibdir}
 %exclude %{ruby_sitearchdir}
-%{ruby_vendorlibdir}
-%{ruby_vendorarchdir}
+%dir %{ruby_vendorlibdir}
+%dir %{ruby_vendorarchdir}
 
 # List all these files explicitly to prevent surprises
 # Platform independent libraries.
@@ -910,21 +889,39 @@ OPENSSL_ENABLE_MD5_VERIFY=1 make check TESTS="-v $DISABLE_TESTS"
 %{ruby_libdir}/tkextlib
 
 %changelog
-* Sun Nov 16 2014 Vít Ondruch <vondruch@redhat.com> - 2.0.0.353-22
-- Fix REXML billion laughs attack via parameter entity expansion
-  (CVE-2014-8080).
-  Resolves: rhbz#1163998
-- REXML incomplete fix for CVE-2014-8080 (CVE-2014-8090).
-  Resolves: rhbz#1163998
-
-* Fri Nov 14 2014 Vít Ondruch <vondruch@redhat.com> - 2.0.0.353-21
+* Fri Nov 14 2014 Vít Ondruch <vondruch@redhat.com> - 2.0.0.598-24
+- Rebased to Ruby 2.0.0-p598.
+  * Remove Patch19: ruby-2.0.0-p247-Make-stable-Gem-Specification.files-in-
+      default-.gems.patch; subsumed
+  * Remove Patch20: ruby-2.1.1-fix-test-failures-due-to-expired-certs.patch;
+      subsumed
+  * Remove Patch21: ruby-2.1.0-test_aes_gcm_wrong_tag-Dont-use-String
+      -succ.patch; subsumed
+  * Remove Patch22: ruby-2.2.0-fix-error-with-tzdata.patch; subsumed
+  Resolves: rhbz#1071187
+- Incorporates fixes for CVE-2014-8080 and CVE-2015-8090.
+  Resolves: rhbz#1164000
+- Fix for Proxy Realm feature.
+  Resolves: rhbz#1122140
 - Fix off-by-one stack-based buffer overflow in the encodes() function
-  (CVE-2014-4975)
-  Resolves: rhbz#1163998
+  (CVE-2014-4975).
+  Related: rhbz#1164000
+
+* Wed Sep 24 2014 Josef Stribny <jstribny@redhat.com> - 2.0.0.353-23
+- Add missing patch for new tzdata
+  Related: rhbz#1144023
+- Add missing patch for RFC 5649 in OpenSSL
+  Related: rhbz#1145692
 
-* Tue Sep 23 2014 Josef Stribny <jstribny@redhat.com> - 2.0.0.353-21
+* Tue Sep 23 2014 Josef Stribny <jstribny@redhat.com> - 2.0.0.353-22
 - Fix FTBFS with new tzdata
-  Related: rhbz#1163998
+  Resolves: rhbz#1144023
+- Fix FTBFS due to a support for RFC 5649 in OpenSSL
+  Resolves: rhbz#1145692
+
+* Thu Aug 14 2014 Vít Ondruch <vondruch@redhat.com> - 2.0.0.353-21
+- Add support for ppc64le arch.
+  Resolves: rhbz#1126146
 
 * Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 2.0.0.353-20
 - Mass rebuild 2014-01-24