Hello Talahtel...

Is the upgrade to Ruby 1.8.7 in bugzilla somewhere?  I don't see a bug-id for 
this...are you targeting 1.1 for this?

Thanks,

rs


On 9/14/10 1:52 AM, "talahtel" <[email protected]> wrote:

Hi,
I have made the following changes to ruby in project Trunk:Testing. Please 
review and accept ASAP.

Thank You,
talahtel

[This message was auto-generated]

---

Request #7509:

  submit:   home:talahtel:branches:Trunk:Testing/ruby(r4)(cleanup) -> 
Trunk:Testing/ruby


Message:
    * Mon Sep 13 2010 Tatu Lahtela <[email protected]> 1.8.7.302
- Remove upstream patch:
    ruby-1.8.6-rexml-CVE-2008-3790.patch
    ruby-1.8.6-p369-ri-gem_multipath.patch
    ruby-openssl-1.0.patch
    ruby-deadcode.patch  (Some parts were not upstream, but they no longer work)
- Recreate for latest version:
    ruby-always-use-i386.patch
    ruby-deprecated-search-path.patch
- Delete -depracted- patches, not relevant.
- Replaced ruby-rubyprefix.patch patch with ruby-1.8.7-lib-paths.patch. Old 
patch not valid.

State:   new          2010-09-14T01:52:38 talahtel
Comment: None



changes files:
--------------
--- ruby.changes
+++ ruby.changes
@@ -0,0 +1,12 @@
+* Mon Sep 13 2010 Tatu Lahtela <[email protected]> 1.8.7.302
+- Remove upstream patch:
+    ruby-1.8.6-rexml-CVE-2008-3790.patch
+    ruby-1.8.6-p369-ri-gem_multipath.patch
+    ruby-openssl-1.0.patch
+    ruby-deadcode.patch  (Some parts were not upstream, but they no longer 
work)
+- Recreate for latest version:
+    ruby-always-use-i386.patch
+    ruby-deprecated-search-path.patch
+- Delete -depracted- patches, not relevant.
+- Replaced ruby-rubyprefix.patch patch with ruby-1.8.7-lib-paths.patch. Old 
patch not valid.
+

old:
----
  ruby-1.8.6-p287-remove-ssl-rand-range.patch
  ruby-1.8.6-p369-ri-gem_multipath.patch
  ruby-1.8.6-p383-mkmf-use-shared.patch
  ruby-1.8.6-p383-rubyprefix.patch
  ruby-1.8.6-p399.tar.bz2
  ruby-1.8.6-rexml-CVE-2008-3790.patch
  ruby-1.8head-irb-save-history.patch
  ruby-deadcode.patch
  ruby-deprecated-search-path.patch
  ruby-deprecated-sitelib-search-path.patch
  ruby-multilib.patch
  ruby-openssl-1.0.patch

new:
----
  ruby
  ruby-1.8.7-lib-paths.patch
  ruby-1.8.7-multilib.patch
  ruby-1.8.7-p302-mkmf-use-shared.patch
  ruby-1.8.7-p302.tar.bz2

spec files:
-----------
--- ruby.spec
+++ ruby.spec
@@ -1,57 +1,76 @@
-%define        rubyxver        1.8
-%define        rubyver         1.8.6
-%define _patchlevel    399
-%define dotpatchlevel  %{?_patchlevel:.%{_patchlevel}}
-%define patchlevel     %{?_patchlevel:-p%{_patchlevel}}
-%define        arcver          %{rubyver}%{?patchlevel}
-%define        sitedir         %{_libdir}/ruby/site_ruby
-# This is required to ensure that noarch files puts under /usr/lib/... for
-# multilib because ruby library is installed under /usr/{lib,lib64}/ruby 
anyway.
-%define        sitedir2        %{_prefix}/lib/ruby/site_ruby
-%define        _normalized_cpu %(echo `echo %{_target_cpu} | sed 
's/^ppc/powerpc/' | sed -e 's|i.86|i386|'`)
+%global        rubyxver        1.8
+%global        rubyver 1.8.7
+%global        _patchlevel     302
+
+%global        dotpatchlevel   %{?_patchlevel:.%{_patchlevel}}
+%global        patchlevel      %{?_patchlevel:-p%{_patchlevel}}
+%global        arcver          %{rubyver}%{?patchlevel}
+
+%{!?vendorlibbase:     %global vendorlibbase   %{_prefix}/lib/ruby}
+%{!?vendorarchbase:    %global vendorarchbase  %{_libdir}/ruby}
+%{!?sitelibbase:       %global sitelibbase     %{vendorlibbase}/site_ruby}
+%{!?sitearchbase:      %global sitearchbase    %{vendorarchbase}/site_ruby}
+
+%global        _normalized_cpu %(echo %{_target_cpu} | sed 
's/^ppc/powerpc/;s/i.86/i386/')
+
+%global        _use_eabi       %(if [[ %{_target_cpu} == *arm* ]]; then  echo 
"-eabi"; else echo "" ;fi)

 Name:          ruby
 Version:       %{rubyver}%{?dotpatchlevel}
-Release:       5
+Release:       1%{?dist}
+# Please check if ruby upstream changes this to "Ruby or GPLv2+"
 License:       Ruby or GPLv2
 URL:           http://www.ruby-lang.org/
-BuildRoot:     %{_tmppath}/%{name}-%{version}-%{release}-root
-BuildRequires: readline-devel
-BuildRequires:  ncurses-devel gdbm-devel glibc-devel tcl-devel tk-devel 
libX11-devel autoconf gcc unzip openssl-devel db4-devel byacc
-# Use bison to recreate parse.c (ref: bug 530275 comment 4)
+
+# BuildRequires:       compat-readline5-devel
+BuildRequires: db4-devel
+BuildRequires: gdbm-devel
+BuildRequires: libX11-devel
+BuildRequires: ncurses-devel
+BuildRequires: openssl-devel
+BuildRequires: tcl-devel
+BuildRequires: tk-devel
+
+BuildRequires: autoconf
 BuildRequires: bison
-BuildRequires: fdupes
+BuildRequires: byacc

+# Official ruby source release tarball
 Source0:       
ftp://ftp.ruby-lang.org/pub/%{name}/%{rubyxver}/%{name}-%{arcver}.tar.bz2
-## Dead link
-##Source1:     
http://www7.tok2.com/home/misc/files/%{name}/%{name}-refm-rdp-1.8.1-ja-html.tar.gz
-#Source1:      %{name}-refm-rdp-1.8.1-ja-html.tar.gz
 Source1:       
http://elbereth-hp.hp.infoseek.co.jp/files/ruby/refm/old/2005/%{name}-refm-rdp-1.8.2-ja-html.tar.gz
 Source2:       ftp://ftp.ruby-lang.org/pub/%{name}/doc/rubyfaq-990927.tar.gz
 Source3:       ftp://ftp.ruby-lang.org/pub/%{name}/doc/rubyfaq-jp-990927.tar.gz
 Source4:       irb.1
-Source10:      ruby-mode-init.el

-Patch1:                ruby-deadcode.patch
-Patch20:       ruby-1.8.6-p383-rubyprefix.patch
-Patch21:       ruby-deprecated-sitelib-search-path.patch
-Patch22:       ruby-deprecated-search-path.patch
-Patch23:       ruby-multilib.patch
-# Needed in 1.8.6-p287, no longer needed in 1.8.6-p368?
-#Patch25:      ruby-1.8.6.111-gcc43.patch
-Patch26:        ruby-1.8.6-rexml-CVE-2008-3790.patch
+
+# Patches 23,27, 29, and 33 brought over from ruby 1.8.6
+#  (updated to apply against 1.8.7 source)
+# If building against a 64bit arch, use 64bit libdir
+Patch23: ruby-1.8.7-multilib.patch
 Patch27:        ruby-1.8.6-p287-CVE-2008-5189.patch
-Patch28:        ruby-1.8.6-p287-remove-ssl-rand-range.patch
+# Mark all i.86 arch's (eg i586, i686, etc) as i386
 Patch29:       ruby-always-use-i386.patch
-Patch30:       ruby-openssl-1.0.patch
-Patch31:       ruby-1.8.6-p369-ri-gem_multipath.patch
-# Patch32 from ruby_1_8 branch
-Patch32:       ruby-1.8head-irb-save-history.patch
-Patch33:       ruby-1.8.6-p383-mkmf-use-shared.patch
+# Use shared libs as opposed to static for mkmf
+# See bug 428384
+Patch33:       ruby-1.8.7-p302-mkmf-use-shared.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
+
+
+

 Summary:       An interpreter of object-oriented scripting language
 Group:         Development/Languages
-Requires:      %{name}-libs = %{version}-%{release}
+Requires:      %{name}-libs%{?_isa} = %{version}-%{release}
+# Ruby gem generators require this?
+Provides: /usr/bin/ruby1.8
+# emacs-23.2.x itself now provides the ruby mode
+# And no Provides here
+Obsoletes:     %{name}-mode < 1.8.7
+# remove old documentation
+# And no Provides here
+Obsoletes:     %{name}-docs < 1.8.7

 %description
 Ruby is the interpreted scripting language for quick and easy
@@ -68,7 +87,7 @@
 License:       (Ruby or GPLv2) and (GPL+ or Artistic)
 Provides:      ruby(abi) = %{rubyxver}
 Provides:      libruby = %{version}-%{release}
-Obsoletes:     libruby <= %{version}-%{release}
+Obsoletes:     libruby < %{version}-%{release}

 %description libs
 This package includes the libruby, necessary to run Ruby.
@@ -77,8 +96,7 @@
 %package devel
 Summary:       A Ruby development environment
 Group:         Development/Languages
-Requires:      %{name}-libs = %{version}-%{release}
-#Provides:     %{name}-libs-static = %{version}-%{release}
+Requires:      %{name}-libs%{?_isa} = %{version}-%{release}

 %description devel
 Header files and libraries for building a extension library for the
@@ -87,29 +105,20 @@
 %package static
 Summary:       Static libraries for Ruby development environment
 Group:         Development/Languages
-Requires:      %{name}-devel = %{version}-%{release}
+Requires:      %{name}-devel%{?_isa} = %{version}-%{release}

 %description static
 Static libraries for for building a extension library for the
 Ruby or an application embedded Ruby.

-%package tcltk
-Summary:       Tcl/Tk interface for scripting language Ruby
-Group:         Development/Languages
-# Many files under ext/tk/sample/ are under TCL
-License:       (Ruby or GPLv2) and TCL
-Requires:      %{name}-libs = %{version}-%{release}
-
-%description tcltk
-Tcl/Tk interface for the object-oriented scripting language Ruby.
-
-
 %package irb
 Summary:       The Interactive Ruby
 Group:         Development/Languages
+# No isa specific
 Requires:      %{name} = %{version}-%{release}
 Provides:      irb = %{version}-%{release}
-Obsoletes:     irb <= %{version}-%{release}
+Obsoletes:     irb < %{version}-%{release}
+BuildArch:     noarch

 %description irb
 The irb is acronym for Interactive Ruby.  It evaluates ruby expression
@@ -121,11 +130,11 @@
 Group:         Development/Languages
 # generators/template/html/html.rb is under CC-BY
 License:       (GPLv2 or Ruby) and CC-BY
-## ruby-irb requires ruby
-#Requires:     %{name} = %{version}-%{release}
+# No isa specific
 Requires:      %{name}-irb = %{version}-%{release}
 Provides:      rdoc = %{version}-%{release}
-Obsoletes:     rdoc <= %{version}-%{release}
+Obsoletes:     rdoc < %{version}-%{release}
+BuildArch:     noarch

 %description rdoc
 The rdoc is a tool to generate the documentation from Ruby source files.
@@ -140,14 +149,18 @@
 %description docs
 Manuals and FAQs for the object-oriented scripting language Ruby.

+
 %package ri
 Summary:       Ruby interactive reference
 Group:         Documentation
 ## ruby-irb requires ruby, which ruby-rdoc requires
-#Requires:     %{name} = %{version}-%{release}
+#Requires: %%{name} = %%{version}-%%{release}
+# No isa specific
 Requires:      %{name}-rdoc = %{version}-%{release}
 Provides:      ri = %{version}-%{release}
-Obsoletes:     ri <= %{version}-%{release}
+Obsoletes:     ri < %{version}-%{release}
+# FIXME: Make ruby-ri really arch independent
+# BuildArch:   noarch # Currently commented out

 %description ri
 ri is a command line tool that displays descriptions of built-in
@@ -155,6 +168,16 @@
 sequence and a description. For classes and modules, it shows a synopsis
 along with a list of the methods the class or module implements.

+##
+## ruby-tcltk
+##
+%package       tcltk
+Summary:       Tcl/Tk interface for scripting language Ruby
+Group:         Development/Languages
+Requires:      %{name}-libs%{?_isa} = %{version}-%{release}
+
+%description tcltk
+Tcl/Tk interface for the object-oriented scripting language Ruby.

 %prep
 %setup -q -c -a 2 -a 3
@@ -163,124 +186,157 @@
 tar fxz %{SOURCE1}
 popd
 pushd %{name}-%{arcver}
-%patch1 -p1
-%patch20 -p1
-%patch21 -p1
-%ifarch ppc64 s390x sparc64 x86_64
-%patch22 -p1
 %patch23 -p1
-%endif
-#%patch25 -p1
-#%patch26 -p1
 %patch27 -p0
-%patch28 -p1
-%patch29 -p1
-%patch30 -p2
-%patch31 -p1
-%patch32 -p0
+%patch29 -p0
+%patch100 -p1
+
+
 %patch33 -p1
+
+
 popd

 %build
 pushd %{name}-%{arcver}
 for i in config.sub config.guess; do
-       test -f %{_datadir}/libtool/$i && cp %{_datadir}/libtool/$i .
+       test -f %{_datadir}/libtool/$i && cp -p %{_datadir}/libtool/$i .
 done
 autoconf

 rb_cv_func_strtod=no
 export rb_cv_func_strtod
+
+# bug 489990
 CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
 export CFLAGS
+
 %configure \
-  --with-sitedir='%{sitedir}' \
   --with-default-kcode=none \
-  --with-bundled-sha1 \
-  --with-bundled-md5 \
-  --with-bundled-rmd160 \
   --enable-shared \
-  --enable-ipv6 \
   --enable-pthread \
-  --with-lookup-order-hack=INET \
   --disable-rpath \
-%if 0%{?fedora} >= 12
   --with-readline-include=%{_includedir}/readline5 \
   --with-readline-lib=%{_libdir}/readline5 \
-%endif
-  --with-ruby-prefix=%{_prefix}/lib
+       --with-sitedir='%{sitelibbase}' \
+       --with-sitearchdir='%{sitearchbase}' \
+       --with-vendordir='%{vendorlibbase}' \
+       --with-vendorarchdir='%{vendorarchbase}'

 # For example ext/socket/extconf.rb uses try_run (for getaddrinfo test),
 # which executes conftest and setting LD_LIBRARY_PATH for libruby.so is
 # needed.
 export LD_LIBRARY_PATH=$(pwd)

-make RUBY_INSTALL_NAME=ruby %{?_smp_mflags} COPY="cp -p" %{?_smp_mflags}
+make RUBY_INSTALL_NAME=ruby \
+       COPY="cp -p" \
+       %{?_smp_mflags}
 %ifarch ia64
 # Miscompilation? Buggy code?
 rm -f parse.o
-make OPT=-O0 RUBY_INSTALL_NAME=ruby %{?_smp_mflags}
+make OPT=-O0 RUBY_INSTALL_NAME=ruby \
+       %{?_smp_mflags}
 %endif

+# Generate ri doc
+rm -rf .ext/rdoc
+rm -rf ./RI_TMPDIR
+mkdir ./RI_TMPDIR
+make \
+       DESTDIR=$(pwd)/RI_TMPDIR \
+       install-doc
+
 popd

 %check
 pushd %{name}-%{arcver}
 %ifarch ppc64
-make test || :
+make test || true
 %else
 make test
 %endif
 popd

 %install
-rm -rf $RPM_BUILD_ROOT
-
-# installing documents and exapmles...
+# install documenation in tmp directory to be
+# picked up by %%doc macros in %%files sections
 rm -rf tmp-ruby-docs
 mkdir tmp-ruby-docs
-cd tmp-ruby-docs
+pushd tmp-ruby-docs

-# for ruby.rpm
-mkdir ruby ruby-libs ruby-devel ruby-tcltk ruby-docs irb
-cd ruby
-(cd ../../%{name}-%{arcver} && tar cf - sample) | tar xvf -
-cd ..
+mkdir \
+       ruby ruby-libs ruby-tcltk irb ruby-docs ruby-devel

-# for ruby-libs
+# First gather all samples
+cp -a  ../%{name}-%{arcver}/sample/ ruby
+cp -a \
+       ../%{name}-%{arcver}/lib/README* ../%{name}-%{arcver}/doc/ \
+       ruby-libs
+# Use tar to keep directory hierarchy
 cd ruby-libs
-(cd ../../%{name}-%{arcver} && tar cf - lib/README*) | tar xf -
-(cd ../../%{name}-%{arcver}/doc && tar cf - .) | tar xf -
-(cd ../../%{name}-%{arcver} &&
- tar cf - `find ext \
+(
+       cd ../../%{name}-%{arcver} ; \
+       find ext \
   -mindepth 1 \
   \( -path '*/sample/*' -o -path '*/demo/*' \) -o \
   \( -name '*.rb' -not -path '*/lib/*' -not -name extconf.rb \) -o \
-  \( -name 'README*' -o -name '*.txt*' -o -name 'MANUAL*' \)`) | tar xf -
-cd ..
-
-# for irb
-cd irb
-mv ../ruby-libs/irb/* .
-rmdir ../ruby-libs/irb
+       \( -name 'README*' -o -name '*.txt*' -o -name 'MANUAL*' \) \
+       \
+       | xargs tar cf -
+) \
+       | tar xf -
 cd ..

-# for ruby-devel
-cd ruby-devel
-
-cd ..
+# make sure that all doc files are the world-readable
+find -type f | xargs chmod 0644

-# for ruby-tcltk
-cd ruby-tcltk
-for target in tcltklib tk
-do
- (cd ../ruby-libs &&
-  tar cf - `find . -path "*/$target/*"`) | tar xf -
- (cd ../ruby-libs &&
-  rm -rf `find . -name "$target" -type d`)
+# Fix shebang
+grep -rl '#![ \t]*%{_prefix}/local/bin' . | \
+       xargs sed -i -e '1s|\(#![ \t]*\)%{_prefix}/local/bin|\1%{_bindir}|'
+grep -rl '#![ \t]*\./ruby' . | \
+       xargs sed -i -e '1s|\(#![ \t]*\)\./ruby|%{_bindir}/ruby|'
+
+# Fix encoding
+# Suppress message
+set +x
+find . -type f | while read f ; do
+       file $f | grep -q 'text' || continue
+       iconv -f UTF-8 -t UTF-8 $f &> /dev/null && continue
+       for encoding in \
+               EUC-JP ISO-8859-1
+       do
+               iconv -f $encoding -t UTF-8 $f -o $f.tmp 2>/dev/null && \
+                       { touch -r $f $f.tmp ; mv $f.tmp $f ; \
+                               echo -e "$f\t: converted from $encoding -t 
UTF-8" ; continue 2; } || \
+                       rm -f $f.tmp
+       done
 done
+# Enable message
+set -x
+
+# irb
+mv ruby-libs/doc/irb/* irb
+rm -rf ruby-libs/doc/irb
+
+# tcltk
+mv ruby-libs/ext/tk/* ruby-tcltk/
+rmdir ruby-libs/ext/tk
+
+## Fix encodings
+pushd ruby-tcltk
+cd sample
+find . -path ./demos-jp/\*.rb -or -path ./tkoptdb\*.rb -or -path 
./msgs_rb2/ja.msg | \
+       xargs sed -i -e 's|euc-jp|utf-8|'
+sed -i \
+       -e '/KCODE =/s|euc|utf-8|' -e 's|EUC-JP|UTF-8|' \
+       demos-jp/widget
 cd ..
+sed -i -e 's|EUC-JP|UTF-8|' README.1st
+popd

 # for ruby-docs
+pwd
+ls
 cd ruby-docs
 mkdir refm-ja faq-en faq-ja
 (cd ../../ruby-refm-ja && tar cf - .) | (cd refm-ja && tar xf -)
@@ -296,61 +352,41 @@
  done)
 cd ..

-# fixing `#!' paths
-for f in `find . -type f`
-do
-  sed -e 's,^#![       ]*\([^  ]*\)/\(ruby\|wish\|perl\|env\),#!/usr/bin/\2,' 
< $f > $f.n
-  if ! cmp $f $f.n
-  then
-    mv -f $f.n $f
-  else
-    rm -f $f.n
-  fi
-done
-
 # make sure that all doc files are the world-readable
 find -type f | xargs chmod 0644

-# convert to utf-8
-for i in `find -type f ! -name "*.gif"`; do
-    status=0
-    iconv -f utf-8 -t utf-8 $i >/dev/null || { iconv -f euc-jp -t utf-8 $i > 
$i.new && mv $i.new $i || status=1 ; }
-    if [ $status = 0 ]; then
-        if dirname $i | grep -q refm-ja ; then
-          sed -i -e '/encoding/s|EUC-JP|UTF-8|' -e '/charset/s|EUC-JP|UTF-8|' 
$i
-        fi
-    else
-        iconv -f iso8859-1 -t utf-8 $i > $.new && mv $i.new $i || rm -f $i.new
-    fi
-done

-# done
-cd ..
+# done w/ docs
+popd

 # installing binaries ...
-make -C $RPM_BUILD_DIR/%{name}-%{version}/%{name}-%{arcver} 
DESTDIR=$RPM_BUILD_ROOT install
+make \
+       -C $RPM_BUILD_DIR/%{name}-%{version}/%{name}-%{arcver} \
+       DESTDIR=$RPM_BUILD_ROOT \
+       install
+
+# install ri doc
+cp -a ./%{name}-%{arcver}/RI_TMPDIR/* $RPM_BUILD_ROOT
+
+mkdir -p $RPM_BUILD_ROOT%{sitelibbase}/%{rubyxver}
+mkdir -p 
$RPM_BUILD_ROOT%{sitearchbase}/%{rubyxver}/%{_normalized_cpu}-%{_target_os}

-# generate ri doc
-rubybuilddir=$RPM_BUILD_DIR/%{name}-%{version}/%{name}-%{arcver}
-rm -rf %{name}-%{arcver}/.ext/rdoc
-LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} 
RUBYLIB=$RPM_BUILD_ROOT%{_libdir}/ruby/%{rubyxver}:$RPM_BUILD_ROOT%{_libdir}/ruby/%{rubyxver}/%{_normalized_cpu}-%{_target_os}
 make -C $rubybuilddir DESTDIR=$RPM_BUILD_ROOT install-doc
-#DESTDIR=$RPM_BUILD_ROOT LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} 
$RPM_BUILD_ROOT%{_bindir}/ruby -I $rubybuilddir -I 
$RPM_BUILD_ROOT%{_libdir}/ruby/%{rubyxver}/%{_normalized_cpu}-%{_target_os}/ -I 
$rubybuilddir/lib $RPM_BUILD_ROOT%{_bindir}/rdoc --all --ri-system $rubybuilddir

-mkdir -p $RPM_BUILD_ROOT%{sitedir2}/%{rubyxver}
-mkdir -p $RPM_BUILD_ROOT%{sitedir}/%{rubyxver}/%{_normalized_cpu}-%{_target_os}

-# XXX: installing irb
-install -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/


 # remove shebang
-for i in 
$RPM_BUILD_ROOT%{_prefix}/lib/ruby/1.8/{abbrev,generator,irb/{cmd/subirb,ext/save-history},matrix,rdoc/{markup/sample/rdoc2latex,parsers/parse_rb},set,tsort}.rb;
 do
+for i in \
+       
$RPM_BUILD_ROOT%{vendorlibbase}/%{rubyxver}/{abbrev,generator,irb/{cmd/subirb,ext/save-history},matrix,rdoc/{markup/sample/rdoc2latex,parsers/parse_rb},set,tsort}.rb;
 \
+       do
        sed -i -e '/^#!.*/,1D' $i
 done
+# The following can be executable
+chmod 0755 $RPM_BUILD_ROOT%{vendorlibbase}/%{rubyxver}/tkextlib/pkg_checker.rb
+chmod 0644 $RPM_BUILD_ROOT%{vendorarchbase}/%{rubyxver}/*/*.h

 find $RPM_BUILD_ROOT/ -name "*.so" -exec chmod 755 {} \;

-%fdupes %{buildroot}%{_datadir}
 %clean
 rm -rf $RPM_BUILD_ROOT

@@ -369,8 +405,6 @@
 %doc %{name}-%{arcver}/README
 %lang(ja) %doc %{name}-%{arcver}/README.ja
 %doc %{name}-%{arcver}/ToDo
-%doc %{name}-%{arcver}/doc/ChangeLog-1.8.0
-%doc %{name}-%{arcver}/doc/NEWS-1.8.0
 %doc tmp-ruby-docs/ruby/*
 %{_bindir}/ruby
 %{_bindir}/erb
@@ -387,8 +421,7 @@
 %doc %{name}-%{arcver}/README.EXT
 %lang(ja) %doc %{name}-%{arcver}/README.EXT.ja
 %{_libdir}/libruby.so
-#%%{_libdir}/libruby-static.a
-%{_libdir}/ruby/%{rubyxver}/*/*.h
+%{vendorarchbase}/%{rubyxver}/*/*.h

 %files static
 %defattr(-, root, root, -)
@@ -403,67 +436,60 @@
 %doc %{name}-%{arcver}/GPL
 %doc %{name}-%{arcver}/LEGAL
 %doc %{name}-%{arcver}/LGPL
-%dir %{_prefix}/lib/ruby
-%dir %{_prefix}/lib/ruby/%{rubyxver}
-%ifnarch ppc64 s390x sparc64 x86_64
-%if "%{_gnu}" == "-gnueabi"
-%dir %{_prefix}/lib/ruby/%{rubyxver}/%{_normalized_cpu}-%{_target_os}-eabi
-%else
-%dir %{_prefix}/lib/ruby/%{rubyxver}/%{_normalized_cpu}-%{_target_os}
-%endif
-%endif
+%doc   tmp-ruby-docs/ruby-libs/*
+%dir   %{vendorlibbase}
+%dir   %{vendorlibbase}/%{rubyxver}
+%{sitelibbase}
 %ifarch ppc64 s390x sparc64 x86_64
-%dir %{_libdir}/ruby
-%dir %{_libdir}/ruby/%{rubyxver}
-%dir %{_libdir}/ruby/%{rubyxver}/%{_normalized_cpu}-%{_target_os}
-%{sitedir}
+%dir   %{vendorarchbase}
+%dir   %{vendorarchbase}/%{rubyxver}
+%{sitearchbase}
 %endif
-%{sitedir2}
 ## the following files should goes into ruby-tcltk package.
-%exclude %{_prefix}/lib/ruby/%{rubyxver}/*tk.rb
-%exclude %{_prefix}/lib/ruby/%{rubyxver}/tcltk.rb
-%exclude %{_prefix}/lib/ruby/%{rubyxver}/tk
-%exclude %{_prefix}/lib/ruby/%{rubyxver}/tk*.rb
-%exclude %{_prefix}/lib/ruby/%{rubyxver}/tkextlib
-%exclude %{_libdir}/ruby/%{rubyxver}/*/tcltklib.so
-%exclude %{_libdir}/ruby/%{rubyxver}/*/tkutil.so
+%exclude       %{vendorlibbase}/%{rubyxver}/*tk.rb
+%exclude       %{vendorlibbase}/%{rubyxver}/tcltk.rb
+%exclude       %{vendorlibbase}/%{rubyxver}/tk
+%exclude       %{vendorlibbase}/%{rubyxver}/tk*.rb
+%exclude       %{vendorlibbase}/%{rubyxver}/tkextlib
+%exclude       %{vendorarchbase}/%{rubyxver}/*/tcltklib.so
+%exclude       %{vendorarchbase}/%{rubyxver}/*/tkutil.so
 ## the following files should goes into ruby-rdoc package.
-%exclude %{_prefix}/lib/ruby/%{rubyxver}/rdoc
+%exclude       %{vendorlibbase}/%{rubyxver}/rdoc
 ## the following files should goes into ruby-irb package.
-%exclude %{_prefix}/lib/ruby/%{rubyxver}/irb.rb
-%exclude %{_prefix}/lib/ruby/%{rubyxver}/irb
+%exclude       %{vendorlibbase}/%{rubyxver}/irb.rb
+%exclude       %{vendorlibbase}/%{rubyxver}/irb
 ## files in ruby-libs from here
-%{_prefix}/lib/ruby/%{rubyxver}/*.rb
-%{_prefix}/lib/ruby/%{rubyxver}/bigdecimal
-%{_prefix}/lib/ruby/%{rubyxver}/cgi
-%{_prefix}/lib/ruby/%{rubyxver}/date
-%{_prefix}/lib/ruby/%{rubyxver}/digest
-%{_prefix}/lib/ruby/%{rubyxver}/dl
-%{_prefix}/lib/ruby/%{rubyxver}/drb
-%{_prefix}/lib/ruby/%{rubyxver}/io
-%{_prefix}/lib/ruby/%{rubyxver}/net
-%{_prefix}/lib/ruby/%{rubyxver}/openssl
-%{_prefix}/lib/ruby/%{rubyxver}/optparse
-%{_prefix}/lib/ruby/%{rubyxver}/racc
-%{_prefix}/lib/ruby/%{rubyxver}/rexml
-%{_prefix}/lib/ruby/%{rubyxver}/rinda
-%{_prefix}/lib/ruby/%{rubyxver}/rss
-%{_prefix}/lib/ruby/%{rubyxver}/runit
-%{_prefix}/lib/ruby/%{rubyxver}/shell
-%{_prefix}/lib/ruby/%{rubyxver}/soap
-%{_prefix}/lib/ruby/%{rubyxver}/test
-%{_prefix}/lib/ruby/%{rubyxver}/uri
-%{_prefix}/lib/ruby/%{rubyxver}/webrick
-%{_prefix}/lib/ruby/%{rubyxver}/wsdl
-%{_prefix}/lib/ruby/%{rubyxver}/xmlrpc
-%{_prefix}/lib/ruby/%{rubyxver}/xsd
-%{_prefix}/lib/ruby/%{rubyxver}/yaml
+%{vendorlibbase}/%{rubyxver}/*.rb
+%{vendorlibbase}/%{rubyxver}/bigdecimal
+%{vendorlibbase}/%{rubyxver}/cgi
+%{vendorlibbase}/%{rubyxver}/date
+%{vendorlibbase}/%{rubyxver}/digest
+%{vendorlibbase}/%{rubyxver}/dl
+%{vendorlibbase}/%{rubyxver}/drb
+%{vendorlibbase}/%{rubyxver}/io
+%{vendorlibbase}/%{rubyxver}/net
+%{vendorlibbase}/%{rubyxver}/openssl
+%{vendorlibbase}/%{rubyxver}/optparse
+%{vendorlibbase}/%{rubyxver}/racc
+%{vendorlibbase}/%{rubyxver}/rexml
+%{vendorlibbase}/%{rubyxver}/rinda
+%{vendorlibbase}/%{rubyxver}/rss
+%{vendorlibbase}/%{rubyxver}/runit
+%{vendorlibbase}/%{rubyxver}/shell
+%{vendorlibbase}/%{rubyxver}/soap
+%{vendorlibbase}/%{rubyxver}/test
+%{vendorlibbase}/%{rubyxver}/uri
+%{vendorlibbase}/%{rubyxver}/webrick
+%{vendorlibbase}/%{rubyxver}/wsdl
+%{vendorlibbase}/%{rubyxver}/xmlrpc
+%{vendorlibbase}/%{rubyxver}/xsd
+%{vendorlibbase}/%{rubyxver}/yaml
 %{_libdir}/libruby.so.*
-%{_libdir}/ruby/%{rubyxver}/*/*.so
-%{_libdir}/ruby/%{rubyxver}/*/digest
-%{_libdir}/ruby/%{rubyxver}/*/io
-%{_libdir}/ruby/%{rubyxver}/*/racc
-%{_libdir}/ruby/%{rubyxver}/*/rbconfig.rb
+%{vendorarchbase}/%{rubyxver}/*/*.so
+%{vendorarchbase}/%{rubyxver}/*/digest
+%{vendorarchbase}/%{rubyxver}/*/io
+%{vendorarchbase}/%{rubyxver}/*/racc
+%{vendorarchbase}/%{rubyxver}/*/rbconfig.rb

 %files tcltk
 %defattr(-, root, root, -)
@@ -472,14 +498,14 @@
 %doc %{name}-%{arcver}/GPL
 %doc %{name}-%{arcver}/LEGAL
 %doc %{name}-%{arcver}/LGPL
-%doc tmp-ruby-docs/ruby-tcltk/ext/*
-%{_prefix}/lib/ruby/%{rubyxver}/*-tk.rb
-%{_prefix}/lib/ruby/%{rubyxver}/tcltk.rb
-%{_prefix}/lib/ruby/%{rubyxver}/tk
-%{_prefix}/lib/ruby/%{rubyxver}/tk*.rb
-%{_prefix}/lib/ruby/%{rubyxver}/tkextlib
-%{_libdir}/ruby/%{rubyxver}/*/tcltklib.so
-%{_libdir}/ruby/%{rubyxver}/*/tkutil.so
+%doc   tmp-ruby-docs/ruby-tcltk/*
+%{vendorlibbase}/%{rubyxver}/*-tk.rb
+%{vendorlibbase}/%{rubyxver}/tcltk.rb
+%{vendorlibbase}/%{rubyxver}/tk
+%{vendorlibbase}/%{rubyxver}/tk*.rb
+%{vendorlibbase}/%{rubyxver}/tkextlib
+%{vendorarchbase}/%{rubyxver}/*/tcltklib.so
+%{vendorarchbase}/%{rubyxver}/*/tkutil.so

 %files rdoc
 %defattr(-, root, root, -)
@@ -489,7 +515,7 @@
 %doc %{name}-%{arcver}/LEGAL
 %doc %{name}-%{arcver}/LGPL
 %{_bindir}/rdoc
-%{_prefix}/lib/ruby/%{rubyxver}/rdoc
+%{vendorlibbase}/%{rubyxver}/rdoc

 %files irb
 %defattr(-, root, root, -)
@@ -500,9 +526,8 @@
 %doc %{name}-%{arcver}/LGPL
 %doc tmp-ruby-docs/irb/*
 %{_bindir}/irb
-%{_prefix}/lib/ruby/%{rubyxver}/irb.rb
-%{_prefix}/lib/ruby/%{rubyxver}/irb
-%{_mandir}/man1/irb.1*
+%{vendorlibbase}/%{rubyxver}/irb.rb
+%{vendorlibbase}/%{rubyxver}/irb

 %files ri
 %defattr(-, root, root, -)

other changes:
--------------

++++++ ruby (new)
--- ruby
+++ ruby
+diff -ur ruby-1.8.6-p287.orig/ext/openssl/openssl_missing.c 
ruby-1.8.6-p287/ext/openssl/openssl_missing.c
+--- ruby-1.8.6-p287.orig/ext/openssl/openssl_missing.c 2007-02-13 
00:01:19.000000000 +0100
++++ ruby-1.8.6-p287/ext/openssl/openssl_missing.c      2009-03-15 
05:32:31.000000000 +0100
+@@ -43,7 +43,7 @@
+ {
+     return CRYPTO_set_ex_data(&str->ex_data, idx, data);
+ }
+-
++
+ void *X509_STORE_get_ex_data(X509_STORE *str, int idx)
+ {
+     return CRYPTO_get_ex_data(&str->ex_data, idx);
+@@ -113,7 +113,7 @@
+ #endif
+
+ #if !defined(HAVE_EVP_CIPHER_CTX_COPY)
+-/*
++/*
+  * this function does not exist in OpenSSL yet... or ever?.
+  * a future version may break this function.
+  * tested on 0.9.7d.
+@@ -182,12 +182,12 @@
+               (ASN1_STRING *)(*a)->serialNumber,
+               (ASN1_STRING *)(*b)->serialNumber));
+ }
+-
++
+ int
+ X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev)
+ {
+     X509_CRL_INFO *inf;
+-
++
+     inf = crl->crl;
+     if (!inf->revoked)
+       inf->revoked = sk_X509_REVOKED_new(OSSL_X509_REVOKED_cmp);
+@@ -233,54 +233,6 @@
+ }
+ #endif
+
+-#if !defined(HAVE_BN_RAND_RANGE) || !defined(HAVE_BN_PSEUDO_RAND_RANGE)
+-static int
+-bn_rand_range(int pseudo, BIGNUM *r, BIGNUM *range)
+-{
+-    int (*bn_rand)(BIGNUM *, int, int, int) = pseudo ? BN_pseudo_rand : 
BN_rand;
+-    int n;
+-
+-    if (range->neg || BN_is_zero(range)) return 0;
+-
+-    n = BN_num_bits(range);
+-
+-    if (n == 1) {
+-      if (!BN_zero(r)) return 0;
+-    } else if (!BN_is_bit_set(range, n - 2) && !BN_is_bit_set(range, n - 3)) {
+-      do {
+-          if (!bn_rand(r, n + 1, -1, 0)) return 0;
+-          if (BN_cmp(r ,range) >= 0) {
+-              if (!BN_sub(r, r, range)) return 0;
+-              if (BN_cmp(r, range) >= 0)
+-                  if (!BN_sub(r, r, range)) return 0;
+-          }
+-      } while (BN_cmp(r, range) >= 0);
+-    } else {
+-      do {
+-          if (!bn_rand(r, n, -1, 0)) return 0;
+-      } while (BN_cmp(r, range) >= 0);
+-    }
+-
+-    return 1;
+-}
+-#endif
+-
+-#if !defined(HAVE_BN_RAND_RANGE)
+-int
+-BN_rand_range(BIGNUM *r, BIGNUM *range)
+-{
+-    return bn_rand_range(0, r, range);
+-}
+-#endif
+-
+-#if !defined(HAVE_BN_PSEUDO_RAND_RANGE)
+-int
+-BN_pseudo_rand_range(BIGNUM *r, BIGNUM *range)
+-{
+-    return bn_rand_range(1, r, range);
+-}
+-#endif
+-
+ #if !defined(HAVE_CONF_GET1_DEFAULT_CONFIG_FILE)
+ #define OPENSSL_CONF "openssl.cnf"
+ char *
+@@ -315,7 +267,7 @@
+ {
+     int i,j;
+     const char *prompt;
+-
++
+     if (key) {
+       i = strlen(key);
+       i = (i > num) ? num : i;

++++++ ruby-1.8.7-lib-paths.patch (new)
--- ruby-1.8.7-lib-paths.patch
+++ ruby-1.8.7-lib-paths.patch
+--- ruby-1.8.7-p249/Makefile.in.orig   2010-06-15 17:51:14.000000000 -0400
++++ ruby-1.8.7-p249/Makefile.in        2010-06-15 17:56:54.000000000 -0400
+@@ -24,6 +24,9 @@ datadir = @datadir@
+ arch = @arch@
+ sitearch = @sitearch@
+ sitedir = @sitedir@
++sitearchdir = @sitearchdir@
++vendordir = @vendordir@
++vendorarchdir = @vendorarchdir@
+
+ TESTUI = console
+ TESTS =
+--- ruby-1.8.7-p249/mkconfig.rb.orig2  2010-06-15 18:19:29.000000000 -0400
++++ ruby-1.8.7-p249/mkconfig.rb        2010-06-15 18:19:33.000000000 -0400
+@@ -141,12 +141,12 @@ print(*v_fast)
+ print(*v_others)
+ print <<EOS
+   CONFIG["ruby_version"] = "$(MAJOR).$(MINOR)"
+-  CONFIG["rubylibdir"] = "$(libdir)/ruby/$(ruby_version)"
+-  CONFIG["archdir"] = "$(rubylibdir)/$(arch)"
+-  CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)"
+-  CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)"
+-  CONFIG["vendorlibdir"] = "$(vendordir)/$(ruby_version)"
+-  CONFIG["vendorarchdir"] = "$(vendorlibdir)/$(sitearch)"
++  CONFIG["rubylibdir"]    = "$(vendordir)/$(ruby_version)"
++  CONFIG["archdir"]       = "$(libdir)/ruby/$(ruby_version)/$(sitearch)"
++  CONFIG["sitelibdir"]    = "$(sitedir)/$(ruby_version)"
++  CONFIG["sitearchdir"]   = 
"$(libdir)/ruby/site_ruby/$(ruby_version)/$(sitearch)"
++  CONFIG["vendorlibdir"]  = "$(vendordir)/$(ruby_version)"
++  CONFIG["vendorarchdir"] = "$(libdir)/ruby/$(ruby_version)/$(sitearch)"
+   CONFIG["topdir"] = File.dirname(__FILE__)
+   MAKEFILE_CONFIG = {}
+   CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup}
+--- ruby-1.8.7-p249/ruby.c.orig        2010-06-15 18:22:52.000000000 -0400
++++ ruby-1.8.7-p249/ruby.c     2010-06-23 14:05:54.000000000 -0400
+@@ -316,24 +316,27 @@ ruby_init_loadpath()
+ #endif
+
+     incpush(RUBY_RELATIVE(RUBY_SITE_LIB2));
+-#ifdef RUBY_SITE_THIN_ARCHLIB
+-    incpush(RUBY_RELATIVE(RUBY_SITE_THIN_ARCHLIB));
+-#endif
+-    incpush(RUBY_RELATIVE(RUBY_SITE_ARCHLIB));
+-    incpush(RUBY_RELATIVE(RUBY_SITE_LIB));
+-
++    incpush(RUBY_RELATIVE(RUBY_SITE_ARCH2));
++    incpush(RUBY_RELATIVE(RUBY_SITE_ARCH3));
++    incpush(RUBY_RELATIVE(RUBY_SITE_LIB3));
++    incpush(RUBY_RELATIVE(RUBY_SITE_ARCH4));
++    incpush(RUBY_RELATIVE(RUBY_ALT_SITE_ARCH));
++    incpush(RUBY_RELATIVE(RUBY_ALT_SITE_ARCH2));
++    incpush(RUBY_RELATIVE(RUBY_ALT_SITE_ARCH3));
+     incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB2));
+-#ifdef RUBY_VENDOR_THIN_ARCHLIB
+-    incpush(RUBY_RELATIVE(RUBY_VENDOR_THIN_ARCHLIB));
+-#endif
+-    incpush(RUBY_RELATIVE(RUBY_VENDOR_ARCHLIB));
+-    incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB));
++    incpush(RUBY_RELATIVE(RUBY_VENDOR_ARCH2));
++    incpush(RUBY_RELATIVE(RUBY_VENDOR_ARCH3));
++
++    // uncomment the following when we want to support parallel
++    // installable ruby stacks
++    //incpush(RUBY_RELATIVE(RUBY_SITE_ARCH));
++    //incpush(RUBY_RELATIVE(RUBY_SITE_LIB));
++
++    //incpush(RUBY_RELATIVE(RUBY_VENDOR_ARCH));
++    //incpush(RUBY_RELATIVE(RUBY_VENDOR_ARCH4));
++    //incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB));
++    //incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB3));
+
+-    incpush(RUBY_RELATIVE(RUBY_LIB));
+-#ifdef RUBY_THIN_ARCHLIB
+-    incpush(RUBY_RELATIVE(RUBY_THIN_ARCHLIB));
+-#endif
+-    incpush(RUBY_RELATIVE(RUBY_ARCHLIB));
+
+     if (rb_safe_level() == 0) {
+       incpush(".");
+--- ruby-1.8.7-p299/configure.in.orig2 2010-06-24 16:10:40.000000000 -0400
++++ ruby-1.8.7-p299/configure.in       2010-06-24 16:16:33.000000000 -0400
+@@ -58,6 +58,9 @@ fi
+ if test "$TEENY" = ""; then
+   AC_MSG_ERROR(could not determine TEENY number from version.h)
+ fi
++rb_mm_version="${MAJOR}.${MINOR}"
++ruby_version="${MAJOR}.${MINOR}.${TEENY}"
++ruby_mm_version="${rb_mm_version}"
+ AC_SUBST(MAJOR)
+ AC_SUBST(MINOR)
+ AC_SUBST(TEENY)
+@@ -1759,6 +1762,12 @@ AC_ARG_WITH(sitedir,
+             [sitedir='${libdir}/ruby/site_ruby'])
+ SITE_DIR=`eval echo \\"${sitedir}\\"`
+
++AC_ARG_WITH(sitearchdir,
++     [  --with-sitearchdir=DIR      site arch. libraries in DIR 
[[LIBDIR/ruby/site_ruby]]],
++            [sitearchdir=$withval],
++            [sitearchdir='${libdir}/${RUBY_INSTALL_NAME}/site_ruby'])
++SITE_ARCH_DIR=`eval echo \\"${sitearchdir}\\"`
++
+ case "$target_os" in
+   cygwin*|mingw*|*djgpp*|os2-emx*)
+     RUBY_LIB_PREFIX="`eval echo "$RUBY_LIB_PREFIX" | sed 
's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
+@@ -1770,50 +1779,45 @@ case "$target_os" in
+     ;;
+ esac
+ RUBY_LIB_PATH="${RUBY_LIB_PREFIX}/${MAJOR}.${MINOR}"
+-RUBY_SITE_LIB_PATH2="${RUBY_SITE_LIB_PATH}/${MAJOR}.${MINOR}"
+
+ AC_DEFINE_UNQUOTED(RUBY_LIB, "${RUBY_LIB_PATH}")
+-AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, "${RUBY_SITE_LIB_PATH}")
+-AC_DEFINE_UNQUOTED(RUBY_SITE_LIB2, "${RUBY_SITE_LIB_PATH2}")
+
+ AC_ARG_WITH(vendordir,
+           [  --with-vendordir=DIR    vendor libraries in DIR 
[[LIBDIR/ruby/vendor_ruby]]],
+             [vendordir=$withval],
+             [vendordir='${libdir}/ruby/vendor_ruby'])
+ VENDOR_DIR=`eval echo \\"${vendordir}\\"`
++
++AC_ARG_WITH(vendorarchdir,
++     [  --with-vendorarchdir=DIR    vendor arch. libraries in DIR 
[[LIBDIR/ruby/vendor_ruby]]],
++            [vendorarchdir=$withval],
++            [vendorarchdir='${libdir}/${RUBY_INSTALL_NAME}/vendor_ruby'])
++VENDOR_ARCH_DIR=`eval echo \\"${vendorarchdir}\\"`
++
+ case "$target_os" in
+   cygwin*|mingw*|*djgpp*|os2-emx*)
+     RUBY_VENDOR_LIB_PATH="`eval echo "$VENDOR_DIR" | sed 
's|^NONE/|/|;s|^'"$prefix"'/|/|'`"
+     ;;
+   *)
++    RUBY_SITE_ARCH_PATH="`eval echo \\"$SITE_ARCH_DIR\\" | sed 
's|^NONE/|'"$prefix"'/|'`"
+     RUBY_VENDOR_LIB_PATH="`eval echo \\"$VENDOR_DIR\\" | sed 
's|^NONE/|'"$prefix"'/|'`"
++    RUBY_VENDOR_ARCH_PATH="`eval echo \\"$VENDOR_ARCH_DIR\\" | sed 
's|^NONE/|'"$prefix"'/|'`"
+     ;;
+ esac
+ RUBY_VENDOR_LIB_PATH2="${RUBY_VENDOR_LIB_PATH}/${MAJOR}.${MINOR}"
+
+-AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB, "${RUBY_VENDOR_LIB_PATH}")
+-AC_DEFINE_UNQUOTED(RUBY_VENDOR_LIB2, "${RUBY_VENDOR_LIB_PATH2}")
+-
+-AC_SUBST(arch)dnl
+-AC_SUBST(sitearch)dnl
+-AC_SUBST(sitedir)dnl
+-AC_SUBST(vendordir)dnl
+-
+-configure_args=$ac_configure_args
+-AC_SUBST(configure_args)dnl
+-
+ target_cpu=`echo $target_cpu | sed s/i.86/i386/`
+
+ if test "$fat_binary" != no ; then
+     arch="fat-${target_os}"
+
+     AC_DEFINE_UNQUOTED(RUBY_THIN_ARCHLIB,
+-                 "${RUBY_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}")
++                      "${RUBY_LIB_PATH}")
+
+     AC_DEFINE_UNQUOTED(RUBY_SITE_THIN_ARCHLIB,
+-                 "${RUBY_SITE_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}")
++                       "${RUBY_SITE_LIB_PATH}")
+     AC_DEFINE_UNQUOTED(RUBY_VENDOR_THIN_ARCHLIB,
+-                 "${RUBY_VENDOR_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}")
++                       "${RUBY_VENDOR_LIB_PATH}")
+     AC_DEFINE_UNQUOTED(RUBY_PLATFORM, __ARCHITECTURE__ "-${target_os}")
+ else
+     arch="${target_cpu}-${target_os}"
+@@ -1825,9 +1829,57 @@ case "$target_os" in
+   *) sitearch="${arch}" ;;
+ esac
+
+-AC_DEFINE_UNQUOTED(RUBY_ARCHLIB, "${RUBY_LIB_PATH}/${arch}")
+-AC_DEFINE_UNQUOTED(RUBY_SITE_ARCHLIB, "${RUBY_SITE_LIB_PATH2}/${sitearch}")
+-AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCHLIB, 
"${RUBY_VENDOR_LIB_PATH2}/${sitearch}")
++RUBY_SITE_ARCH_PATH_1="${RUBY_SITE_ARCH_PATH}/${ruby_version}"
++RUBY_SITE_ARCH_PATH_2="${RUBY_SITE_ARCH_PATH}/${ruby_mm_version}"
++RUBY_SITE_ARCH_PATH_3="${RUBY_SITE_ARCH_PATH}/${ruby_mm_version}/${sitearch}"
++RUBY_SITE_ARCH_PATH_4="${RUBY_SITE_ARCH_PATH}"
++RUBY_SITE_LIB_PATH_1="${RUBY_SITE_LIB_PATH}/${ruby_version}"
++RUBY_SITE_LIB_PATH_2="${RUBY_SITE_LIB_PATH}/${ruby_mm_version}"
++RUBY_SITE_LIB_PATH_3="${RUBY_SITE_LIB_PATH}"
++RUBY_VENDOR_ARCH_PATH_1="${RUBY_VENDOR_ARCH_PATH}/${ruby_version}"
++RUBY_VENDOR_ARCH_PATH_2="${RUBY_VENDOR_ARCH_PATH}/${ruby_mm_version}"
++RUBY_VENDOR_ARCH_PATH_3="${RUBY_VENDOR_ARCH_PATH}/${ruby_mm_version}/${sitearch}"
++RUBY_VENDOR_ARCH_PATH_4="${RUBY_VENDOR_ARCH_PATH}"
++RUBY_VENDOR_LIB_PATH_1="${RUBY_VENDOR_LIB_PATH}/${ruby_version}"
++RUBY_VENDOR_LIB_PATH_2="${RUBY_VENDOR_LIB_PATH}/${ruby_mm_version}"
++RUBY_VENDOR_LIB_PATH_3="${RUBY_VENDOR_LIB_PATH}"
++
++AC_DEFINE_UNQUOTED(RUBY_SITE_ARCH, "${RUBY_SITE_ARCH_PATH_1}")
++AC_DEFINE_UNQUOTED(RUBY_SITE_ARCH2, "${RUBY_SITE_ARCH_PATH_2}")
++AC_DEFINE_UNQUOTED(RUBY_SITE_ARCH3, "${RUBY_SITE_ARCH_PATH_3}")
++AC_DEFINE_UNQUOTED(RUBY_SITE_ARCH4, "${RUBY_SITE_ARCH_PATH_4}")
++AC_DEFINE_UNQUOTED(RUBY_SITE_LIB, "${RUBY_SITE_LIB_PATH_1}")
++AC_DEFINE_UNQUOTED(RUBY_SITE_LIB2, "${RUBY_SITE_LIB_PATH_2}")
++AC_DEFINE_UNQUOTED(RUBY_SITE_LIB3, "${RUBY_SITE_LIB_PATH_3}")
++AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCH, "${RUBY_VENDOR_ARCH_PATH_1}")
++AC_DEFINE_UNQUOTED(RUBY_VENDOR_ARCH2, "${RUBY_VENDOR_ARCH_PATH_2}")
(30 more lines skipped)

++++++ ruby-1.8.7-multilib.patch (new)
--- ruby-1.8.7-multilib.patch
+++ ruby-1.8.7-multilib.patch
+diff -ruN ruby-1.8.7-p302.orig/mkconfig.rb ruby-1.8.7-p302/mkconfig.rb
+--- ruby-1.8.7-p302.orig/mkconfig.rb   2010-09-13 09:20:25.344044068 +0300
++++ ruby-1.8.7-p302/mkconfig.rb        2010-09-13 10:02:25.819045918 +0300
+@@ -102,7 +102,7 @@
+
+ drive = File::PATH_SEPARATOR == ';'
+
+-prefix = '/lib/ruby/' + RUBY_VERSION.sub(/\.\d+$/, '') + '/' + RUBY_PLATFORM
++prefix = '/lib64/ruby/' + RUBY_VERSION.sub(/\.\d+$/, '') + '/' + RUBY_PLATFORM
+ print "  TOPDIR = File.dirname(__FILE__).chomp!(#{prefix.dump})\n"
+ print "  DESTDIR = ", (drive ? "TOPDIR && TOPDIR[/\\A[a-z]:/i] || " : ""), 
"'' unless defined? DESTDIR\n"
+ print "  CONFIG = {}\n"

++++++ ruby-1.8.7-p302-mkmf-use-shared.patch (new)
--- ruby-1.8.7-p302-mkmf-use-shared.patch
+++ ruby-1.8.7-p302-mkmf-use-shared.patch
+--- ruby-1.8.6-p383/lib/mkmf.rb.static 2009-03-31 18:19:39.000000000 +0900
++++ ruby-1.8.6-p383/lib/mkmf.rb        2009-12-09 15:03:19.000000000 +0900
+@@ -275,7 +275,7 @@
+                               'LDFLAGS' => "#$LDFLAGS #{ldflags}",
+                               'LIBPATH' => libpathflag(libpath),
+                               'LOCAL_LIBS' => "#$LOCAL_LIBS #$libs",
+-                              'LIBS' => "#$LIBRUBYARG_STATIC #{opt} #$LIBS")
++                              'LIBS' => "#$LIBRUBYARG_SHARED #{opt} #$LIBS")
+   Config::expand(TRY_LINK.dup, conf)
+ end
+

++++++ ruby-1.8.6-p399.tar.bz2 -> ruby-1.8.7-p302.tar.bz2
854679 lines of diff (skipped)

++++++ ruby-always-use-i386.patch
--- ruby-always-use-i386.patch
+++ ruby-always-use-i386.patch
@@ -1,6 +1,6 @@
---- ruby-1.8.6-p287/configure.in.i386  2009-03-16 00:55:15.000000000 +0900
-+++ ruby-1.8.6-p287/configure.in       2009-03-16 01:42:41.000000000 +0900
-@@ -1662,6 +1662,8 @@
+--- configure.in.i386  2010-09-13 09:21:57.199044769 +0300
++++ configure.in       2010-09-13 09:22:49.779047955 +0300
+@@ -1802,6 +1802,8 @@
  configure_args=$ac_configure_args
  AC_SUBST(configure_args)dnl


++++++ deleted files:
--- ruby-1.8.6-p287-remove-ssl-rand-range.patch
--- ruby-1.8.6-p369-ri-gem_multipath.patch
--- ruby-1.8.6-p383-mkmf-use-shared.patch
--- ruby-1.8.6-p383-rubyprefix.patch
--- ruby-1.8.6-rexml-CVE-2008-3790.patch
--- ruby-1.8head-irb-save-history.patch
--- ruby-deadcode.patch
--- ruby-deprecated-search-path.patch
--- ruby-deprecated-sitelib-search-path.patch
--- ruby-multilib.patch
--- ruby-openssl-1.0.patch

_______________________________________________
Meego-commits mailing list
[email protected]
http://lists.meego.com/listinfo/meego-commits

_______________________________________________
MeeGo-packaging mailing list
[email protected]
http://lists.meego.com/listinfo/meego-packaging

Reply via email to