diff --git a/.gitignore b/.gitignore index 543c5bd..50fe66a 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,8 @@ ruby-rev415a3ef9ab82c65a7abc-ext_tk.tar.gz /ruby-rev54f344095916f83a2755a177f94e65a1c390a612-ext_tk.tar.gz /ruby-1.8.7-p330.tar.bz2 /ruby-revf30eca26639ce538339bc488c7ed1fd397b0c13f-ext_tk.tar.gz +/ruby-1.8.7-p334.tar.bz2 +/ruby-1.8.7-p352.tar.bz2 +/ruby-revc2dfaa7d40531aef3706bcc16f38178b0c6633ee-ext_tk.tar.gz +/ruby-1.8.7-p357.tar.bz2 +/ruby-1.8.7-p358.tar.bz2 diff --git a/ruby-1.8.7-p352-path-uniq.patch b/ruby-1.8.7-p352-path-uniq.patch new file mode 100644 index 0000000..f930de1 --- /dev/null +++ b/ruby-1.8.7-p352-path-uniq.patch @@ -0,0 +1,54 @@ +--- ruby-1.8.7-p352/array.c.pathuniq 2009-02-05 08:55:33.000000000 +0900 ++++ ruby-1.8.7-p352/array.c 2011-07-16 09:44:35.000000000 +0900 +@@ -2954,7 +2954,7 @@ + * b.uniq! #=> nil + */ + +-static VALUE ++GCC_VISIBILITY_HIDDEN VALUE + rb_ary_uniq_bang(ary) + VALUE ary; + { +@@ -2987,7 +2987,7 @@ + * a.uniq #=> ["a", "b", "c"] + */ + +-static VALUE ++GCC_VISIBILITY_HIDDEN VALUE + rb_ary_uniq(ary) + VALUE ary; + { +--- ruby-1.8.7-p352/intern.h.pathuniq 2011-05-23 13:49:40.000000000 +0900 ++++ ruby-1.8.7-p352/intern.h 2011-07-16 09:43:10.000000000 +0900 +@@ -18,6 +18,11 @@ + */ + + #define ID_ALLOCATOR 1 ++#ifdef __GNUC__ ++#define GCC_VISIBILITY_HIDDEN __attribute__ ((visibility("hidden"))) ++#else ++#define GCC_VISIBILITY_HIDDEN ++#endif + + /* array.c */ + void rb_mem_clear _((register VALUE*, register long)); +@@ -44,6 +49,8 @@ + VALUE rb_ary_reverse _((VALUE)); + VALUE rb_ary_sort _((VALUE)); + VALUE rb_ary_sort_bang _((VALUE)); ++GCC_VISIBILITY_HIDDEN VALUE rb_ary_uniq _((VALUE)); ++GCC_VISIBILITY_HIDDEN VALUE rb_ary_uniq_bang _((VALUE)); + VALUE rb_ary_delete _((VALUE, VALUE)); + VALUE rb_ary_delete_at _((VALUE, long)); + VALUE rb_ary_clear _((VALUE)); +--- ruby-1.8.7-p352/ruby.c.pathuniq 2011-07-16 08:54:11.000000000 +0900 ++++ ruby-1.8.7-p352/ruby.c 2011-07-16 09:36:13.000000000 +0900 +@@ -341,6 +341,8 @@ + if (rb_safe_level() == 0) { + incpush("."); + } ++ ++ rb_load_path = rb_ary_uniq(rb_load_path); + } + + struct req_list { diff --git a/ruby.spec b/ruby.spec index 9286b78..3d7eb64 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,6 +1,6 @@ %global rubyxver 1.8 %global rubyver 1.8.7 -%global _patchlevel 330 +%global _patchlevel 358 %global dotpatchlevel %{?_patchlevel:.%{_patchlevel}} %global patchlevel %{?_patchlevel:-p%{_patchlevel}} @@ -12,19 +12,21 @@ %{!?sitearchbase: %global sitearchbase %{vendorarchbase}/site_ruby} %global _normalized_cpu %(echo %{_target_cpu} | sed 's/^ppc/powerpc/;s/i.86/i386/;s/sparcv./sparc/') -# Sun Dec 25 17:00:00 2010 +0000 -%global ruby_tk_git_revision f30eca26639ce538339bc488c7ed1fd397b0c13f +# Fri Jul 15 21:28:10 2011 +0000 +%global ruby_tk_git_revision c2dfaa7d40531aef3706bcc16f38178b0c6633ee Name: ruby Version: %{rubyver}%{?dotpatchlevel} -Release: 3%{?dist} +Release: 1%{?dist} # Please check if ruby upstream changes this to "Ruby or GPLv2+" License: Ruby or GPLv2 URL: http://www.ruby-lang.org/ BuildRequires: compat-readline5-devel BuildRequires: db4-devel +%if 0%{?fedora} < 17 BuildRequires: gdbm-devel +%endif BuildRequires: libX11-devel BuildRequires: ncurses-devel BuildRequires: openssl-devel @@ -58,6 +60,9 @@ Patch29: ruby-1.8.7-always-use-i386.patch # Use shared libs as opposed to static for mkmf # See bug 428384 Patch33: ruby-1.8.7-p249-mkmf-use-shared.patch +# Remove duplicate path entry +# bug 718695 +Patch34: ruby-1.8.7-p352-path-uniq.patch # Change ruby load path to conform to Fedora/ruby # library placement (various 1.8.6 patches consolidated into this) Patch100: ruby-1.8.7-lib-paths.patch @@ -178,6 +183,7 @@ pushd %{name}-%{arcver} %patch23 -p1 %patch29 -p1 %patch33 -p1 +%patch34 -p1 %patch100 -p1 ( @@ -185,10 +191,23 @@ pushd %{name}-%{arcver} rm -rf tk cp -a ../../ext/tk tk find tk -type d -name \.svn | sort -r | xargs rm -rf + +# Remove rpath + sed -i.rpath -e 's|-Wl,-R|-L|g' tk/extconf.rb ) popd +# Once fix FTBTS issue (bug 716021). Remove the below +# when it is no longer needed. +sed -i.redirect -e '\@RUBY@s@\.rb >@\.rb | cat >@' %{name}-%{arcver}/ext/dl/depend + +# Disable gdbm support on F-17 for now +%if 0%{?fedora} >= 17 +sed -i '\@dblib =@s|gdbm[^ ]*||g' %{name}-%{arcver}/ext/dbm/extconf.rb +%endif + + %build pushd %{name}-%{arcver} for i in config.sub config.guess; do @@ -425,7 +444,10 @@ rm -rf $RPM_BUILD_ROOT %ifarch ppc64 s390x sparc64 x86_64 %dir %{vendorarchbase} %dir %{vendorarchbase}/%{rubyxver} +%dir %{vendorarchbase}/%{rubyxver}/%{_normalized_cpu}-%{_target_os} %{sitearchbase} +%else +%dir %{vendorlibbase}/%{rubyxver}/%{_normalized_cpu}-%{_target_os} %endif ## the following files should goes into ruby-tcltk package. %exclude %{vendorlibbase}/%{rubyxver}/*tk.rb @@ -522,6 +544,41 @@ rm -rf $RPM_BUILD_ROOT %{_datadir}/ri %changelog +* Fri Apr 13 2012 Mamoru Tasaka - 1.8.7.358-1 +- Update to 1.8.7p358 + +* Thu Dec 29 2011 Mamoru Tasaka - 1.8.7.357-1 +- Update to 1.8.7p357 +- Randomize hash on process startup (CVE-2011-4815, bug 750564) + +* Fri Dec 23 2011 Dennis Gilmore - 1.8.7.352-2 +- dont normalise arm cpus to arm +- there is something weird about how ruby choses where to put bits + +* Thu Nov 16 2011 Mamoru Tasaka - 1.8.7.352-3 +- F-17: kill gdbm support for now due to licensing compatibility issue + +* Sat Oct 1 2011 Mamoru Tasaka - 1.8.7.352-2 +- F-17: rebuild against new gdbm + +* Sat Jul 16 2011 Mamoru Tasaka - 1.8.7.352-1 +- Update to 1.8.7 p352 +- CVE-2011-2686 is fixed in this version (bug 722415) +- Update ext/tk to the latest git +- Remove duplicate path entry (bug 718695) + +* Thu Jul 14 2011 Mamoru Tasaka - 1.8.7.334-4 +- Once fix FTBFS (bug 716021) + +* Mon Jul 11 2011 Dennis Gilmore - 1.8.7.334-3 +- normalise arm cpus to arm + +* Mon May 30 2011 Mamoru Tasaka - 1.8.7.334-2 +- Own %%{_normalized_cpu}-%%{_target_os} directory (bug 708816) + +* Sat Feb 19 2011 Mamoru Tasaka - 1.8.7.334-1 +- Update to 1.8.7 p334 + * Wed Feb 09 2011 Fedora Release Engineering - 1.8.7.330-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild diff --git a/sources b/sources index 66a9c0f..91e1a36 100644 --- a/sources +++ b/sources @@ -1,2 +1,3 @@ -2689719fb42c8cf0aa336f8c8933f413 ruby-1.8.7-p330.tar.bz2 -fcc35655da3047f64650a526c179ade8 ruby-revf30eca26639ce538339bc488c7ed1fd397b0c13f-ext_tk.tar.gz +3abd9e2a29f756a0d30c7bfca578cdeb ruby-1.8.7-p357.tar.bz2 +01b1053cf357459349bf74363756ad41 ruby-revc2dfaa7d40531aef3706bcc16f38178b0c6633ee-ext_tk.tar.gz +de35f00997f4ccee3e22dff0f2d01b8a ruby-1.8.7-p358.tar.bz2