From a942830f25e328b4a3be45c1ee253b92c9f524e6 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 29 Feb 2012 15:44:00 +0000 Subject: [PATCH 01/18] Revert accidental merge of 1.9.3.125 from F-18 -> F-17 Revert "Temporarily disable make check on ARM until it's fixed upstream. Tracked in RHBZ 789410" This reverts commit 91599c23af5fa4c484ef0f76f48042a7d3ad3b82. --- ruby.spec | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/ruby.spec b/ruby.spec index 47130c7..dd74ad9 100644 --- a/ruby.spec +++ b/ruby.spec @@ -51,7 +51,7 @@ Summary: An interpreter of object-oriented scripting language Name: ruby Version: %{ruby_version_patch_level} -Release: 2%{?dist} +Release: 1%{?dist} Group: Development/Languages License: Ruby or BSD URL: http://ruby-lang.org/ @@ -146,7 +146,7 @@ libraries. %package -n rubygems-devel -Summary: Macros and development tools for packaging RubyGems +Summary: Macros and development tools for packagin RubyGems Version: %{rubygems_version} Group: Development/Libraries License: Ruby or MIT @@ -154,7 +154,7 @@ Requires: ruby(rubygems) = %{version}-%{release} BuildArch: noarch %description -n rubygems-devel -Macros and development tools for packaging RubyGems. +Macros and development tools for packagin RubyGems. %package -n rubygem-rake @@ -243,7 +243,7 @@ Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(io-console) = %{version}-%{release} %description -n rubygem-io-console -IO/Console provides very simple and portable access to console. It doesn't +IO/Console provides very simple and portable access to console. It doesn’t provide higher layer features, such like curses and readline. @@ -426,14 +426,9 @@ sed -i '2 a\ s.require_paths = ["lib"]' %{buildroot}/%{gem_dir}/specifications/minitest-%{minitest_version}.gemspec %check -# Disable make check on ARM until the bug is fixed -# https://bugzilla.redhat.com/show_bug.cgi?id=789410 -# https://bugs.ruby-lang.org/issues/6011 -%ifnarch %{arm} # TODO: Investigate the test failures. # https://bugs.ruby-lang.org/issues/6036 make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x test_x509cert.rb" -%endif %post libs -p /sbin/ldconfig @@ -469,7 +464,11 @@ make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x t %config(noreplace) %{_sysconfdir}/rpm/macros.ruby -%{_includedir}/* +%{_includedir}/ruby.h +%{_includedir}/ruby +%dir %{_includedir}/%{_normalized_cpu}-%{_target_os} +%{_includedir}/%{_normalized_cpu}-%{_target_os}/ruby + %{_libdir}/libruby.so %{_libdir}/pkgconfig/ruby-%{major_minor_version}.pc @@ -699,9 +698,6 @@ make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x t %{ruby_libdir}/tkextlib %changelog -* Wed Feb 29 2012 Peter Robinson - 1.9.3.125-2 -- Temporarily disable make check on ARM until it's fixed upstream. Tracked in RHBZ 789410 - * Mon Feb 20 2012 Vít Ondruch - 1.9.3.125-1 - Upgrade to Ruby 1.9.3-p125. From a9b40195d0fbb5805cf0df5a2cd6beb3dec6ea3d Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 29 Feb 2012 15:44:12 +0000 Subject: [PATCH 02/18] Revert accidental merge of 1.9.3.125 from F-18 -> F-17 Revert "Simplify seds." This reverts commit 7844acce6d6cfa17853915e98b79a226c713cf80. --- ruby.spec | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/ruby.spec b/ruby.spec index dd74ad9..efeedd7 100644 --- a/ruby.spec +++ b/ruby.spec @@ -410,16 +410,16 @@ sed -i '2 a\ sed -i '2 a\ s.require_paths = ["lib"]' %{buildroot}/%{gem_dir}/specifications/rdoc-%{rdoc_version}.gemspec -sed -i '2 a\ - s.require_paths = ["lib"]\ +sed -i -e '2 a\ + s.require_paths = ["lib"]' -e '3 a\ s.extensions = ["bigdecimal.so"]' %{buildroot}/%{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec -sed -i '2 a\ - s.require_paths = ["lib"]\ +sed -i -e '2 a\ + s.require_paths = ["lib"]' -e '3 a\ s.extensions = ["io/console.so"]' %{buildroot}/%{gem_dir}/specifications/io-console-%{io_console_version}.gemspec -sed -i '2 a\ - s.require_paths = ["lib"]\ +sed -i -e '2 a\ + s.require_paths = ["lib"]' -e '3 a\ s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' %{buildroot}/%{gem_dir}/specifications/json-%{json_version}.gemspec sed -i '2 a\ From e170316f1bb31913cda8379ff2416edcb951b453 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 29 Feb 2012 15:44:29 +0000 Subject: [PATCH 03/18] Revert accidental merge of 1.9.3.125 from F-18 -> F-17 Revert "Use version macro for pkg-config file." This reverts commit 7ba1fecec89021e1c641f92b3c4c228d1e990640. --- ruby.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby.spec b/ruby.spec index efeedd7..e931852 100644 --- a/ruby.spec +++ b/ruby.spec @@ -470,7 +470,7 @@ make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x t %{_includedir}/%{_normalized_cpu}-%{_target_os}/ruby %{_libdir}/libruby.so -%{_libdir}/pkgconfig/ruby-%{major_minor_version}.pc +%{_libdir}/pkgconfig/ruby-1.9.pc %files libs %doc COPYING From 267fbc6cd1588df0a0ecf9c7e62dd224d09da038 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 29 Feb 2012 15:44:37 +0000 Subject: [PATCH 04/18] Revert accidental merge of 1.9.3.125 from F-18 -> F-17 Revert "Upgrade to Ruby 1.9.3-p125." This reverts commit ef4f0ea4171a971e72f6ebfd07486054256c9004. --- .gitignore | 1 - ...9.3-added-site-and-vendor-arch-flags.patch | 10 ++-- ruby-1.9.3-always-use-i386.patch | 2 +- ruby-1.9.3-arch-specific-dir.patch | 8 +-- ruby-1.9.3-custom-rubygems-location.patch | 4 +- ruby-1.9.3-disable-versioned-paths.patch | 2 +- ruby-1.9.3-fix-json-parser.patch | 40 ++++++++++++++ ruby-1.9.3-prevent-optimizing-sp.patch | 53 +++++++++++++++++++ ruby.spec | 19 ++++--- sources | 2 +- 10 files changed, 118 insertions(+), 23 deletions(-) create mode 100644 ruby-1.9.3-fix-json-parser.patch create mode 100644 ruby-1.9.3-prevent-optimizing-sp.patch diff --git a/.gitignore b/.gitignore index c58f574..03a0175 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,3 @@ ruby-rev415a3ef9ab82c65a7abc-ext_tk.tar.gz /ruby-revc2dfaa7d40531aef3706bcc16f38178b0c6633ee-ext_tk.tar.gz /ruby-1.8.7-p357.tar.bz2 /ruby-1.9.3-p0.tar.gz -/ruby-1.9.3-p125.tar.gz diff --git a/ruby-1.9.3-added-site-and-vendor-arch-flags.patch b/ruby-1.9.3-added-site-and-vendor-arch-flags.patch index 1363063..9dff272 100644 --- a/ruby-1.9.3-added-site-and-vendor-arch-flags.patch +++ b/ruby-1.9.3-added-site-and-vendor-arch-flags.patch @@ -29,7 +29,7 @@ diff --git a/configure.in b/configure.in index 83e5d76..31532bd 100644 --- a/configure.in +++ b/configure.in -@@ -2811,6 +2811,15 @@ until SITE_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${SITE_DIR}"; do +@@ -2801,6 +2801,15 @@ until SITE_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${SITE_DIR}"; do dir="${SITE_DIR}" done @@ -45,7 +45,7 @@ index 83e5d76..31532bd 100644 AC_ARG_WITH(vendordir, AS_HELP_STRING([--with-vendordir=DIR], [vendor libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]]]), [vendordir=$withval], -@@ -2820,19 +2829,32 @@ until VENDOR_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDOR_DIR}"; do +@@ -2810,19 +2819,32 @@ until VENDOR_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDOR_DIR}"; do dir="${VENDOR_DIR}" done @@ -78,7 +78,7 @@ index 83e5d76..31532bd 100644 fi pat=`echo "$RUBY_LIB_PREFIX/" | tr -c '\012' .`'\(.*\)' -@@ -2850,6 +2872,13 @@ AS_CASE(["$RUBY_SITE_LIB_PATH"], +@@ -2840,6 +2862,13 @@ AS_CASE(["$RUBY_SITE_LIB_PATH"], [ RUBY_SITE_LIB_PATH="\"${RUBY_SITE_LIB_PATH}\"" ]) @@ -92,7 +92,7 @@ index 83e5d76..31532bd 100644 AS_CASE(["$RUBY_VENDOR_LIB_PATH"], ["$RUBY_LIB_PREFIX/"*], [ RUBY_VENDOR_LIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_VENDOR_LIB_PATH\" : \"$pat\"`"'"' -@@ -2857,6 +2886,13 @@ AS_CASE(["$RUBY_VENDOR_LIB_PATH"], +@@ -2847,6 +2876,13 @@ AS_CASE(["$RUBY_VENDOR_LIB_PATH"], [ RUBY_VENDOR_LIB_PATH="\"${RUBY_VENDOR_LIB_PATH}\"" ]) @@ -106,7 +106,7 @@ index 83e5d76..31532bd 100644 pat=`echo "$RUBY_EXEC_PREFIX/" | tr -c '\012' .`'\(.*\)' AS_CASE(["$RUBY_LIB_PREFIX"], ["$RUBY_EXEC_PREFIX/"*], [ -@@ -2878,19 +2914,23 @@ if test "x$SITE_DIR" = xno; then +@@ -2868,19 +2904,23 @@ if test "x$SITE_DIR" = xno; then AC_DEFINE(NO_RUBY_SITE_LIB) else AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, ${RUBY_SITE_LIB_PATH}) diff --git a/ruby-1.9.3-always-use-i386.patch b/ruby-1.9.3-always-use-i386.patch index f5a8c3d..734c5eb 100644 --- a/ruby-1.9.3-always-use-i386.patch +++ b/ruby-1.9.3-always-use-i386.patch @@ -1,6 +1,6 @@ --- a/configure.in.orig 2011-10-18 08:56:21.587594685 +0200 +++ b/configure.in 2011-10-18 08:56:59.751593321 +0200 -@@ -2935,6 +2935,8 @@ +@@ -2925,6 +2925,8 @@ configure_args=$ac_configure_args AC_SUBST(configure_args)dnl diff --git a/ruby-1.9.3-arch-specific-dir.patch b/ruby-1.9.3-arch-specific-dir.patch index 8440ea7..b8feb96 100644 --- a/ruby-1.9.3-arch-specific-dir.patch +++ b/ruby-1.9.3-arch-specific-dir.patch @@ -26,7 +26,7 @@ diff --git a/configure.in b/configure.in index 83e5d76..e6dc38c 100644 --- a/configure.in +++ b/configure.in -@@ -2793,6 +2793,15 @@ else +@@ -2783,6 +2783,15 @@ else RUBY_LIB_VERSION="\"${ruby_version}\"" fi @@ -42,7 +42,7 @@ index 83e5d76..e6dc38c 100644 AC_ARG_WITH(sitedir, AS_HELP_STRING([--with-sitedir=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]]]), [sitedir=$withval], -@@ -2815,16 +2824,25 @@ if test "${LOAD_RELATIVE+set}"; then +@@ -2805,16 +2814,25 @@ if test "${LOAD_RELATIVE+set}"; then AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) RUBY_EXEC_PREFIX="" RUBY_LIB_PREFIX="`eval echo "$RUBY_LIB_PREFIX" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" @@ -68,7 +68,7 @@ index 83e5d76..e6dc38c 100644 AS_CASE(["$RUBY_SITE_LIB_PATH"], ["$RUBY_LIB_PREFIX/"*], [ RUBY_SITE_LIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_SITE_LIB_PATH\" : \"$pat\"`"'"' -@@ -2855,6 +2873,7 @@ else +@@ -2845,6 +2863,7 @@ else fi AC_DEFINE_UNQUOTED(RUBY_EXEC_PREFIX, "${RUBY_EXEC_PREFIX}") AC_DEFINE_UNQUOTED(RUBY_LIB_PREFIX, ${RUBY_LIB_PREFIX}) @@ -76,7 +76,7 @@ index 83e5d76..e6dc38c 100644 if test "x$SITE_DIR" = xno; then AC_DEFINE(NO_RUBY_SITE_LIB) else -@@ -2869,6 +2888,7 @@ fi +@@ -2859,6 +2878,7 @@ fi AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby-1.9.3-custom-rubygems-location.patch b/ruby-1.9.3-custom-rubygems-location.patch index 62d3dad..2566ef6 100644 --- a/ruby-1.9.3-custom-rubygems-location.patch +++ b/ruby-1.9.3-custom-rubygems-location.patch @@ -15,7 +15,7 @@ diff --git a/configure.in b/configure.in index b1bc951..91c5d0d 100644 --- a/configure.in +++ b/configure.in -@@ -2838,6 +2838,13 @@ until VENDOR_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDOR_DIR}"; do +@@ -2828,6 +2828,13 @@ until VENDOR_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDOR_DIR}"; do dir="${VENDORARCH_DIR}" done @@ -29,7 +29,7 @@ index b1bc951..91c5d0d 100644 if test "${LOAD_RELATIVE+set}"; then AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) RUBY_EXEC_PREFIX="" -@@ -2931,6 +2938,7 @@ AC_SUBST(sitearch)dnl +@@ -2921,6 +2928,7 @@ AC_SUBST(sitearch)dnl AC_SUBST(sitearchdir)dnl AC_SUBST(vendordir)dnl AC_SUBST(vendorarchdir)dnl diff --git a/ruby-1.9.3-disable-versioned-paths.patch b/ruby-1.9.3-disable-versioned-paths.patch index 6d0c5e1..afafb04 100644 --- a/ruby-1.9.3-disable-versioned-paths.patch +++ b/ruby-1.9.3-disable-versioned-paths.patch @@ -13,7 +13,7 @@ diff --git a/configure.in b/configure.in index e742e74..86cb68f 100644 --- a/configure.in +++ b/configure.in -@@ -2963,6 +2963,17 @@ else +@@ -2953,6 +2953,17 @@ else fi AC_SUBST(USE_RUBYGEMS) diff --git a/ruby-1.9.3-fix-json-parser.patch b/ruby-1.9.3-fix-json-parser.patch new file mode 100644 index 0000000..9621c72 --- /dev/null +++ b/ruby-1.9.3-fix-json-parser.patch @@ -0,0 +1,40 @@ +diff --git a/ext/json/parser/parser.c b/ext/json/parser/parser.c +index d1d14c7..1773616 100644 +--- a/ext/json/parser/parser.c ++++ b/ext/json/parser/parser.c +@@ -1293,6 +1293,7 @@ static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd) + { + char *p = string, *pe = string, *unescape; + int unescape_len; ++ char buf[4]; + + while (pe < stringEnd) { + if (*pe == '\\') { +@@ -1325,7 +1326,6 @@ static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd) + if (pe > stringEnd - 4) { + return Qnil; + } else { +- char buf[4]; + UTF32 ch = unescape_unicode((unsigned char *) ++pe); + pe += 3; + if (UNI_SUR_HIGH_START == (ch & 0xFC00)) { +diff --git a/ext/json/parser/parser.rl b/ext/json/parser/parser.rl +index e7d47e1..33e775c 100644 +--- a/ext/json/parser/parser.rl ++++ b/ext/json/parser/parser.rl +@@ -393,6 +393,7 @@ static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd) + { + char *p = string, *pe = string, *unescape; + int unescape_len; ++ char buf[4]; + + while (pe < stringEnd) { + if (*pe == '\\') { +@@ -425,7 +426,6 @@ static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd) + if (pe > stringEnd - 4) { + return Qnil; + } else { +- char buf[4]; + UTF32 ch = unescape_unicode((unsigned char *) ++pe); + pe += 3; + if (UNI_SUR_HIGH_START == (ch & 0xFC00)) { diff --git a/ruby-1.9.3-prevent-optimizing-sp.patch b/ruby-1.9.3-prevent-optimizing-sp.patch new file mode 100644 index 0000000..085d7f8 --- /dev/null +++ b/ruby-1.9.3-prevent-optimizing-sp.patch @@ -0,0 +1,53 @@ +Index: ChangeLog +=================================================================== +--- ChangeLog (revision 34277) ++++ ChangeLog (revision 34278) +@@ -1,3 +1,13 @@ ++Thu Jan 12 13:51:00 2012 NARUSE, Yui ++ ++ * cont.c (cont_restore_0): prevent optimizing out `sp'. sp is used for ++ reserving a memory space with ALLOCA_N for restoring machine stack ++ stored in cont->machine_stack, but clang optimized out it (and ++ maybe #5851 is also caused by this). ++ This affected TestContinuation#test_check_localvars. ++ ++ * cont.c (cont_restore_1): revert workaround introduced in r32201. ++ + Mon Oct 10 22:33:12 2011 KOSAKI Motohiro + + * test/-ext-/old_thread_select/test_old_thread_select.rb: +Index: cont.c +=================================================================== +--- cont.c (revision 34277) ++++ cont.c (revision 34278) +@@ -669,10 +669,9 @@ + } + #endif + if (cont->machine_stack_src) { +- size_t i; + FLUSH_REGISTER_WINDOWS; +- for (i = 0; i < cont->machine_stack_size; i++) +- cont->machine_stack_src[i] = cont->machine_stack[i]; ++ MEMCPY(cont->machine_stack_src, cont->machine_stack, ++ VALUE, cont->machine_stack_size); + } + + #ifdef __ia64 +@@ -742,7 +741,7 @@ + if (&space[0] > end) { + # ifdef HAVE_ALLOCA + volatile VALUE *sp = ALLOCA_N(VALUE, &space[0] - end); +- (void)sp; ++ space[0] = *sp; + # else + cont_restore_0(cont, &space[0]); + # endif +@@ -758,7 +757,7 @@ + if (&space[STACK_PAD_SIZE] < end) { + # ifdef HAVE_ALLOCA + volatile VALUE *sp = ALLOCA_N(VALUE, end - &space[STACK_PAD_SIZE]); +- (void)sp; ++ space[0] = *sp; + # else + cont_restore_0(cont, &space[STACK_PAD_SIZE-1]); + # endif diff --git a/ruby.spec b/ruby.spec index e931852..5b4e22b 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,7 +1,7 @@ %global major_version 1 %global minor_version 9 %global teeny_version 3 -%global patch_level 125 +%global patch_level 0 %global major_minor_version %{major_version}.%{minor_version} @@ -51,7 +51,7 @@ Summary: An interpreter of object-oriented scripting language Name: ruby Version: %{ruby_version_patch_level} -Release: 1%{?dist} +Release: 7%{?dist} Group: Development/Languages License: Ruby or BSD URL: http://ruby-lang.org/ @@ -83,6 +83,12 @@ Patch8: ruby-1.9.3-custom-rubygems-location.patch # Add support for installing binary extensions according to FHS. # https://github.com/rubygems/rubygems/issues/210 Patch9: rubygems-1.8.11-binary-extensions.patch +# Fixes segfaults when build with GCC 4.7. +# http://bugs.ruby-lang.org/issues/5851 +Patch10: ruby-1.9.3-prevent-optimizing-sp.patch +# Fixes json encoding failures when build with GCC 4.7. +# http://bugs.ruby-lang.org/issues/5888 +Patch11: ruby-1.9.3-fix-json-parser.patch # Make mkmf verbose by default Patch12: ruby-1.9.3-mkmf-verbose.patch @@ -310,6 +316,8 @@ Tcl/Tk interface for the object-oriented scripting language Ruby. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 +%patch11 -p1 %patch12 -p1 %build @@ -426,9 +434,7 @@ sed -i '2 a\ s.require_paths = ["lib"]' %{buildroot}/%{gem_dir}/specifications/minitest-%{minitest_version}.gemspec %check -# TODO: Investigate the test failures. -# https://bugs.ruby-lang.org/issues/6036 -make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x test_x509cert.rb" +make check %post libs -p /sbin/ldconfig @@ -698,9 +704,6 @@ make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x t %{ruby_libdir}/tkextlib %changelog -* Mon Feb 20 2012 Vít Ondruch - 1.9.3.125-1 -- Upgrade to Ruby 1.9.3-p125. - * Sun Jan 29 2012 Mamoru Tasaka - 1.9.3.0-7 - Make mkmf.rb verbose by default diff --git a/sources b/sources index d168ab2..e874ffe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e3ea86b9d3fc2d3ec867f66969ae3b92 ruby-1.9.3-p125.tar.gz +8e2fef56185cfbaf29d0c8329fc77c05 ruby-1.9.3-p0.tar.gz From a74e6a62d0c3da57bb2894cec3752642b3bd575b Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Wed, 29 Feb 2012 14:24:37 +0000 Subject: [PATCH 05/18] fix rever --- ruby.spec | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/ruby.spec b/ruby.spec index 5b4e22b..528578d 100644 --- a/ruby.spec +++ b/ruby.spec @@ -51,7 +51,7 @@ Summary: An interpreter of object-oriented scripting language Name: ruby Version: %{ruby_version_patch_level} -Release: 7%{?dist} +Release: 8%{?dist} Group: Development/Languages License: Ruby or BSD URL: http://ruby-lang.org/ @@ -152,7 +152,7 @@ libraries. %package -n rubygems-devel -Summary: Macros and development tools for packagin RubyGems +Summary: Macros and development tools for packaging RubyGems Version: %{rubygems_version} Group: Development/Libraries License: Ruby or MIT @@ -160,7 +160,7 @@ Requires: ruby(rubygems) = %{version}-%{release} BuildArch: noarch %description -n rubygems-devel -Macros and development tools for packagin RubyGems. +Macros and development tools for packaging RubyGems. %package -n rubygem-rake @@ -249,7 +249,7 @@ Requires: ruby(rubygems) >= %{rubygems_version} Provides: rubygem(io-console) = %{version}-%{release} %description -n rubygem-io-console -IO/Console provides very simple and portable access to console. It doesn’t +IO/Console provides very simple and portable access to console. It doesn't provide higher layer features, such like curses and readline. @@ -434,7 +434,14 @@ sed -i '2 a\ s.require_paths = ["lib"]' %{buildroot}/%{gem_dir}/specifications/minitest-%{minitest_version}.gemspec %check -make check +# Disable make check on ARM until the bug is fixed +# https://bugzilla.redhat.com/show_bug.cgi?id=789410 +# https://bugs.ruby-lang.org/issues/6011 +%ifnarch %{arm} +# TODO: Investigate the test failures. +# https://bugs.ruby-lang.org/issues/6036 +make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x test_x509cert.rb" +%endif %post libs -p /sbin/ldconfig @@ -470,11 +477,7 @@ make check %config(noreplace) %{_sysconfdir}/rpm/macros.ruby -%{_includedir}/ruby.h -%{_includedir}/ruby -%dir %{_includedir}/%{_normalized_cpu}-%{_target_os} -%{_includedir}/%{_normalized_cpu}-%{_target_os}/ruby - +%{_includedir}/* %{_libdir}/libruby.so %{_libdir}/pkgconfig/ruby-1.9.pc @@ -704,6 +707,9 @@ make check %{ruby_libdir}/tkextlib %changelog +* Wed Feb 29 2012 Peter Robinson - 1.9.3.0-8 +- Temporarily disable make check on ARM until it's fixed upstream. Tracked in RHBZ 789410 + * Sun Jan 29 2012 Mamoru Tasaka - 1.9.3.0-7 - Make mkmf.rb verbose by default From 9ac6f1286a021ab7728866dd788c6ed1a9af094d Mon Sep 17 00:00:00 2001 From: Karsten Hopp Date: Thu, 15 Mar 2012 14:01:10 +0100 Subject: [PATCH 06/18] disable make check on ppc(64), RHBZ 803698 --- ruby.spec | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ruby.spec b/ruby.spec index 528578d..b0facbd 100644 --- a/ruby.spec +++ b/ruby.spec @@ -51,7 +51,7 @@ Summary: An interpreter of object-oriented scripting language Name: ruby Version: %{ruby_version_patch_level} -Release: 8%{?dist} +Release: 9%{?dist} Group: Development/Languages License: Ruby or BSD URL: http://ruby-lang.org/ @@ -437,7 +437,8 @@ sed -i '2 a\ # Disable make check on ARM until the bug is fixed # https://bugzilla.redhat.com/show_bug.cgi?id=789410 # https://bugs.ruby-lang.org/issues/6011 -%ifnarch %{arm} +# likewise on ppc(64), RH bugzilla 803698 +%ifnarch %{arm} ppc ppc64 # TODO: Investigate the test failures. # https://bugs.ruby-lang.org/issues/6036 make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x test_x509cert.rb" @@ -707,6 +708,9 @@ make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x t %{ruby_libdir}/tkextlib %changelog +* Thu Mar 15 2012 Karsten Hopp 1.9.3.0-9 +- disable make check on ppc(64), RHBZ 803698 + * Wed Feb 29 2012 Peter Robinson - 1.9.3.0-8 - Temporarily disable make check on ARM until it's fixed upstream. Tracked in RHBZ 789410 From f4336c39278050dcf1db6c56f36e917d4e24ae03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 20 Apr 2012 16:27:56 +0200 Subject: [PATCH 07/18] Update to Ruby 1.9.3-p194. --- .gitignore | 1 + ...9.3-added-site-and-vendor-arch-flags.patch | 10 +-- ruby-1.9.3-always-use-i386.patch | 2 +- ruby-1.9.3-arch-specific-dir.patch | 8 +-- ruby-1.9.3-custom-rubygems-location.patch | 4 +- ruby-1.9.3-disable-versioned-paths.patch | 2 +- ruby-1.9.3-fix-json-parser.patch | 40 ------------ ruby-1.9.3-prevent-optimizing-sp.patch | 53 --------------- ruby.spec | 64 +++++++++---------- sources | 2 +- 10 files changed, 45 insertions(+), 141 deletions(-) delete mode 100644 ruby-1.9.3-fix-json-parser.patch delete mode 100644 ruby-1.9.3-prevent-optimizing-sp.patch diff --git a/.gitignore b/.gitignore index 03a0175..5063de6 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ ruby-rev415a3ef9ab82c65a7abc-ext_tk.tar.gz /ruby-revc2dfaa7d40531aef3706bcc16f38178b0c6633ee-ext_tk.tar.gz /ruby-1.8.7-p357.tar.bz2 /ruby-1.9.3-p0.tar.gz +/ruby-1.9.3-p194.tar.gz diff --git a/ruby-1.9.3-added-site-and-vendor-arch-flags.patch b/ruby-1.9.3-added-site-and-vendor-arch-flags.patch index 9dff272..1363063 100644 --- a/ruby-1.9.3-added-site-and-vendor-arch-flags.patch +++ b/ruby-1.9.3-added-site-and-vendor-arch-flags.patch @@ -29,7 +29,7 @@ diff --git a/configure.in b/configure.in index 83e5d76..31532bd 100644 --- a/configure.in +++ b/configure.in -@@ -2801,6 +2801,15 @@ until SITE_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${SITE_DIR}"; do +@@ -2811,6 +2811,15 @@ until SITE_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${SITE_DIR}"; do dir="${SITE_DIR}" done @@ -45,7 +45,7 @@ index 83e5d76..31532bd 100644 AC_ARG_WITH(vendordir, AS_HELP_STRING([--with-vendordir=DIR], [vendor libraries in DIR [[RUBY_LIB_PREFIX/vendor_ruby]]]), [vendordir=$withval], -@@ -2810,19 +2819,32 @@ until VENDOR_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDOR_DIR}"; do +@@ -2820,19 +2829,32 @@ until VENDOR_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDOR_DIR}"; do dir="${VENDOR_DIR}" done @@ -78,7 +78,7 @@ index 83e5d76..31532bd 100644 fi pat=`echo "$RUBY_LIB_PREFIX/" | tr -c '\012' .`'\(.*\)' -@@ -2840,6 +2862,13 @@ AS_CASE(["$RUBY_SITE_LIB_PATH"], +@@ -2850,6 +2872,13 @@ AS_CASE(["$RUBY_SITE_LIB_PATH"], [ RUBY_SITE_LIB_PATH="\"${RUBY_SITE_LIB_PATH}\"" ]) @@ -92,7 +92,7 @@ index 83e5d76..31532bd 100644 AS_CASE(["$RUBY_VENDOR_LIB_PATH"], ["$RUBY_LIB_PREFIX/"*], [ RUBY_VENDOR_LIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_VENDOR_LIB_PATH\" : \"$pat\"`"'"' -@@ -2847,6 +2876,13 @@ AS_CASE(["$RUBY_VENDOR_LIB_PATH"], +@@ -2857,6 +2886,13 @@ AS_CASE(["$RUBY_VENDOR_LIB_PATH"], [ RUBY_VENDOR_LIB_PATH="\"${RUBY_VENDOR_LIB_PATH}\"" ]) @@ -106,7 +106,7 @@ index 83e5d76..31532bd 100644 pat=`echo "$RUBY_EXEC_PREFIX/" | tr -c '\012' .`'\(.*\)' AS_CASE(["$RUBY_LIB_PREFIX"], ["$RUBY_EXEC_PREFIX/"*], [ -@@ -2868,19 +2904,23 @@ if test "x$SITE_DIR" = xno; then +@@ -2878,19 +2914,23 @@ if test "x$SITE_DIR" = xno; then AC_DEFINE(NO_RUBY_SITE_LIB) else AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, ${RUBY_SITE_LIB_PATH}) diff --git a/ruby-1.9.3-always-use-i386.patch b/ruby-1.9.3-always-use-i386.patch index 734c5eb..f5a8c3d 100644 --- a/ruby-1.9.3-always-use-i386.patch +++ b/ruby-1.9.3-always-use-i386.patch @@ -1,6 +1,6 @@ --- a/configure.in.orig 2011-10-18 08:56:21.587594685 +0200 +++ b/configure.in 2011-10-18 08:56:59.751593321 +0200 -@@ -2925,6 +2925,8 @@ +@@ -2935,6 +2935,8 @@ configure_args=$ac_configure_args AC_SUBST(configure_args)dnl diff --git a/ruby-1.9.3-arch-specific-dir.patch b/ruby-1.9.3-arch-specific-dir.patch index b8feb96..8440ea7 100644 --- a/ruby-1.9.3-arch-specific-dir.patch +++ b/ruby-1.9.3-arch-specific-dir.patch @@ -26,7 +26,7 @@ diff --git a/configure.in b/configure.in index 83e5d76..e6dc38c 100644 --- a/configure.in +++ b/configure.in -@@ -2783,6 +2783,15 @@ else +@@ -2793,6 +2793,15 @@ else RUBY_LIB_VERSION="\"${ruby_version}\"" fi @@ -42,7 +42,7 @@ index 83e5d76..e6dc38c 100644 AC_ARG_WITH(sitedir, AS_HELP_STRING([--with-sitedir=DIR], [site libraries in DIR [[RUBY_LIB_PREFIX/site_ruby]]]), [sitedir=$withval], -@@ -2805,16 +2814,25 @@ if test "${LOAD_RELATIVE+set}"; then +@@ -2815,16 +2824,25 @@ if test "${LOAD_RELATIVE+set}"; then AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) RUBY_EXEC_PREFIX="" RUBY_LIB_PREFIX="`eval echo "$RUBY_LIB_PREFIX" | sed 's|^NONE/|/|;s|^'"$prefix"'/|/|'`" @@ -68,7 +68,7 @@ index 83e5d76..e6dc38c 100644 AS_CASE(["$RUBY_SITE_LIB_PATH"], ["$RUBY_LIB_PREFIX/"*], [ RUBY_SITE_LIB_PATH='RUBY_LIB_PREFIX"/'"`expr \"$RUBY_SITE_LIB_PATH\" : \"$pat\"`"'"' -@@ -2845,6 +2863,7 @@ else +@@ -2855,6 +2873,7 @@ else fi AC_DEFINE_UNQUOTED(RUBY_EXEC_PREFIX, "${RUBY_EXEC_PREFIX}") AC_DEFINE_UNQUOTED(RUBY_LIB_PREFIX, ${RUBY_LIB_PREFIX}) @@ -76,7 +76,7 @@ index 83e5d76..e6dc38c 100644 if test "x$SITE_DIR" = xno; then AC_DEFINE(NO_RUBY_SITE_LIB) else -@@ -2859,6 +2878,7 @@ fi +@@ -2869,6 +2888,7 @@ fi AC_SUBST(arch)dnl AC_SUBST(sitearch)dnl AC_SUBST(ruby_version)dnl diff --git a/ruby-1.9.3-custom-rubygems-location.patch b/ruby-1.9.3-custom-rubygems-location.patch index 2566ef6..62d3dad 100644 --- a/ruby-1.9.3-custom-rubygems-location.patch +++ b/ruby-1.9.3-custom-rubygems-location.patch @@ -15,7 +15,7 @@ diff --git a/configure.in b/configure.in index b1bc951..91c5d0d 100644 --- a/configure.in +++ b/configure.in -@@ -2828,6 +2828,13 @@ until VENDOR_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDOR_DIR}"; do +@@ -2838,6 +2838,13 @@ until VENDOR_DIR=`eval echo \\"${dir}\\"`; test "x${dir}" = "x${VENDOR_DIR}"; do dir="${VENDORARCH_DIR}" done @@ -29,7 +29,7 @@ index b1bc951..91c5d0d 100644 if test "${LOAD_RELATIVE+set}"; then AC_DEFINE_UNQUOTED(LOAD_RELATIVE, $LOAD_RELATIVE) RUBY_EXEC_PREFIX="" -@@ -2921,6 +2928,7 @@ AC_SUBST(sitearch)dnl +@@ -2931,6 +2938,7 @@ AC_SUBST(sitearch)dnl AC_SUBST(sitearchdir)dnl AC_SUBST(vendordir)dnl AC_SUBST(vendorarchdir)dnl diff --git a/ruby-1.9.3-disable-versioned-paths.patch b/ruby-1.9.3-disable-versioned-paths.patch index afafb04..6d0c5e1 100644 --- a/ruby-1.9.3-disable-versioned-paths.patch +++ b/ruby-1.9.3-disable-versioned-paths.patch @@ -13,7 +13,7 @@ diff --git a/configure.in b/configure.in index e742e74..86cb68f 100644 --- a/configure.in +++ b/configure.in -@@ -2953,6 +2953,17 @@ else +@@ -2963,6 +2963,17 @@ else fi AC_SUBST(USE_RUBYGEMS) diff --git a/ruby-1.9.3-fix-json-parser.patch b/ruby-1.9.3-fix-json-parser.patch deleted file mode 100644 index 9621c72..0000000 --- a/ruby-1.9.3-fix-json-parser.patch +++ /dev/null @@ -1,40 +0,0 @@ -diff --git a/ext/json/parser/parser.c b/ext/json/parser/parser.c -index d1d14c7..1773616 100644 ---- a/ext/json/parser/parser.c -+++ b/ext/json/parser/parser.c -@@ -1293,6 +1293,7 @@ static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd) - { - char *p = string, *pe = string, *unescape; - int unescape_len; -+ char buf[4]; - - while (pe < stringEnd) { - if (*pe == '\\') { -@@ -1325,7 +1326,6 @@ static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd) - if (pe > stringEnd - 4) { - return Qnil; - } else { -- char buf[4]; - UTF32 ch = unescape_unicode((unsigned char *) ++pe); - pe += 3; - if (UNI_SUR_HIGH_START == (ch & 0xFC00)) { -diff --git a/ext/json/parser/parser.rl b/ext/json/parser/parser.rl -index e7d47e1..33e775c 100644 ---- a/ext/json/parser/parser.rl -+++ b/ext/json/parser/parser.rl -@@ -393,6 +393,7 @@ static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd) - { - char *p = string, *pe = string, *unescape; - int unescape_len; -+ char buf[4]; - - while (pe < stringEnd) { - if (*pe == '\\') { -@@ -425,7 +426,6 @@ static VALUE json_string_unescape(VALUE result, char *string, char *stringEnd) - if (pe > stringEnd - 4) { - return Qnil; - } else { -- char buf[4]; - UTF32 ch = unescape_unicode((unsigned char *) ++pe); - pe += 3; - if (UNI_SUR_HIGH_START == (ch & 0xFC00)) { diff --git a/ruby-1.9.3-prevent-optimizing-sp.patch b/ruby-1.9.3-prevent-optimizing-sp.patch deleted file mode 100644 index 085d7f8..0000000 --- a/ruby-1.9.3-prevent-optimizing-sp.patch +++ /dev/null @@ -1,53 +0,0 @@ -Index: ChangeLog -=================================================================== ---- ChangeLog (revision 34277) -+++ ChangeLog (revision 34278) -@@ -1,3 +1,13 @@ -+Thu Jan 12 13:51:00 2012 NARUSE, Yui -+ -+ * cont.c (cont_restore_0): prevent optimizing out `sp'. sp is used for -+ reserving a memory space with ALLOCA_N for restoring machine stack -+ stored in cont->machine_stack, but clang optimized out it (and -+ maybe #5851 is also caused by this). -+ This affected TestContinuation#test_check_localvars. -+ -+ * cont.c (cont_restore_1): revert workaround introduced in r32201. -+ - Mon Oct 10 22:33:12 2011 KOSAKI Motohiro - - * test/-ext-/old_thread_select/test_old_thread_select.rb: -Index: cont.c -=================================================================== ---- cont.c (revision 34277) -+++ cont.c (revision 34278) -@@ -669,10 +669,9 @@ - } - #endif - if (cont->machine_stack_src) { -- size_t i; - FLUSH_REGISTER_WINDOWS; -- for (i = 0; i < cont->machine_stack_size; i++) -- cont->machine_stack_src[i] = cont->machine_stack[i]; -+ MEMCPY(cont->machine_stack_src, cont->machine_stack, -+ VALUE, cont->machine_stack_size); - } - - #ifdef __ia64 -@@ -742,7 +741,7 @@ - if (&space[0] > end) { - # ifdef HAVE_ALLOCA - volatile VALUE *sp = ALLOCA_N(VALUE, &space[0] - end); -- (void)sp; -+ space[0] = *sp; - # else - cont_restore_0(cont, &space[0]); - # endif -@@ -758,7 +757,7 @@ - if (&space[STACK_PAD_SIZE] < end) { - # ifdef HAVE_ALLOCA - volatile VALUE *sp = ALLOCA_N(VALUE, end - &space[STACK_PAD_SIZE]); -- (void)sp; -+ space[0] = *sp; - # else - cont_restore_0(cont, &space[STACK_PAD_SIZE-1]); - # endif diff --git a/ruby.spec b/ruby.spec index b0facbd..9fc8225 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,7 +1,7 @@ %global major_version 1 %global minor_version 9 %global teeny_version 3 -%global patch_level 0 +%global patch_level 194 %global major_minor_version %{major_version}.%{minor_version} @@ -25,7 +25,7 @@ %global ruby_vendorlibdir %{_datadir}/ruby/%{ruby_vendordir} %global ruby_vendorarchdir %{_libdir}/ruby/%{ruby_vendordir} -%global rubygems_version 1.8.11 +%global rubygems_version 1.8.23 # The RubyGems library has to stay out of Ruby directory three, since the # RubyGems should be share by all Ruby implementations. @@ -51,7 +51,7 @@ Summary: An interpreter of object-oriented scripting language Name: ruby Version: %{ruby_version_patch_level} -Release: 9%{?dist} +Release: 1%{?dist} Group: Development/Languages License: Ruby or BSD URL: http://ruby-lang.org/ @@ -83,12 +83,6 @@ Patch8: ruby-1.9.3-custom-rubygems-location.patch # Add support for installing binary extensions according to FHS. # https://github.com/rubygems/rubygems/issues/210 Patch9: rubygems-1.8.11-binary-extensions.patch -# Fixes segfaults when build with GCC 4.7. -# http://bugs.ruby-lang.org/issues/5851 -Patch10: ruby-1.9.3-prevent-optimizing-sp.patch -# Fixes json encoding failures when build with GCC 4.7. -# http://bugs.ruby-lang.org/issues/5888 -Patch11: ruby-1.9.3-fix-json-parser.patch # Make mkmf verbose by default Patch12: ruby-1.9.3-mkmf-verbose.patch @@ -316,8 +310,6 @@ Tcl/Tk interface for the object-oriented scripting language Ruby. %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch10 -%patch11 -p1 %patch12 -p1 %build @@ -413,35 +405,33 @@ mv %{buildroot}%{ruby_libdir}/minitest %{buildroot}%{gem_dir}/gems/minitest-%{mi # Adjust the gemspec files so that the gems will load properly sed -i '2 a\ - s.require_paths = ["lib"]' %{buildroot}/%{gem_dir}/specifications/rake-%{rake_version}.gemspec + s.require_paths = ["lib"]' %{buildroot}%{gem_dir}/specifications/rake-%{rake_version}.gemspec sed -i '2 a\ - s.require_paths = ["lib"]' %{buildroot}/%{gem_dir}/specifications/rdoc-%{rdoc_version}.gemspec - -sed -i -e '2 a\ - s.require_paths = ["lib"]' -e '3 a\ - s.extensions = ["bigdecimal.so"]' %{buildroot}/%{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec - -sed -i -e '2 a\ - s.require_paths = ["lib"]' -e '3 a\ - s.extensions = ["io/console.so"]' %{buildroot}/%{gem_dir}/specifications/io-console-%{io_console_version}.gemspec - -sed -i -e '2 a\ - s.require_paths = ["lib"]' -e '3 a\ - s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' %{buildroot}/%{gem_dir}/specifications/json-%{json_version}.gemspec + s.require_paths = ["lib"]' %{buildroot}%{gem_dir}/specifications/rdoc-%{rdoc_version}.gemspec sed -i '2 a\ - s.require_paths = ["lib"]' %{buildroot}/%{gem_dir}/specifications/minitest-%{minitest_version}.gemspec + s.require_paths = ["lib"]\ + s.extensions = ["bigdecimal.so"]' %{buildroot}%{gem_dir}/specifications/bigdecimal-%{bigdecimal_version}.gemspec + +sed -i '2 a\ + s.require_paths = ["lib"]\ + s.extensions = ["io/console.so"]' %{buildroot}%{gem_dir}/specifications/io-console-%{io_console_version}.gemspec + +sed -i '2 a\ + s.require_paths = ["lib"]\ + s.extensions = ["json/ext/parser.so", "json/ext/generator.so"]' %{buildroot}%{gem_dir}/specifications/json-%{json_version}.gemspec + +sed -i '2 a\ + s.require_paths = ["lib"]' %{buildroot}%{gem_dir}/specifications/minitest-%{minitest_version}.gemspec %check # Disable make check on ARM until the bug is fixed # https://bugzilla.redhat.com/show_bug.cgi?id=789410 # https://bugs.ruby-lang.org/issues/6011 -# likewise on ppc(64), RH bugzilla 803698 +# same for ppc(64), RH bugzilla #803698 %ifnarch %{arm} ppc ppc64 -# TODO: Investigate the test failures. -# https://bugs.ruby-lang.org/issues/6036 -make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x test_x509cert.rb" +make check TESTS="-v" %endif %post libs -p /sbin/ldconfig @@ -480,7 +470,7 @@ make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x t %{_includedir}/* %{_libdir}/libruby.so -%{_libdir}/pkgconfig/ruby-1.9.pc +%{_libdir}/pkgconfig/ruby-%{major_minor_version}.pc %files libs %doc COPYING @@ -708,12 +698,18 @@ make check TESTS="-v -x test_pathname.rb -x test_drbssl.rb -x test_parse.rb -x t %{ruby_libdir}/tkextlib %changelog -* Thu Mar 15 2012 Karsten Hopp 1.9.3.0-9 -- disable make check on ppc(64), RHBZ 803698 +* Fri Apr 20 2012 Vít Ondruch - 1.9.3.194-1 +- Update to Ruby 1.9.3-p194. -* Wed Feb 29 2012 Peter Robinson - 1.9.3.0-8 +* Mon Apr 09 2012 Karsten Hopp 1.9.3.125-3 +- disable check on ppc(64), RH bugzilla 803698 + +* Wed Feb 29 2012 Peter Robinson - 1.9.3.125-2 - Temporarily disable make check on ARM until it's fixed upstream. Tracked in RHBZ 789410 +* Mon Feb 20 2012 Vít Ondruch - 1.9.3.125-1 +- Upgrade to Ruby 1.9.3-p125. + * Sun Jan 29 2012 Mamoru Tasaka - 1.9.3.0-7 - Make mkmf.rb verbose by default diff --git a/sources b/sources index e874ffe..391168d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -8e2fef56185cfbaf29d0c8329fc77c05 ruby-1.9.3-p0.tar.gz +bc0c715c69da4d1d8bd57069c19f6c0e ruby-1.9.3-p194.tar.gz From 0de5456c862f5ca3abd61fad6191647ab35a4f51 Mon Sep 17 00:00:00 2001 From: Mamoru Tasaka Date: Sun, 22 Apr 2012 16:20:04 +0900 Subject: [PATCH 08/18] Bump release --- ruby.spec | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/ruby.spec b/ruby.spec index 9fc8225..7dee288 100644 --- a/ruby.spec +++ b/ruby.spec @@ -51,7 +51,12 @@ Summary: An interpreter of object-oriented scripting language Name: ruby Version: %{ruby_version_patch_level} -Release: 1%{?dist} +# Note: +# As seen on perl srpm, as this (ruby) srpm contains several sub-components, +# we cannot reset the release number to 1 even when the main (ruby) version +# is updated - because it may be that the versions of sub-components don't +# change. +Release: 10.1%{?dist} Group: Development/Languages License: Ruby or BSD URL: http://ruby-lang.org/ @@ -431,7 +436,9 @@ sed -i '2 a\ # https://bugs.ruby-lang.org/issues/6011 # same for ppc(64), RH bugzilla #803698 %ifnarch %{arm} ppc ppc64 -make check TESTS="-v" +# OpenSSL 1.0.1 is breaking the drb test suite. +# https://bugs.ruby-lang.org/issues/6221 +make check TESTS="-v -x test_drbssl.rb" %endif %post libs -p /sbin/ldconfig @@ -698,6 +705,9 @@ make check TESTS="-v" %{ruby_libdir}/tkextlib %changelog +* Sun Apr 22 2012 Mamoru Tasaka - 1.9.3.194-10.1 +- Bump release + * Fri Apr 20 2012 Vít Ondruch - 1.9.3.194-1 - Update to Ruby 1.9.3-p194. From bc964685c15be01102eb6bda1700f599d4073b9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Wed, 1 Aug 2012 17:25:26 +0200 Subject: [PATCH 09/18] ruby-libs must require rubygems (rhbz#45011). --- ruby.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ruby.spec b/ruby.spec index d4ad547..c8031e7 100644 --- a/ruby.spec +++ b/ruby.spec @@ -56,7 +56,7 @@ Version: %{ruby_version_patch_level} # we cannot reset the release number to 1 even when the main (ruby) version # is updated - because it may be that the versions of sub-components don't # change. -Release: 13%{?dist} +Release: 14%{?dist} Group: Development/Languages # Public Domain for example for: include/ruby/st.h, strftime.c, ... License: (Ruby or BSD) and Public Domain @@ -93,7 +93,6 @@ Patch9: rubygems-1.8.11-binary-extensions.patch Patch12: ruby-1.9.3-mkmf-verbose.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} -Requires: ruby(rubygems) >= %{rubygems_version} # Make the bigdecimal gem a runtime dependency of Ruby to avoid problems # with user-installed gems, that don't require it in gemspec/Gemfile # See https://bugzilla.redhat.com/show_bug.cgi?id=829209 @@ -133,6 +132,7 @@ Ruby or an application embedding Ruby. Summary: Libraries necessary to run Ruby Group: Development/Libraries License: Ruby or BSD +Requires: ruby(rubygems) >= %{rubygems_version} Provides: ruby(abi) = %{ruby_abi} %description libs @@ -726,6 +726,9 @@ make check TESTS="-v $DISABLE_TESTS" %{ruby_libdir}/tkextlib %changelog +* Wed Aug 01 2012 Vít Ondruch - 1.9.3.194-14 +- ruby-libs must require rubygems (rhbz#845011). + * Mon Jun 11 2012 Bohuslav Kabrda - 1.9.3.194-13 - Make the bigdecimal gem a runtime dependency of Ruby. From ad3ca0cdd52c7429a9741783241dd28fd63ad4a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Tue, 14 Aug 2012 14:37:11 +0200 Subject: [PATCH 10/18] Revert the dependency of ruby-libs on rubygems (rhbz#845011, rhbz#847482). --- ruby.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ruby.spec b/ruby.spec index c8031e7..b33d93c 100644 --- a/ruby.spec +++ b/ruby.spec @@ -56,7 +56,7 @@ Version: %{ruby_version_patch_level} # we cannot reset the release number to 1 even when the main (ruby) version # is updated - because it may be that the versions of sub-components don't # change. -Release: 14%{?dist} +Release: 15%{?dist} Group: Development/Languages # Public Domain for example for: include/ruby/st.h, strftime.c, ... License: (Ruby or BSD) and Public Domain @@ -93,6 +93,7 @@ Patch9: rubygems-1.8.11-binary-extensions.patch Patch12: ruby-1.9.3-mkmf-verbose.patch Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: ruby(rubygems) >= %{rubygems_version} # Make the bigdecimal gem a runtime dependency of Ruby to avoid problems # with user-installed gems, that don't require it in gemspec/Gemfile # See https://bugzilla.redhat.com/show_bug.cgi?id=829209 @@ -132,7 +133,6 @@ Ruby or an application embedding Ruby. Summary: Libraries necessary to run Ruby Group: Development/Libraries License: Ruby or BSD -Requires: ruby(rubygems) >= %{rubygems_version} Provides: ruby(abi) = %{ruby_abi} %description libs @@ -726,6 +726,9 @@ make check TESTS="-v $DISABLE_TESTS" %{ruby_libdir}/tkextlib %changelog +* Tue Aug 14 2012 Vít Ondruch - 1.9.3.194-15 +- Revert the dependency of ruby-libs on rubygems (rhbz#845011, rhbz#847482). + * Wed Aug 01 2012 Vít Ondruch - 1.9.3.194-14 - ruby-libs must require rubygems (rhbz#845011). From d48fbe996cd1e130f059b9bbb060853d7e123cf0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Thu, 6 Sep 2012 14:20:29 +0200 Subject: [PATCH 11/18] Split documentation into -doc subpackage. --- ruby.spec | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/ruby.spec b/ruby.spec index b33d93c..c9215b0 100644 --- a/ruby.spec +++ b/ruby.spec @@ -56,7 +56,7 @@ Version: %{ruby_version_patch_level} # we cannot reset the release number to 1 even when the main (ruby) version # is updated - because it may be that the versions of sub-components don't # change. -Release: 15%{?dist} +Release: 16%{?dist} Group: Development/Languages # Public Domain for example for: include/ruby/st.h, strftime.c, ... License: (Ruby or BSD) and Public Domain @@ -211,16 +211,26 @@ Provides: ri = %{version}-%{release} Provides: rubygem(rdoc) = %{version}-%{release} Obsoletes: ruby-rdoc < %{version} Obsoletes: ruby-ri < %{version} +BuildArch: noarch + +%description -n rubygem-rdoc +RDoc produces HTML and command-line documentation for Ruby projects. RDoc +includes the 'rdoc' and 'ri' tools for generating and displaying online +documentation. + + +%package doc +Summary: Documentation for %{name} +Group: Documentation +Requires: %{_bindir}/ri # TODO: It seems that ri documentation differs from platform to platform due to # some encoding bugs, therefore the documentation should be split out of this gem # or kept platform specific. # https://github.com/rdoc/rdoc/issues/71 # BuildArch: noarch -%description -n rubygem-rdoc -RDoc produces HTML and command-line documentation for Ruby projects. RDoc -includes the 'rdoc' and 'ri' tools for generating and displaying online -documentation. +%description doc +This package contains documentation for %{name}. %package -n rubygem-bigdecimal @@ -465,15 +475,8 @@ make check TESTS="-v $DISABLE_TESTS" %files %doc COPYING %lang(ja) %doc COPYING.ja -%doc ChangeLog %doc GPL %doc LEGAL -%doc NEWS -%doc README -%lang(ja) %doc README.ja -%doc ToDo -%doc doc/ChangeLog-* -%doc doc/NEWS-* %{_bindir}/erb %{_bindir}/ruby %{_bindir}/testrb @@ -691,6 +694,14 @@ make check TESTS="-v $DISABLE_TESTS" %{gem_dir}/gems/rdoc-%{rdoc_version} %{gem_dir}/specifications/rdoc-%{rdoc_version}.gemspec %{_mandir}/man1/ri* + +%files doc +%doc NEWS +%doc README +%lang(ja) %doc README.ja +%doc ChangeLog +%doc doc/ChangeLog-* +%doc doc/NEWS-* %{_datadir}/ri %files -n rubygem-bigdecimal @@ -726,6 +737,9 @@ make check TESTS="-v $DISABLE_TESTS" %{ruby_libdir}/tkextlib %changelog +* Thu Sep 06 2012 Vít Ondruch - 1.9.3.194-16 +- Split documentation into -doc subpackage. + * Tue Aug 14 2012 Vít Ondruch - 1.9.3.194-15 - Revert the dependency of ruby-libs on rubygems (rhbz#845011, rhbz#847482). From c933d860542def2ab3c6e57a353cc7bb6df22e78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADt=20Ondruch?= Date: Fri, 7 Sep 2012 09:31:41 +0200 Subject: [PATCH 12/18] Added bugzilla issue number. --- ruby.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruby.spec b/ruby.spec index c9215b0..7e69feb 100644 --- a/ruby.spec +++ b/ruby.spec @@ -738,7 +738,7 @@ make check TESTS="-v $DISABLE_TESTS" %changelog * Thu Sep 06 2012 Vít Ondruch - 1.9.3.194-16 -- Split documentation into -doc subpackage. +- Split documentation into -doc subpackage (rhbz#854418). * Tue Aug 14 2012 Vít Ondruch - 1.9.3.194-15 - Revert the dependency of ruby-libs on rubygems (rhbz#845011, rhbz#847482). From 44d26c808a9b44ccf5f95daf099fb50916a40363 Mon Sep 17 00:00:00 2001 From: Mamoru Tasaka Date: Thu, 4 Oct 2012 21:51:59 +0900 Subject: [PATCH 13/18] fix cherry-pickup conflict --- ruby.spec | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/ruby.spec b/ruby.spec index 7e69feb..295740c 100644 --- a/ruby.spec +++ b/ruby.spec @@ -56,7 +56,7 @@ Version: %{ruby_version_patch_level} # we cannot reset the release number to 1 even when the main (ruby) version # is updated - because it may be that the versions of sub-components don't # change. -Release: 16%{?dist} +Release: 17%{?dist} Group: Development/Languages # Public Domain for example for: include/ruby/st.h, strftime.c, ... License: (Ruby or BSD) and Public Domain @@ -89,6 +89,9 @@ Patch8: ruby-1.9.3-custom-rubygems-location.patch # Add support for installing binary extensions according to FHS. # https://github.com/rubygems/rubygems/issues/210 Patch9: rubygems-1.8.11-binary-extensions.patch +# Patch from trunk for CVE-4464, CVE-4466 +# http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=37068 +Patch10: ruby-1.9.3-backport-from-trunk-rev37068.patch # Make mkmf verbose by default Patch12: ruby-1.9.3-mkmf-verbose.patch @@ -331,6 +334,7 @@ Tcl/Tk interface for the object-oriented scripting language Ruby. %patch7 -p1 %patch8 -p1 %patch9 -p1 +%patch10 -p0 %patch12 -p1 %build @@ -506,6 +510,8 @@ make check TESTS="-v $DISABLE_TESTS" %doc LEGAL %doc README %lang(ja) %doc README.ja +%doc NEWS +%doc doc/NEWS-* # Exclude /usr/local directory since it is supposed to be managed by # local system administrator. %exclude %{ruby_sitelibdir} @@ -696,12 +702,10 @@ make check TESTS="-v $DISABLE_TESTS" %{_mandir}/man1/ri* %files doc -%doc NEWS %doc README %lang(ja) %doc README.ja %doc ChangeLog %doc doc/ChangeLog-* -%doc doc/NEWS-* %{_datadir}/ri %files -n rubygem-bigdecimal @@ -737,6 +741,9 @@ make check TESTS="-v $DISABLE_TESTS" %{ruby_libdir}/tkextlib %changelog +* Thu Oct 04 2012 Mamoru Tasaka - 1.9.3.194-17 +- Patch from trunk for CVE-2012-4464, CVE-2012-4466 + * Thu Sep 06 2012 Vít Ondruch - 1.9.3.194-16 - Split documentation into -doc subpackage (rhbz#854418). From 34d2b6588a98502e98538f1b4c3405c93fa4f77e Mon Sep 17 00:00:00 2001 From: Mamoru Tasaka Date: Thu, 4 Oct 2012 21:55:27 +0900 Subject: [PATCH 14/18] forgot to add patch... --- ruby-1.9.3-backport-from-trunk-rev37068.patch | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 ruby-1.9.3-backport-from-trunk-rev37068.patch diff --git a/ruby-1.9.3-backport-from-trunk-rev37068.patch b/ruby-1.9.3-backport-from-trunk-rev37068.patch new file mode 100644 index 0000000..81b6b79 --- /dev/null +++ b/ruby-1.9.3-backport-from-trunk-rev37068.patch @@ -0,0 +1,103 @@ +Patch from trunk for CVE-2012-4464, CVE-2012-4466 +Part for test/ruby/test_exception.rb was adjusted for ruby 1.9.3 + +Mamoru Tasaka + +------------------------------------------------------------------------ +r37068 | shugo | 2012-10-03 02:25:10 +0900 (Wed, 03 Oct 2012) | 2 lines + +* error.c (exc_to_s, name_err_to_s, name_err_mesg_to_str): do not + taint messages. +------------------------------------------------------------------------ +Index: error.c +=================================================================== +--- error.c (revision 37067) ++++ error.c (revision 37068) +@@ -635,7 +635,6 @@ + + if (NIL_P(mesg)) return rb_class_name(CLASS_OF(exc)); + r = rb_String(mesg); +- OBJ_INFECT(r, exc); + return r; + } + +@@ -996,11 +995,7 @@ + + if (NIL_P(mesg)) return rb_class_name(CLASS_OF(exc)); + StringValue(str); +- if (str != mesg) { +- rb_iv_set(exc, "mesg", mesg = str); +- } +- OBJ_INFECT(mesg, exc); +- return mesg; ++ return str; + } + + /* +@@ -1131,7 +1126,6 @@ + args[2] = d; + mesg = rb_f_sprintf(NAME_ERR_MESG_COUNT, args); + } +- OBJ_INFECT(mesg, obj); + return mesg; + } + +Index: test/ruby/test_exception.rb +=================================================================== +--- test/ruby/test_exception.rb (revision 37067) ++++ test/ruby/test_exception.rb (modified) +@@ -333,4 +333,54 @@ + load(t.path) + end + end ++ ++ def test_to_s_taintness_propagation ++ for exc in [Exception, NameError] ++ m = "abcdefg" ++ e = exc.new(m) ++ e.taint ++ s = e.to_s ++ assert_equal(false, m.tainted?, ++ "#{exc}#to_s should not propagate taintness") ++ assert_equal(false, s.tainted?, ++ "#{exc}#to_s should not propagate taintness") ++ end ++ ++ o = Object.new ++ def o.to_str ++ "foo" ++ end ++ o.taint ++ e = NameError.new(o) ++ s = e.to_s ++ assert_equal(false, s.tainted?) ++ end ++ ++ def test_exception_to_s_should_not_propagate_untrustedness ++ favorite_lang = "Ruby" ++ ++ for exc in [Exception, NameError] ++ assert_raise(SecurityError) do ++ lambda { ++ $SAFE = 4 ++ exc.new(favorite_lang).to_s ++ favorite_lang.replace("Python") ++ }.call ++ end ++ end ++ ++ assert_raise(SecurityError) do ++ lambda { ++ $SAFE = 4 ++ o = Object.new ++ o.singleton_class.send(:define_method, :to_str) { ++ favorite_lang ++ } ++ NameError.new(o).to_s ++ favorite_lang.replace("Python") ++ }.call ++ end ++ ++ assert_equal("Ruby", favorite_lang) ++ end + end From 63757438875207db73cc316d122f3e19f317c9ed Mon Sep 17 00:00:00 2001 From: Mamoru Tasaka Date: Sat, 13 Oct 2012 15:04:50 +0900 Subject: [PATCH 15/18] Update to 1.9.3 p286 - Don't create files when NUL-containing path name is passed (bug 865940) --- .gitignore | 1 + ruby-1.9.3-backport-from-trunk-rev37068.patch | 103 ------------------ ruby-1.9.3-p286-open-devtty-on-koji.patch | 14 +++ ruby.spec | 22 +++- sources | 2 +- 5 files changed, 32 insertions(+), 110 deletions(-) delete mode 100644 ruby-1.9.3-backport-from-trunk-rev37068.patch create mode 100644 ruby-1.9.3-p286-open-devtty-on-koji.patch diff --git a/.gitignore b/.gitignore index 08ebd24..b512d18 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ ruby-rev415a3ef9ab82c65a7abc-ext_tk.tar.gz /ruby-1.9.3-p0.tar.gz /ruby-1.9.3-p125.tar.gz /ruby-1.9.3-p194.tar.gz +/ruby-1.9.3-p286.tar.gz diff --git a/ruby-1.9.3-backport-from-trunk-rev37068.patch b/ruby-1.9.3-backport-from-trunk-rev37068.patch deleted file mode 100644 index 81b6b79..0000000 --- a/ruby-1.9.3-backport-from-trunk-rev37068.patch +++ /dev/null @@ -1,103 +0,0 @@ -Patch from trunk for CVE-2012-4464, CVE-2012-4466 -Part for test/ruby/test_exception.rb was adjusted for ruby 1.9.3 - -Mamoru Tasaka - ------------------------------------------------------------------------- -r37068 | shugo | 2012-10-03 02:25:10 +0900 (Wed, 03 Oct 2012) | 2 lines - -* error.c (exc_to_s, name_err_to_s, name_err_mesg_to_str): do not - taint messages. ------------------------------------------------------------------------- -Index: error.c -=================================================================== ---- error.c (revision 37067) -+++ error.c (revision 37068) -@@ -635,7 +635,6 @@ - - if (NIL_P(mesg)) return rb_class_name(CLASS_OF(exc)); - r = rb_String(mesg); -- OBJ_INFECT(r, exc); - return r; - } - -@@ -996,11 +995,7 @@ - - if (NIL_P(mesg)) return rb_class_name(CLASS_OF(exc)); - StringValue(str); -- if (str != mesg) { -- rb_iv_set(exc, "mesg", mesg = str); -- } -- OBJ_INFECT(mesg, exc); -- return mesg; -+ return str; - } - - /* -@@ -1131,7 +1126,6 @@ - args[2] = d; - mesg = rb_f_sprintf(NAME_ERR_MESG_COUNT, args); - } -- OBJ_INFECT(mesg, obj); - return mesg; - } - -Index: test/ruby/test_exception.rb -=================================================================== ---- test/ruby/test_exception.rb (revision 37067) -+++ test/ruby/test_exception.rb (modified) -@@ -333,4 +333,54 @@ - load(t.path) - end - end -+ -+ def test_to_s_taintness_propagation -+ for exc in [Exception, NameError] -+ m = "abcdefg" -+ e = exc.new(m) -+ e.taint -+ s = e.to_s -+ assert_equal(false, m.tainted?, -+ "#{exc}#to_s should not propagate taintness") -+ assert_equal(false, s.tainted?, -+ "#{exc}#to_s should not propagate taintness") -+ end -+ -+ o = Object.new -+ def o.to_str -+ "foo" -+ end -+ o.taint -+ e = NameError.new(o) -+ s = e.to_s -+ assert_equal(false, s.tainted?) -+ end -+ -+ def test_exception_to_s_should_not_propagate_untrustedness -+ favorite_lang = "Ruby" -+ -+ for exc in [Exception, NameError] -+ assert_raise(SecurityError) do -+ lambda { -+ $SAFE = 4 -+ exc.new(favorite_lang).to_s -+ favorite_lang.replace("Python") -+ }.call -+ end -+ end -+ -+ assert_raise(SecurityError) do -+ lambda { -+ $SAFE = 4 -+ o = Object.new -+ o.singleton_class.send(:define_method, :to_str) { -+ favorite_lang -+ } -+ NameError.new(o).to_s -+ favorite_lang.replace("Python") -+ }.call -+ end -+ -+ assert_equal("Ruby", favorite_lang) -+ end - end diff --git a/ruby-1.9.3-p286-open-devtty-on-koji.patch b/ruby-1.9.3-p286-open-devtty-on-koji.patch new file mode 100644 index 0000000..699895a --- /dev/null +++ b/ruby-1.9.3-p286-open-devtty-on-koji.patch @@ -0,0 +1,14 @@ +--- ruby-1.9.3-p286/test/ruby/test_io.rb.devtty 2012-10-12 17:37:54.000000000 +0900 ++++ ruby-1.9.3-p286/test/ruby/test_io.rb 2012-10-13 14:00:24.000000000 +0900 +@@ -2068,6 +2068,11 @@ + return if /linux/ !~ RUBY_PLATFORM + return if /^i.?86|^x86_64/ !~ RUBY_PLATFORM + return unless File.exist?('/dev/tty') ++ begin ++ File.open('/dev/tty') {|f|} ++ rescue Errno::ENXIO ++ return ++ end + + File.open('/dev/tty') { |f| + tiocgwinsz=0x5413 diff --git a/ruby.spec b/ruby.spec index 295740c..c3453c8 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,7 +1,7 @@ %global major_version 1 %global minor_version 9 %global teeny_version 3 -%global patch_level 194 +%global patch_level 286 %global major_minor_version %{major_version}.%{minor_version} @@ -56,7 +56,7 @@ Version: %{ruby_version_patch_level} # we cannot reset the release number to 1 even when the main (ruby) version # is updated - because it may be that the versions of sub-components don't # change. -Release: 17%{?dist} +Release: 18%{?dist} Group: Development/Languages # Public Domain for example for: include/ruby/st.h, strftime.c, ... License: (Ruby or BSD) and Public Domain @@ -79,7 +79,8 @@ Patch4: ruby-1.9.3-fix-s390x-build.patch # when it exists outside of the GEM_HOME (already fixed in the upstream) Patch5: ruby-1.9.3-rubygems-1.8.11-uninstaller.patch # http://redmine.ruby-lang.org/issues/5135 - see comment 29 -Patch6: ruby-1.9.3-webrick-test-fix.patch +# Fixed in ruby 1.9.3p286 +#Patch6: ruby-1.9.3-webrick-test-fix.patch # Already fixed upstream: # https://github.com/ruby/ruby/commit/f212df564a4e1025f9fb019ce727022a97bfff53 Patch7: ruby-1.9.3-bignum-test-fix.patch @@ -91,7 +92,11 @@ Patch8: ruby-1.9.3-custom-rubygems-location.patch Patch9: rubygems-1.8.11-binary-extensions.patch # Patch from trunk for CVE-4464, CVE-4466 # http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=37068 -Patch10: ruby-1.9.3-backport-from-trunk-rev37068.patch +# Fixed in ruby 1.9.3p286 +#Patch10: ruby-1.9.3-backport-from-trunk-rev37068.patch +# Opening /dev/tty fails with ENXIO (ref: man 2 open) on koji. +# Let's rescue this +Patch10: ruby-1.9.3-p286-open-devtty-on-koji.patch # Make mkmf verbose by default Patch12: ruby-1.9.3-mkmf-verbose.patch @@ -330,11 +335,11 @@ Tcl/Tk interface for the object-oriented scripting language Ruby. %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 +#%%patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 -%patch10 -p0 +%patch10 -p1 %patch12 -p1 %build @@ -741,6 +746,11 @@ make check TESTS="-v $DISABLE_TESTS" %{ruby_libdir}/tkextlib %changelog +* Sat Oct 13 2012 Mamoru TASAKA - 1.9.3.286-18 +- Update to 1.9.3 p286 +- Don't create files when NUL-containing path name is passed + (bug 865940) + * Thu Oct 04 2012 Mamoru Tasaka - 1.9.3.194-17 - Patch from trunk for CVE-2012-4464, CVE-2012-4466 diff --git a/sources b/sources index 391168d..ff5d890 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -bc0c715c69da4d1d8bd57069c19f6c0e ruby-1.9.3-p194.tar.gz +e2469b55c2a3d0d643097d47fe4984bb ruby-1.9.3-p286.tar.gz From 556d824d52e0a3a0c37d91e3cc445cbee5c18153 Mon Sep 17 00:00:00 2001 From: TASAKA Mamoru Date: Mon, 25 Feb 2013 10:59:52 +0900 Subject: [PATCH 16/18] Update to 1.9.3 p392 - Fix entity expansion DoS vulnerability in REXML (bug 914716) --- .gitignore | 1 + ruby.spec | 10 +++++++--- sources | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index f5ae591..6a939a7 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,4 @@ ruby-rev415a3ef9ab82c65a7abc-ext_tk.tar.gz /ruby-1.9.3-p362.tar.gz /ruby-1.9.3-p374.tar.gz /ruby-1.9.3-p385.tar.gz +/ruby-1.9.3-p392.tar.gz diff --git a/ruby.spec b/ruby.spec index 887454d..bfa0754 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,7 +1,7 @@ %global major_version 1 %global minor_version 9 %global teeny_version 3 -%global patch_level 385 +%global patch_level 392 %global major_minor_version %{major_version}.%{minor_version} @@ -43,7 +43,7 @@ %global rdoc_version 3.9.5 %global bigdecimal_version 1.1.0 %global io_console_version 0.3 -%global json_version 1.5.4 +%global json_version 1.5.5 %global minitest_version 2.5.1 %global _normalized_cpu %(echo %{_target_cpu} | sed 's/^ppc/powerpc/;s/i.86/i386/;s/sparcv./sparc/') @@ -56,7 +56,7 @@ Version: %{ruby_version_patch_level} # we cannot reset the release number to 1 even when the main (ruby) version # is updated - because it may be that the versions of sub-components don't # change. -Release: 28%{?dist} +Release: 29%{?dist} Group: Development/Languages # Public Domain for example for: include/ruby/st.h, strftime.c, ... License: (Ruby or BSD) and Public Domain @@ -778,6 +778,10 @@ make check TESTS="-v $DISABLE_TESTS" %{ruby_libdir}/tkextlib %changelog +* Mon Feb 25 2013 Mamoru TASAKA - 1.9.3.392-29 +- Update to 1.9.3 p392 +- Fix entity expansion DoS vulnerability in REXML (bug 914716) + * Mon Feb 11 2013 Mamoru TASAKA - 1.9.3.385-28 - Update to 1.9.3 p385 diff --git a/sources b/sources index 2c2210c..6849aa1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3e0d7f8512400c1a6732327728a56f1d ruby-1.9.3-p385.tar.gz +f689a7b61379f83cbbed3c7077d83859 ruby-1.9.3-p392.tar.gz From aa2899b823a97541f91cb871c899a0922dcf0092 Mon Sep 17 00:00:00 2001 From: TASAKA Mamoru Date: Thu, 16 May 2013 17:16:05 +0900 Subject: [PATCH 17/18] Update to 1.9.3 p429 - Fix object taint bypassing in DL and Fiddle (CVE-2013-2065) --- .gitignore | 1 + ruby.spec | 13 +++++++------ sources | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 6a939a7..606f3bf 100644 --- a/.gitignore +++ b/.gitignore @@ -17,3 +17,4 @@ ruby-rev415a3ef9ab82c65a7abc-ext_tk.tar.gz /ruby-1.9.3-p374.tar.gz /ruby-1.9.3-p385.tar.gz /ruby-1.9.3-p392.tar.gz +/ruby-1.9.3-p429.tar.gz diff --git a/ruby.spec b/ruby.spec index bfa0754..89e29a6 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,7 +1,7 @@ %global major_version 1 %global minor_version 9 %global teeny_version 3 -%global patch_level 392 +%global patch_level 429 %global major_minor_version %{major_version}.%{minor_version} @@ -56,7 +56,7 @@ Version: %{ruby_version_patch_level} # we cannot reset the release number to 1 even when the main (ruby) version # is updated - because it may be that the versions of sub-components don't # change. -Release: 29%{?dist} +Release: 30%{?dist} Group: Development/Languages # Public Domain for example for: include/ruby/st.h, strftime.c, ... License: (Ruby or BSD) and Public Domain @@ -78,9 +78,6 @@ Patch4: ruby-1.9.3-fix-s390x-build.patch # Fix the uninstaller, so that it doesn't say that gem doesn't exist # when it exists outside of the GEM_HOME (already fixed in the upstream) Patch5: ruby-1.9.3-rubygems-1.8.11-uninstaller.patch -# Already fixed upstream: -# https://github.com/ruby/ruby/commit/f212df564a4e1025f9fb019ce727022a97bfff53 -Patch7: ruby-1.9.3-bignum-test-fix.patch # Allows to install RubyGems into custom directory, outside of Ruby's tree. # http://redmine.ruby-lang.org/issues/5617 Patch8: ruby-1.9.3-custom-rubygems-location.patch @@ -348,7 +345,6 @@ Tcl/Tk interface for the object-oriented scripting language Ruby. %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 @@ -361,6 +357,7 @@ Tcl/Tk interface for the object-oriented scripting language Ruby. autoconf %configure \ + --disable-werror \ --with-rubylibprefix='%{ruby_libdir}' \ --with-archdir='%{ruby_libarchdir}' \ --with-sitedir='%{ruby_sitelibdir}' \ @@ -778,6 +775,10 @@ make check TESTS="-v $DISABLE_TESTS" %{ruby_libdir}/tkextlib %changelog +* Thu May 16 2013 Mamoru TASAKA - 1.9.3.429-30 +- Update to 1.9.3 p429 +- Fix object taint bypassing in DL and Fiddle (CVE-2013-2065) + * Mon Feb 25 2013 Mamoru TASAKA - 1.9.3.392-29 - Update to 1.9.3 p392 - Fix entity expansion DoS vulnerability in REXML (bug 914716) diff --git a/sources b/sources index 6849aa1..2f5abc8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f689a7b61379f83cbbed3c7077d83859 ruby-1.9.3-p392.tar.gz +993c72f7f805a9eb453f90b0b7fe0d2b ruby-1.9.3-p429.tar.gz From b1f489610b4971da56d93ebf1357dc9c220d7c81 Mon Sep 17 00:00:00 2001 From: TASAKA Mamoru Date: Mon, 1 Jul 2013 11:45:15 +0900 Subject: [PATCH 18/18] Update to 1.9.3 p448 - Fix hostname check bypassing vulnerability in SSL client (CVE-2013-4073) --- .gitignore | 1 + ruby-1.9.3-fix-s390x-build.patch | 12 ------------ ruby.spec | 14 ++++++++++---- sources | 2 +- 4 files changed, 12 insertions(+), 17 deletions(-) delete mode 100644 ruby-1.9.3-fix-s390x-build.patch diff --git a/.gitignore b/.gitignore index 606f3bf..2fe56c0 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,4 @@ ruby-rev415a3ef9ab82c65a7abc-ext_tk.tar.gz /ruby-1.9.3-p385.tar.gz /ruby-1.9.3-p392.tar.gz /ruby-1.9.3-p429.tar.gz +/ruby-1.9.3-p448.tar.gz diff --git a/ruby-1.9.3-fix-s390x-build.patch b/ruby-1.9.3-fix-s390x-build.patch deleted file mode 100644 index d0ade91..0000000 --- a/ruby-1.9.3-fix-s390x-build.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ruby-1.9.3-p0/ext/tk/extconf.rb.orig ruby-1.9.3-p0/ext/tk/extconf.rb ---- ruby-1.9.3-p0/ext/tk/extconf.rb.orig 2011-06-29 16:11:19.000000000 +0200 -+++ ruby-1.9.3-p0/ext/tk/extconf.rb 2011-10-18 16:15:59.406299659 +0200 -@@ -114,7 +114,7 @@ def is_macosx? - end - - def maybe_64bit? -- /64|universal/ =~ RUBY_PLATFORM -+ /64|universal|s390x/ =~ RUBY_PLATFORM - end - - def check_tcltk_version(version) diff --git a/ruby.spec b/ruby.spec index 89e29a6..2d97373 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,7 +1,7 @@ %global major_version 1 %global minor_version 9 %global teeny_version 3 -%global patch_level 429 +%global patch_level 448 %global major_minor_version %{major_version}.%{minor_version} @@ -56,7 +56,7 @@ Version: %{ruby_version_patch_level} # we cannot reset the release number to 1 even when the main (ruby) version # is updated - because it may be that the versions of sub-components don't # change. -Release: 30%{?dist} +Release: 31%{?dist} Group: Development/Languages # Public Domain for example for: include/ruby/st.h, strftime.c, ... License: (Ruby or BSD) and Public Domain @@ -74,7 +74,8 @@ Patch2: ruby-1.9.3-added-site-and-vendor-arch-flags.patch # some differencies in build between Fedora and RHEL. Patch3: ruby-1.9.3-always-use-i386.patch # http://redmine.ruby-lang.org/issues/5465 -Patch4: ruby-1.9.3-fix-s390x-build.patch +# Fixed in 1.9.3 p448 +#Patch4: ruby-1.9.3-fix-s390x-build.patch # Fix the uninstaller, so that it doesn't say that gem doesn't exist # when it exists outside of the GEM_HOME (already fixed in the upstream) Patch5: ruby-1.9.3-rubygems-1.8.11-uninstaller.patch @@ -343,7 +344,7 @@ Tcl/Tk interface for the object-oriented scripting language Ruby. %patch1 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 +#%%patch4 -p1 %patch5 -p1 %patch8 -p1 %patch9 -p1 @@ -775,6 +776,11 @@ make check TESTS="-v $DISABLE_TESTS" %{ruby_libdir}/tkextlib %changelog +* Mon Jul 1 2013 Mamoru TASAKA - 1.9.3.448-31 +- Update to 1.9.3 p448 +- Fix hostname check bypassing vulnerability in SSL client + (CVE-2013-4073) + * Thu May 16 2013 Mamoru TASAKA - 1.9.3.429-30 - Update to 1.9.3 p429 - Fix object taint bypassing in DL and Fiddle (CVE-2013-2065) diff --git a/sources b/sources index 2f5abc8..8e4d44c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -993c72f7f805a9eb453f90b0b7fe0d2b ruby-1.9.3-p429.tar.gz +a893cff26bcf351b8975ebf2a63b1023 ruby-1.9.3-p448.tar.gz