diff --git a/.gitignore b/.gitignore index 9bdb3fc..f2ff6b0 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ ruby-rev415a3ef9ab82c65a7abc-ext_tk.tar.gz /ruby-1.9.3-p385.tar.gz /ruby-2.0.0-r39387.tar.gz /ruby-2.0.0-p0.tar.gz +/ruby-2.0.0-p195.tar.bz2 diff --git a/ruby-1.9.3-always-use-i386.patch b/ruby-1.9.3-always-use-i386.patch index dec6994..8b724a8 100644 --- a/ruby-1.9.3-always-use-i386.patch +++ b/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 -@@ -3362,6 +3362,8 @@ AC_SUBST(vendorarchdir)dnl +@@ -3419,6 +3419,8 @@ AC_SUBST(vendorarchdir)dnl configure_args=$ac_configure_args AC_SUBST(configure_args)dnl diff --git a/ruby-1.9.3-custom-rubygems-location.patch b/ruby-1.9.3-custom-rubygems-location.patch index 4a3e7cb..90ad58d 100644 --- a/ruby-1.9.3-custom-rubygems-location.patch +++ b/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 -@@ -3292,6 +3292,13 @@ AC_ARG_WITH(vendorarchdir, +@@ -3349,6 +3349,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 -@@ -3358,6 +3365,7 @@ AC_SUBST(sitearchdir)dnl +@@ -3415,6 +3422,7 @@ AC_SUBST(sitearchdir)dnl AC_SUBST(vendordir)dnl AC_SUBST(vendorlibdir)dnl AC_SUBST(vendorarchdir)dnl diff --git a/ruby-2.0.0-Prevent-duplicated-paths-when-empty-version-string-i.patch b/ruby-2.0.0-Prevent-duplicated-paths-when-empty-version-string-i.patch index a6a8106..58d602d 100644 --- a/ruby-2.0.0-Prevent-duplicated-paths-when-empty-version-string-i.patch +++ b/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 -@@ -3306,6 +3306,9 @@ unexpand_shvar exec_prefix prefix +@@ -3367,6 +3367,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 !!) else diff --git a/ruby-2.0.0-p57-test_thr_kill.patch b/ruby-2.0.0-p57-test_thr_kill.patch deleted file mode 100644 index c65ab23..0000000 --- a/ruby-2.0.0-p57-test_thr_kill.patch +++ /dev/null @@ -1,49 +0,0 @@ -Index: ChangeLog -=================================================================== ---- ChangeLog (revision 39727) -+++ ChangeLog (revision 39728) -@@ -1,3 +1,15 @@ -+Tue Mar 12 00:56:19 2013 KOSAKI Motohiro -+ -+ * test/thread/test_queue.rb (TestQueue#test_thr_kill): reduce -+ iterations from 2000 to 250. When running on uniprocessor -+ systems, every th.kill needs TIME_QUANTUM_USEC time (i.e. -+ 100msec on posix systems). Because, "r.read 1" is 3 steps -+ operations that 1) release GVL 2) read 3) acquire gvl and -+ (1) invoke context switch to main thread. and then, main -+ thread's th.kill resume (1), but not (2). Thus read interrupt -+ need TIME_QUANTUM_USEC. Then maximum iteration is 30sec/100msec -+ = 300. -+ - Sun Feb 24 15:16:00 2013 Eric Hodel - - * lib/net/http.rb: Removed duplicate Accept-Encoding in Net::HTTP#get. -Index: test/thread/test_queue.rb -=================================================================== ---- test/thread/test_queue.rb (revision 39727) -+++ test/thread/test_queue.rb (revision 39728) -@@ -85,7 +85,7 @@ - bug5343 = '[ruby-core:39634]' - Dir.mktmpdir {|d| - timeout = 30 -- total_count = 2000 -+ total_count = 250 - begin - assert_normal_exit(<<-"_eom", bug5343, {:timeout => timeout, :chdir=>d}) - require "thread" -@@ -98,7 +98,8 @@ - r.read 1 - } - queue.pop -- th.kill.join -+ th.kill -+ th.join - end - _eom - rescue Timeout::Error - -Property changes on: . -___________________________________________________________________ -Modified: svn:mergeinfo - Merged /trunk:r39688 - diff --git a/ruby-2.0.0-revert-unexpand-exec-prefix.patch b/ruby-2.0.0-revert-unexpand-exec-prefix.patch index 2a38296..35067aa 100644 --- a/ruby-2.0.0-revert-unexpand-exec-prefix.patch +++ b/ruby-2.0.0-revert-unexpand-exec-prefix.patch @@ -3,7 +3,7 @@ diff --git a/configure.in b/configure.in index be7d4fe..2d511e5 100644 --- a/configure.in +++ b/configure.in -@@ -2597,14 +2597,9 @@ AS_CASE(["$target_os"], +@@ -2574,14 +2574,9 @@ AS_CASE(["$target_os"], AC_SUBST(setup) @@ -21,23 +21,23 @@ index be7d4fe..2d511e5 100644 BTESTRUBY='$(MINIRUBY)' if test x"$cross_compiling" = xyes; then -@@ -3244,9 +3239,6 @@ AS_CASE(["$target_os"], +@@ -3211,9 +3216,6 @@ AS_CASE(["$target_os"], shvar_to_cpp() { - local var="$1" val="$2" -- local exec_prefix_pat="`echo \"${exec_prefix}\" | sed 's/\\./\\\\./g'`" -- local arch_pat="`echo \"${arch}\" | sed 's/\\./\\\\./g'`" -- local sitearch_pat="`echo \"${sitearch}\" | sed 's/\\./\\\\./g'`" - val="`echo '"'"${val}"'"' | + var="$1" val="$2" +- exec_prefix_pat="`echo \"${exec_prefix}\" | sed 's/\\./\\\\./g'`" +- arch_pat="`echo \"${arch}\" | sed 's/\\./\\\\./g'`" +- sitearch_pat="`echo \"${sitearch}\" | sed 's/\\./\\\\./g'`" + val="`echo '\"'\"${val}\"'\"' | sed \ - -e 's/\${\([[A-Z][A-Z_]]*\)}/"\1"/g' \ -@@ -3269,9 +3261,6 @@ shvar_to_cpp() { - -e 's/\${rubyarchprefix}/"RUBY_ARCH_PREFIX_FOR(arch)"/g' \ - -e 's/\${rubysitearchprefix}/"RUBY_SITEARCH_PREFIX_FOR(arch)"/g' \ - -e 's/\${exec_prefix}/"RUBY_EXEC_PREFIX"/g' \ -- -e "s|${exec_prefix_pat}/|"'"RUBY_EXEC_PREFIX"/|g' \ -- -e "s|${arch_pat}|"'"arch"|g' \ -- -e "s|${sitearch_pat}|"'"sitearch"|g' \ - -e 's|^\"NONE/|RUBY_EXEC_PREFIX\"/|' \ - -e 's|^\"NONE\"|\"'"${prefix}"'\"|' \ - -e 's/^\"\"\(.\)/\1/;s/\(.\)\"\"$/\1/' + -e 's/\${\([[A-Z][A-Z_]]*\)}/\"\1\"/g' \ +@@ -3236,9 +3238,6 @@ shvar_to_cpp() { + -e 's/\${rubyarchprefix}/\"RUBY_ARCH_PREFIX_FOR(arch)\"/g' \ + -e 's/\${rubysitearchprefix}/\"RUBY_SITEARCH_PREFIX_FOR(arch)\"/g' \ + -e 's/\${exec_prefix}/\"RUBY_EXEC_PREFIX\"/g' \ +- -e \"s|${exec_prefix_pat}/|\"'\"RUBY_EXEC_PREFIX\"/|g' \ +- -e \"s|${arch_pat}|\"'\"arch\"|g' \ +- -e \"s|${sitearch_pat}|\"'\"sitearch\"|g' \ + -e 's|^\\\"NONE/|RUBY_EXEC_PREFIX\\\"/|' \ + -e 's|^\\\"NONE\\\"|\\\"'\"${prefix}\"'\\\"|' \ + -e 's/^\\\"\\\"\(.\)/\1/;s/\(.\)\\\"\\\"$/\1/' diff --git a/ruby.spec b/ruby.spec index d3b0917..32790f8 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,7 +1,7 @@ %global major_version 2 %global minor_version 0 %global teeny_version 0 -%global patch_level 0 +%global patch_level 195 %global major_minor_version %{major_version}.%{minor_version} @@ -26,10 +26,10 @@ %endif -%global release 7 +%global release 8 %{!?release_string:%global release_string %{?development_release:0.}%{release}%{?development_release:.%{development_release}}%{?dist}} -%global rubygems_version 2.0.0 +%global rubygems_version 2.0.2 # The RubyGems library has to stay out of Ruby directory three, since the # RubyGems should be share by all Ruby implementations. @@ -66,7 +66,7 @@ Group: Development/Languages # Public Domain for example for: include/ruby/st.h, strftime.c, ... License: (Ruby or BSD) and Public Domain URL: http://ruby-lang.org/ -Source0: ftp://ftp.ruby-lang.org/pub/%{name}/%{major_minor_version}/%{ruby_archive}.tar.gz +Source0: ftp://ftp.ruby-lang.org/pub/%{name}/%{major_minor_version}/%{ruby_archive}.tar.bz2 Source1: operating_system.rb # TODO: Try to push SystemTap support upstream. Source2: libruby.stp @@ -137,10 +137,8 @@ Patch13: rubygems-2.0.0-Do-not-modify-global-Specification.dirs-during-insta.pat Patch14: rubygems-2.0.0-Fixes-for-empty-ruby-version.patch # Fixes issues with wrong value of Rubygem's shebang introduced in r39267. # https://bugs.ruby-lang.org/issues/7915 +# TODO: Patch15: ruby-2.0.0-revert-unexpand-exec-prefix.patch -# Fixes test_thr_kill(TestQueue) random test failure. -# https://bugs.ruby-lang.org/issues/7521 -Patch16: ruby-2.0.0-p57-test_thr_kill.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: ruby(rubygems) >= %{rubygems_version} @@ -405,7 +403,6 @@ Tcl/Tk interface for the object-oriented scripting language Ruby. %patch13 -p1 %patch14 -p1 %patch15 -p1 -%patch16 -p0 # Provide an example of usage of the tapset: cp -a %{SOURCE3} . @@ -849,6 +846,10 @@ make check TESTS="-v $DISABLE_TESTS" %{ruby_libdir}/tkextlib %changelog +* Fri May 17 2013 Vít Ondruch - 2.0.0.195-8 +- Update to Ruby 2.0.0-p195 (rhbz#917374). +- Fix object taint bypassing in DL and Fiddle (CVE-2013-2065). + * Fri Apr 19 2013 Vít Ondruch - 2.0.0.0-7 - Macro definition moved into macros.ruby and macros.rubygems files. - Added filtering macros. diff --git a/rubygems-2.0.0-Do-not-modify-global-Specification.dirs-during-insta.patch b/rubygems-2.0.0-Do-not-modify-global-Specification.dirs-during-insta.patch index a6d2334..607e028 100644 --- a/rubygems-2.0.0-Do-not-modify-global-Specification.dirs-during-insta.patch +++ b/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 -@@ -319,9 +319,6 @@ class Gem::DependencyInstaller +@@ -330,9 +330,6 @@ class Gem::DependencyInstaller last = @gems_to_install.size - 1 @gems_to_install.each_with_index do |spec, index| @@ -64,7 +64,7 @@ index dffa8df..841f26a 100644 @bin_dir = options[:bin_dir] @dev_shallow = options[:dev_shallow] @development = options[:development] -@@ -91,7 +88,7 @@ class Gem::DependencyInstaller +@@ -92,7 +89,7 @@ class Gem::DependencyInstaller @installed_gems = [] @toplevel_specs = nil @@ -73,7 +73,7 @@ index dffa8df..841f26a 100644 # Set with any errors that SpecFetcher finds while search through # gemspecs for a dep -@@ -185,7 +182,7 @@ class Gem::DependencyInstaller +@@ -202,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 @@ -82,7 +82,7 @@ index dffa8df..841f26a 100644 } unless dependency_list.ok? or @ignore_dependencies or @force then -@@ -237,7 +234,7 @@ class Gem::DependencyInstaller +@@ -254,7 +251,7 @@ class Gem::DependencyInstaller to_do.push t.spec end @@ -91,7 +91,7 @@ index dffa8df..841f26a 100644 @available << results results.inject_into_list dependency_list -@@ -349,7 +346,7 @@ class Gem::DependencyInstaller +@@ -360,7 +357,7 @@ class Gem::DependencyInstaller :force => @force, :format_executable => @format_executable, :ignore_dependencies => @ignore_dependencies, @@ -118,7 +118,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 -@@ -346,7 +346,7 @@ class Gem::DependencyInstaller +@@ -357,7 +357,7 @@ class Gem::DependencyInstaller :force => @force, :format_executable => @format_executable, :ignore_dependencies => @ignore_dependencies, @@ -131,7 +131,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 -@@ -536,13 +536,13 @@ class Gem::Installer +@@ -537,13 +537,13 @@ class Gem::Installer :bin_dir => nil, :env_shebang => false, :force => false, diff --git a/rubygems-2.0.0-Fixes-for-empty-ruby-version.patch b/rubygems-2.0.0-Fixes-for-empty-ruby-version.patch index 9b275a9..e443a46 100644 --- a/rubygems-2.0.0-Fixes-for-empty-ruby-version.patch +++ b/rubygems-2.0.0-Fixes-for-empty-ruby-version.patch @@ -63,7 +63,7 @@ diff --git a/test/rubygems/test_gem.rb b/test/rubygems/test_gem.rb index bf77009..9ee78f7 100644 --- a/test/rubygems/test_gem.rb +++ b/test/rubygems/test_gem.rb -@@ -1186,8 +1186,10 @@ class TestGem < Gem::TestCase +@@ -1198,8 +1198,10 @@ class TestGem < Gem::TestCase end def test_self_user_dir diff --git a/rubygems-2.0.0-binary-extensions.patch b/rubygems-2.0.0-binary-extensions.patch index fa30892..4876d35 100644 --- a/rubygems-2.0.0-binary-extensions.patch +++ b/rubygems-2.0.0-binary-extensions.patch @@ -1,7 +1,7 @@ From ec90622235ae19b28a327cb50a10e0311e8f3d71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 3 Nov 2011 16:43:05 +0100 -Subject: [PATCH 1/9] Add dedicate extensions folder into $LOAD_PATH. +Subject: [PATCH 1/8] Add dedicate extensions folder into $LOAD_PATH. --- lib/rubygems/specification.rb | 32 ++++++++++++++++++++++++++++++-- @@ -74,7 +74,7 @@ index cabdf8d..87b14d2 100644 From e42819f32fc5d935f7e7189ec4be8bdab0a2cf3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Wed, 16 Nov 2011 13:26:48 +0100 -Subject: [PATCH 2/9] Use spec's ext dir for extension installation. +Subject: [PATCH 2/8] Use spec's ext dir for extension installation. --- lib/rubygems/installer.rb | 2 +- @@ -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 -@@ -645,7 +645,7 @@ TEXT +@@ -646,7 +646,7 @@ TEXT say "This could take a while..." end @@ -167,7 +167,7 @@ index 492ddbe..c703827 100644 From 9a8556c609e800d0dbd24af416d613f2e82f323c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 9 Dec 2011 16:31:04 +0100 -Subject: [PATCH 4/9] Fix the binary extension search path construction. +Subject: [PATCH 4/8] Fix the binary extension search path construction. --- lib/rubygems/installer.rb | 2 +- @@ -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 -@@ -645,7 +645,7 @@ TEXT +@@ -646,7 +646,7 @@ TEXT say "This could take a while..." end @@ -216,7 +216,7 @@ index c703827..fa9ea6e 100644 From 476c2f90cc6f5f490858f253a9b23eb19d53d2fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 13 Dec 2011 12:14:54 +0100 -Subject: [PATCH 5/9] Remove binary extensions during uninstall. +Subject: [PATCH 5/8] Remove binary extensions during uninstall. --- lib/rubygems/uninstaller.rb | 1 + @@ -241,7 +241,7 @@ index d672b9d..5c31a0c 100644 From 35dc17e86f701fe1be80d98ace79735c535fd570 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 13 Dec 2011 14:27:14 +0100 -Subject: [PATCH 6/9] Avoid dependency on customized operating_system.rb. +Subject: [PATCH 6/8] Avoid dependency on customized operating_system.rb. --- lib/rubygems/defaults.rb | 11 +++++++++++ @@ -293,7 +293,7 @@ index fa9ea6e..2b10499 100644 From 0937c0b0a3c2ed08ab5b0875f7f95e24157525c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 7 Feb 2013 13:07:34 +0100 -Subject: [PATCH 7/9] Fix binary extensions installation when --install-dir is +Subject: [PATCH 7/8] Fix binary extensions installation when --install-dir is specified. --- @@ -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 -@@ -645,7 +645,7 @@ TEXT +@@ -646,7 +646,7 @@ TEXT say "This could take a while..." end @@ -317,40 +317,10 @@ index f1f2ad7..e1577fc 100644 1.8.1.2 -From 4d9675cab5decaef3c9f7f91b2f9c9abd2a19cea Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?V=C3=ADt=20Ondruch?= -Date: Fri, 15 Feb 2013 16:24:29 +0100 -Subject: [PATCH 8/9] mkmf does not create folder for binary extensions - anymore. - -This was dropped in Ruby r37016 for some reasons :/ ---- - lib/rubygems/ext/builder.rb | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/lib/rubygems/ext/builder.rb b/lib/rubygems/ext/builder.rb -index d7d953f..812c20c 100644 ---- a/lib/rubygems/ext/builder.rb -+++ b/lib/rubygems/ext/builder.rb -@@ -21,6 +21,10 @@ class Gem::Ext::Builder - mf = mf.gsub(/^RUBYLIBDIR\s*=\s*\$[^$]*/, "RUBYLIBDIR = #{dest_path}") - mf = mf.gsub(/\s*\S+\.time$/, "") - -+ # Folder creation was dropped in r37016 for some reasons :/ -+ target_prefix = mf[/^target_prefix\s*=[^\S\n]*(.*)$/, 1] -+ FileUtils.mkdir_p File.join(dest_path, target_prefix) rescue nil # in case of perms issues -- lame -+ - File.open('Makefile', 'wb') {|f| f.print mf} - - # try to find make program from Ruby configure arguments first --- -1.8.1.2 - - From 062a11c59731f5875d5a8821a212c8a41cb84577 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 15 Feb 2013 17:07:07 +0100 -Subject: [PATCH 9/9] Use correct option. +Subject: [PATCH 8/8] Use correct option. --- lib/rubygems/installer.rb | 2 +- @@ -360,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 -@@ -645,7 +645,7 @@ TEXT +@@ -646,7 +646,7 @@ TEXT say "This could take a while..." end diff --git a/sources b/sources index 3115fba..c66f5b1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -50d307c4dc9297ae59952527be4e755d ruby-2.0.0-p0.tar.gz +2f54faea6ee1ca500632ec3c0cb59cb6 ruby-2.0.0-p195.tar.bz2