diff --git a/ruby-1.8.6.p36_gc.patch b/ruby-1.8.6.p36_gc.patch deleted file mode 100644 index ba64111..0000000 --- a/ruby-1.8.6.p36_gc.patch +++ /dev/null @@ -1,35 +0,0 @@ -Index: gc.c -=================================================================== ---- gc.c.orig 2008-07-07 08:17:24.000000000 +0200 -+++ gc.c 2008-07-22 17:51:19.058845598 +0200 -@@ -480,7 +480,7 @@ unsigned int _stacksize = 262144; - # define STACK_LEVEL_MAX (_stacksize - 4096) - # undef HAVE_GETRLIMIT - #elif defined(HAVE_GETRLIMIT) || defined(_WIN32) --static unsigned int STACK_LEVEL_MAX = 655300; -+static unsigned long STACK_LEVEL_MAX = 655300; - #else - # define STACK_LEVEL_MAX 655300 - #endif -@@ -539,7 +539,7 @@ stack_grow_direction(addr) - (ret) = (STACK_LENGTH > STACK_LEVEL_MAX + GC_WATER_MARK);\ - } while (0) - --int -+long - ruby_stack_length(p) - VALUE **p; - { -Index: intern.h -=================================================================== ---- intern.h.orig 2008-07-07 05:29:28.000000000 +0200 -+++ intern.h 2008-07-22 17:51:44.220378414 +0200 -@@ -251,7 +251,7 @@ VALUE rb_file_directory_p _((VALUE,VALUE - /* gc.c */ - NORETURN(void rb_memerror __((void))); - int ruby_stack_check _((void)); --int ruby_stack_length _((VALUE**)); -+long ruby_stack_length _((VALUE**)); - int rb_during_gc _((void)); - char *rb_source_filename _((const char*)); - void rb_gc_mark_locations _((VALUE*, VALUE*)); diff --git a/ruby-1.8.7-p249.tar.bz2 b/ruby-1.8.7-p249.tar.bz2 new file mode 100644 index 0000000..519f682 --- /dev/null +++ b/ruby-1.8.7-p249.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8b89448fc79df6862660e9f77e884f06c76da28f078d8edd2f17567a615f3af5 +size 4153461 diff --git a/ruby-1.8.7-p72.tar.bz2 b/ruby-1.8.7-p72.tar.bz2 deleted file mode 100644 index 9044fff..0000000 --- a/ruby-1.8.7-p72.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:52b731d41b1656e8ef317da38fe0d32c4dcac8ea373456254af88c945df83ca9 -size 4127458 diff --git a/ruby-1.8.x_digest_non_void_return.patch b/ruby-1.8.x_digest_non_void_return.patch new file mode 100644 index 0000000..c1ed0e6 --- /dev/null +++ b/ruby-1.8.x_digest_non_void_return.patch @@ -0,0 +1,83 @@ +Index: ext/digest/digest.c +=================================================================== +--- ext/digest/digest.c.orig 2009-12-14 04:19:26.000000000 +0100 ++++ ext/digest/digest.c 2010-02-23 12:27:54.812092205 +0100 +@@ -2,14 +2,14 @@ + + digest.c - + +- $Author: shyouhei $ ++ $Author: knu $ + created at: Fri May 25 08:57:27 JST 2001 + + Copyright (C) 1995-2001 Yukihiro Matsumoto + Copyright (C) 2001-2006 Akinori MUSHA + + $RoughId: digest.c,v 1.16 2001/07/13 15:38:27 knu Exp $ +- $Id: digest.c 26089 2009-12-14 03:19:26Z shyouhei $ ++ $Id: digest.c 26341 2010-01-17 19:23:17Z knu $ + + ************************************************/ + +@@ -76,6 +76,8 @@ rb_digest_s_hexencode(VALUE klass, VALUE + return hexencode_str_new(str); + } + ++NORETURN(static void rb_digest_instance_method_unimpl(VALUE self, const char *method)); ++ + /* + * Document-module: Digest::Instance + * +@@ -86,8 +88,6 @@ rb_digest_s_hexencode(VALUE klass, VALUE + static void + rb_digest_instance_method_unimpl(VALUE self, const char *method) + { +- VALUE klass = rb_obj_class(self); +- + rb_raise(rb_eRuntimeError, "%s does not implement %s()", + rb_obj_classname(self), method); + } +@@ -179,10 +179,7 @@ rb_digest_instance_digest(int argc, VALU + value = rb_funcall(self, id_finish, 0); + rb_funcall(self, id_reset, 0); + } else { +- VALUE clone = rb_obj_clone(self); +- +- value = rb_funcall(clone, id_finish, 0); +- rb_funcall(clone, id_reset, 0); ++ value = rb_funcall(rb_obj_clone(self), id_finish, 0); + } + + return value; +@@ -227,10 +224,7 @@ rb_digest_instance_hexdigest(int argc, V + value = rb_funcall(self, id_finish, 0); + rb_funcall(self, id_reset, 0); + } else { +- VALUE clone = rb_obj_clone(self); +- +- value = rb_funcall(clone, id_finish, 0); +- rb_funcall(clone, id_reset, 0); ++ value = rb_funcall(rb_obj_clone(self), id_finish, 0); + } + + return hexencode_str_new(value); +@@ -240,8 +234,8 @@ rb_digest_instance_hexdigest(int argc, V + * call-seq: + * digest_obj.hexdigest! -> string + * +- * Returns the resulting hash value and resets the digest to the +- * initial state. ++ * Returns the resulting hash value in a hex-encoded form and resets ++ * the digest to the initial state. + */ + static VALUE + rb_digest_instance_hexdigest_bang(VALUE self) +@@ -275,7 +269,7 @@ rb_digest_instance_inspect(VALUE self) + { + VALUE str; + size_t digest_len = 32; /* about this size at least */ +- char *cname; ++ const char *cname; + + cname = rb_obj_classname(self); + diff --git a/ruby.changes b/ruby.changes index 9a18ea5..f1912ae 100644 --- a/ruby.changes +++ b/ruby.changes @@ -1,3 +1,25 @@ +------------------------------------------------------------------- +Tue Feb 23 12:02:11 UTC 2010 - mrueckert@suse.de + +- added ruby-1.8.x_digest_non_void_return.patch: + patch pulled from SVN to fix the warnings about no return in + non-void functions. + +------------------------------------------------------------------- +Sun Jan 31 21:56:19 CET 2010 - meissner@suse.de + +- ruby calls "ppc" "powerpc". + +------------------------------------------------------------------- +Fri Jan 29 19:12:11 UTC 2010 - mrueckert@suse.de + +- update to 1.8.7p249 + small big fix release in the 1.8.7 branch, this includes the fix + for: + - ruby webrick doesn't sanitize non-printable characters in log + (bnc#570616) CVE-2009-4492 +- drop ruby-1.8.6.p36_gc.patch: solution is upstream + ------------------------------------------------------------------- Thu Dec 17 00:42:51 CET 2009 - jengelh@medozas.de diff --git a/ruby.spec b/ruby.spec index bc5973f..2967378 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,5 +1,5 @@ # -# spec file for package ruby (Version 1.8.7.p72) +# spec file for package ruby (Version 1.8.7.p249) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,12 +19,12 @@ Name: ruby -Version: 1.8.7.p72 -Release: 7 +Version: 1.8.7.p249 +Release: 1 # %define pkg_version 1.8.7 -%define patch_level p72 -%define rb_arch %(echo %{_target_cpu}-linux | sed -e "s/i686/i586/" -e "s/hppa2.0/hppa/") +%define patch_level p249 +%define rb_arch %(echo %{_target_cpu}-linux | sed -e "s/i686/i586/" -e "s/hppa2.0/hppa/" -e "s/ppc/powerpc/") %define rb_ver %(echo %{pkg_version} | sed -e 's/\\\.[0-9]\\\+$//') # License: GPLv2+ @@ -55,7 +55,6 @@ Url: http://www.ruby-lang.org/ Source: ftp://ftp.ruby-lang.org/pub/ruby/ruby-%{pkg_version}-%{patch_level}.tar.bz2 Source1: irb.1 Source2: ruby-doc-bundle.tar.bz2 -Patch0: ruby-1.8.6.p36_gc.patch Patch1: ruby-1.8.7.p22_lib64.patch Patch2: ruby-1.8.7.p22_tcltk-multilib.patch Patch3: ruby-1.8.6.p36_socket_ipv6.patch @@ -63,6 +62,8 @@ Patch5: ruby_1.8.6.p36_date_remove_privat.patch Patch6: ruby-pedantic-headers.diff Patch7: ruby-1.8.7-p72_vendor_specific.patch Patch8: ruby-1.8.7-p72_topdir.patch +# can be removed on next version update. pulled from svn +Patch9: ruby-1.8.x_digest_non_void_return.patch # vendor ruby files taken from: # http://svn.macports.org/repository/macports/trunk/dports/lang/ruby/ Source3: site-specific.rb @@ -237,7 +238,6 @@ Authors: %prep %setup -q -n ruby-%{pkg_version}-%{patch_level} -a2 %{?with_bleak_house:-a6} -%patch0 %patch1 %patch2 %patch3 @@ -245,6 +245,7 @@ Authors: %patch6 %patch7 %patch8 +%patch9 %if 0%{?with_bleak_house} for patch in valgrind configure gc ; do patch -p0 < bleak_house-%{bleak_house_version}/ruby/${patch}.patch