Compare commits

...
Sign in to create a new pull request.

11 commits

Author SHA1 Message Date
Fedora Release Engineering
19866628ca dist-git conversion 2010-07-29 11:43:48 +00:00
Akira TAGOH
c6bb48676e *** empty log message *** 2008-03-10 07:42:46 +00:00
Akira TAGOH
560624320b - Security fix for CVE-2008-1145.
- Improve a spec file. (#226381)
- Correct License tag.
- Fix a timestamp issue.
- Own a arch-specific directory.
2008-03-10 07:42:02 +00:00
Akira TAGOH
6e38a4a662 - New upstream release.
- ruby-1.8.6.111-CVE-2007-5162.patch: Update a bit with backporting the
    changes at trunk to enable the fix without any modifications on the
    users' scripts. Note that Net::HTTP#enable_post_connection_check isn't
    available anymore. If you want to disable this post-check, you should
    give OpenSSL::SSL::VERIFY_NONE to Net::HTTP#verify_mode= instead of.
2007-10-29 13:08:37 +00:00
Akira TAGOH
aea82d7668 - Enable pthread support for ppc too. (#201452)
- Fix unexpected dependencies appears in ruby-libs. (#253325)
2007-10-15 11:55:29 +00:00
Akira TAGOH
1bc9eed0b5 - New upstream release.
- ruby-r12567.patch: removed.
- ruby-1.8.6-CVE-2007-5162.patch: security fix for Net::HTTP that is
    insufficient verification of SSL certificate. (#313791)
2007-10-04 14:09:49 +00:00
Akira TAGOH
723b61b84f - ruby-r12567.patch: backport patch from upstream svn to get rid of the
unnecessary declarations. (#245446)
2007-06-25 03:49:13 +00:00
Akira TAGOH
d1003a04b7 *** empty log message *** 2007-06-20 14:21:04 +00:00
Akira TAGOH
92b1e7511f doh. typo 2007-06-20 14:19:36 +00:00
Akira TAGOH
af3cac47ab - New upstream release.
- Fix Etc::getgrgid to get the correct gid as requested. (#236647)
2007-06-20 13:19:22 +00:00
Bill Nottingham
6879b1363a Initialize branch F-7 for ruby 2007-05-18 09:37:42 +00:00
8 changed files with 423 additions and 199 deletions

View file

@ -13,3 +13,6 @@ ruby-1.8.5.tar.gz
ruby-1.8.5-p2.tar.gz
ruby-1.8.5-p12.tar.gz
ruby-1.8.6.tar.bz2
ruby-1.8.6-p36.tar.bz2
ruby-1.8.6-p110.tar.bz2
ruby-1.8.6-p111.tar.bz2

View file

@ -1,6 +0,0 @@
# Makefile for source rpm: ruby
# $Id$
NAME := ruby
SPECFILE = $(firstword $(wildcard *.spec))
include ../common/Makefile.common

View file

@ -0,0 +1,97 @@
diff -pruN ruby-1.8.6-p111.orig/ext/openssl/lib/net/ftptls.rb ruby-1.8.6-p111/ext/openssl/lib/net/ftptls.rb
--- ruby-1.8.6-p111.orig/ext/openssl/lib/net/ftptls.rb 2007-02-13 08:01:19.000000000 +0900
+++ ruby-1.8.6-p111/ext/openssl/lib/net/ftptls.rb 2007-10-29 21:10:24.000000000 +0900
@@ -29,13 +29,23 @@ require 'net/ftp'
module Net
class FTPTLS < FTP
+ def connect(host, port=FTP_PORT)
+ @hostname = host
+ super
+ end
+
def login(user = "anonymous", passwd = nil, acct = nil)
+ store = OpenSSL::X509::Store.new
+ store.set_default_paths
ctx = OpenSSL::SSL::SSLContext.new('SSLv23')
+ ctx.cert_store = store
+ ctx.verify_mode = OpenSSL::SSL::VERIFY_PEER
ctx.key = nil
ctx.cert = nil
voidcmd("AUTH TLS")
@sock = OpenSSL::SSL::SSLSocket.new(@sock, ctx)
@sock.connect
+ @sock.post_connection_check(@hostname)
super(user, passwd, acct)
voidcmd("PBSZ 0")
end
diff -pruN ruby-1.8.6-p111.orig/ext/openssl/lib/net/telnets.rb ruby-1.8.6-p111/ext/openssl/lib/net/telnets.rb
--- ruby-1.8.6-p111.orig/ext/openssl/lib/net/telnets.rb 2007-02-13 08:01:19.000000000 +0900
+++ ruby-1.8.6-p111/ext/openssl/lib/net/telnets.rb 2007-10-29 21:13:03.000000000 +0900
@@ -134,6 +134,9 @@ module Net
@sock.verify_callback = @options['VerifyCallback']
@sock.verify_depth = @options['VerifyDepth']
@sock.connect
+ if @options['VerifyMode'] != OpenSSL::SSL::VERIFY_NONE
+ @sock.post_connection_check(@options['Host'])
+ end
@ssl = true
end
''
diff -pruN ruby-1.8.6-p111.orig/lib/net/http.rb ruby-1.8.6-p111/lib/net/http.rb
--- ruby-1.8.6-p111.orig/lib/net/http.rb 2007-09-24 17:12:24.000000000 +0900
+++ ruby-1.8.6-p111/lib/net/http.rb 2007-10-29 21:12:12.000000000 +0900
@@ -470,7 +470,6 @@ module Net #:nodoc:
@debug_output = nil
@use_ssl = false
@ssl_context = nil
- @enable_post_connection_check = false
end
def inspect
@@ -527,9 +526,6 @@ module Net #:nodoc:
false # redefined in net/https
end
- # specify enabling SSL server certificate and hostname checking.
- attr_accessor :enable_post_connection_check
-
# Opens TCP connection and HTTP session.
#
# When this method is called with block, gives a HTTP object
@@ -589,12 +585,7 @@ module Net #:nodoc:
end
s.connect
if @ssl_context.verify_mode != OpenSSL::SSL::VERIFY_NONE
- begin
- s.post_connection_check(@address)
- rescue OpenSSL::SSL::SSLError => ex
- raise ex if @enable_post_connection_check
- warn ex.message
- end
+ s.post_connection_check(@address)
end
end
on_connect
diff -pruN ruby-1.8.6-p111.orig/lib/net/imap.rb ruby-1.8.6-p111/lib/net/imap.rb
--- ruby-1.8.6-p111.orig/lib/net/imap.rb 2007-08-22 08:28:09.000000000 +0900
+++ ruby-1.8.6-p111/lib/net/imap.rb 2007-10-29 21:14:38.000000000 +0900
@@ -900,6 +900,7 @@ module Net
end
@sock = SSLSocket.new(@sock, context)
@sock.connect # start ssl session.
+ @sock.post_connection_check(@host) if verify
else
@usessl = false
end
diff -pruN ruby-1.8.6-p111.orig/lib/open-uri.rb ruby-1.8.6-p111/lib/open-uri.rb
--- ruby-1.8.6-p111.orig/lib/open-uri.rb 2007-09-24 17:12:24.000000000 +0900
+++ ruby-1.8.6-p111/lib/open-uri.rb 2007-10-29 21:16:03.000000000 +0900
@@ -229,7 +229,6 @@ module OpenURI
if target.class == URI::HTTPS
require 'net/https'
http.use_ssl = true
- http.enable_post_connection_check = true
http.verify_mode = OpenSSL::SSL::VERIFY_PEER
store = OpenSSL::X509::Store.new
store.set_default_paths

View file

@ -0,0 +1,16 @@
diff -pruN ruby-1.8.6-p111.orig/ext/socket/socket.c ruby-1.8.6-p111/ext/socket/socket.c
--- ruby-1.8.6-p111.orig/ext/socket/socket.c 2007-05-23 00:08:43.000000000 +0900
+++ ruby-1.8.6-p111/ext/socket/socket.c 2008-02-19 11:24:22.000000000 +0900
@@ -893,10 +893,10 @@ port_str(port, pbuf, len)
}
#ifndef NI_MAXHOST
-# define 1025
+# define NI_MAXHOST 1025
#endif
#ifndef NI_MAXSERV
-# define 32
+# define NI_MAXSERV 32
#endif
static struct addrinfo*

View file

@ -24,28 +24,28 @@ diff -ruN ruby-1.8.4.orig/ruby.c ruby-1.8.4/ruby.c
@@ -292,11 +292,17 @@
#endif
ruby_incpush(RUBY_RELATIVE(RUBY_SITE_LIB2));
incpush(RUBY_RELATIVE(RUBY_SITE_LIB2));
+#ifdef RUBY_DEPRECATED_SITE_LIB
+ ruby_incpush(RUBY_RELATIVE(RUBY_DEPRECATED_SITE_LIB2));
+ incpush(RUBY_RELATIVE(RUBY_DEPRECATED_SITE_LIB2));
+#endif
#ifdef RUBY_SITE_THIN_ARCHLIB
ruby_incpush(RUBY_RELATIVE(RUBY_SITE_THIN_ARCHLIB));
incpush(RUBY_RELATIVE(RUBY_SITE_THIN_ARCHLIB));
#endif
ruby_incpush(RUBY_RELATIVE(RUBY_SITE_ARCHLIB));
ruby_incpush(RUBY_RELATIVE(RUBY_SITE_LIB));
incpush(RUBY_RELATIVE(RUBY_SITE_ARCHLIB));
incpush(RUBY_RELATIVE(RUBY_SITE_LIB));
+#ifdef RUBY_DEPRECATED_SITE_LIB
+ ruby_incpush(RUBY_RELATIVE(RUBY_DEPRECATED_SITE_LIB));
+ incpush(RUBY_RELATIVE(RUBY_DEPRECATED_SITE_LIB));
+#endif
#ifdef RUBY_DEPRECATED_OLD_SITE_LIB2
ruby_incpush(RUBY_RELATIVE(RUBY_DEPRECATED_OLD_SITE_LIB2));
incpush(RUBY_RELATIVE(RUBY_DEPRECATED_OLD_SITE_LIB2));
#endif
@@ -308,6 +314,9 @@
#endif
ruby_incpush(RUBY_RELATIVE(RUBY_LIB));
incpush(RUBY_RELATIVE(RUBY_LIB));
+#ifdef RUBY_DEPRECATED_LIB
+ ruby_incpush(RUBY_RELATIVE(RUBY_DEPRECATED_LIB));
+ incpush(RUBY_RELATIVE(RUBY_DEPRECATED_LIB));
+#endif
#ifdef RUBY_THIN_ARCHLIB
ruby_incpush(RUBY_RELATIVE(RUBY_THIN_ARCHLIB));
incpush(RUBY_RELATIVE(RUBY_THIN_ARCHLIB));
#endif

View file

@ -23,17 +23,17 @@ diff -ruN ruby-1.8.4.orig/ruby.c ruby-1.8.4/ruby.c
+++ ruby-1.8.4/ruby.c 2006-06-07 15:56:14.000000000 +0900
@@ -297,6 +297,15 @@
#endif
ruby_incpush(RUBY_RELATIVE(RUBY_SITE_ARCHLIB));
ruby_incpush(RUBY_RELATIVE(RUBY_SITE_LIB));
incpush(RUBY_RELATIVE(RUBY_SITE_ARCHLIB));
incpush(RUBY_RELATIVE(RUBY_SITE_LIB));
+#ifdef RUBY_DEPRECATED_OLD_SITE_LIB2
+ ruby_incpush(RUBY_RELATIVE(RUBY_DEPRECATED_OLD_SITE_LIB2));
+ incpush(RUBY_RELATIVE(RUBY_DEPRECATED_OLD_SITE_LIB2));
+#endif
+#ifdef RUBY_DEPRECATED_OLD_SITE_ARCHLIB
+ ruby_incpush(RUBY_RELATIVE(RUBY_DEPRECATED_OLD_SITE_ARCHLIB));
+ incpush(RUBY_RELATIVE(RUBY_DEPRECATED_OLD_SITE_ARCHLIB));
+#endif
+#ifdef RUBY_DEPRECATED_OLD_SITE_LIB
+ ruby_incpush(RUBY_RELATIVE(RUBY_DEPRECATED_OLD_SITE_LIB));
+ incpush(RUBY_RELATIVE(RUBY_DEPRECATED_OLD_SITE_LIB));
+#endif
ruby_incpush(RUBY_RELATIVE(RUBY_LIB));
incpush(RUBY_RELATIVE(RUBY_LIB));
#ifdef RUBY_THIN_ARCHLIB

462
ruby.spec
View file

@ -1,18 +1,19 @@
%define manver 1.4.6
%define rubyxver 1.8
%define rubyver 1.8.6
#%%define _patchlevel 12
%define _patchlevel 114
%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/'`)
Name: ruby
Version: %{rubyver}%{?dotpatchlevel}
Release: 2%{?dist}
License: Ruby License/GPL - see COPYING
Release: 1%{?dist}
License: Ruby or GPLv2
URL: http://www.ruby-lang.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: readline readline-devel ncurses ncurses-devel gdbm gdbm-devel glibc-devel tcl-devel tk-devel libX11-devel autoconf gcc unzip openssl-devel db4-devel byacc
@ -20,15 +21,13 @@ BuildRequires: readline readline-devel ncurses ncurses-devel gdbm gdbm-devel gli
BuildRequires: emacs
%endif
Source0: ftp://ftp.ruby-lang.org/pub/%{name}/%{name}-%{rubyver}%{?patchlevel}.tar.bz2
##Source1: ftp://ftp.ruby-lang.org/pub/%{name}/doc/%{name}-man-%{manver}.tar.gz
Source1: %{name}-man-%{manver}.tar.bz2
Source2: http://www7.tok2.com/home/misc/files/%{name}/%{name}-refm-rdp-1.8.1-ja-html.tar.gz
##Source3: ftp://ftp.ruby-lang.org/pub/%{name}/doc/rubyfaq-990927.tar.gz
Source3: rubyfaq-990927.tar.bz2
##Source4: ftp://ftp.ruby-lang.org/pub/%{name}/doc/rubyfaq-jp-990927.tar.gz
Source4: rubyfaq-jp-990927.tar.bz2
Source5: irb.1
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
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
@ -36,6 +35,8 @@ Patch20: ruby-rubyprefix.patch
Patch21: ruby-deprecated-sitelib-search-path.patch
Patch22: ruby-deprecated-search-path.patch
Patch23: ruby-multilib.patch
Patch24: ruby-1.8.6.111-CVE-2007-5162.patch
Patch25: ruby-1.8.6.111-gcc43.patch
Summary: An interpreter of object-oriented scripting language
Group: Development/Languages
@ -63,6 +64,7 @@ This package includes the libruby, necessary to run Ruby.
Summary: A Ruby development environment
Group: Development/Languages
Requires: %{name}-libs = %{version}-%{release}
Provides: %{name}-libs-static = %{version}-%{release}
%description devel
Header files and libraries for building a extension library for the
@ -93,7 +95,8 @@ from the terminal.
%package rdoc
Summary: A tool to generate documentation from Ruby source files
Group: Development/Languages
Requires: %{name} = %{version}-%{release}
## ruby-irb requires ruby
#Requires: %{name} = %{version}-%{release}
Requires: %{name}-irb = %{version}-%{release}
Provides: rdoc = %{version}-%{release}
Obsoletes: rdoc <= %{version}-%{release}
@ -126,7 +129,8 @@ Emacs Lisp ruby-mode for the object-oriented scripting language Ruby.
%package ri
Summary: Ruby interactive reference
Group: Documentation
Requires: %{name} = %{version}-%{release}
## ruby-irb requires ruby, which ruby-rdoc requires
#Requires: %{name} = %{version}-%{release}
Requires: %{name}-rdoc = %{version}-%{release}
Provides: ri = %{version}-%{release}
Obsoletes: ri <= %{version}-%{release}
@ -139,12 +143,12 @@ along with a list of the methods the class or module implements.
%prep
%setup -q -c -a 1 -a 3 -a 4
%setup -q -c -a 2 -a 3
mkdir -p ruby-refm-ja
pushd ruby-refm-ja
tar fxz %{SOURCE2}
tar fxz %{SOURCE1}
popd
pushd %{name}-%{rubyver}%{?patchlevel}
pushd %{name}-%{arcver}
%patch1 -p1
%patch20 -p1
%patch21 -p1
@ -152,10 +156,12 @@ pushd %{name}-%{rubyver}%{?patchlevel}
%patch22 -p1
%patch23 -p1
%endif
%patch24 -p1
%patch25 -p1
popd
%build
pushd %{name}-%{rubyver}%{?patchlevel}
pushd %{name}-%{arcver}
for i in config.sub config.guess; do
test -f %{_datadir}/libtool/$i && cp %{_datadir}/libtool/$i .
done
@ -173,20 +179,12 @@ export CFLAGS
--with-bundled-rmd160 \
--enable-shared \
--enable-ipv6 \
%ifarch ppc
--disable-pthread \
%else
--enable-pthread \
%endif
--with-lookup-order-hack=INET \
--disable-rpath \
--with-ruby-prefix=%{_prefix}/lib
%ifarch ppc
cp Makefile Makefile.orig
sed -e 's/^EXTMK_ARGS[[:space:]].*=\(.*\) --$/EXTMK_ARGS=\1 --disable-tcl-thread --/' Makefile.orig > Makefile
%endif
make RUBY_INSTALL_NAME=ruby %{?_smp_mflags}
make RUBY_INSTALL_NAME=ruby %{?_smp_mflags} COPY="cp -p" %{?_smp_mflags}
%ifarch ia64
# Miscompilation? Buggy code?
rm -f parse.o
@ -196,7 +194,7 @@ make OPT=-O0 RUBY_INSTALL_NAME=ruby %{?_smp_mflags}
popd
%check
pushd %{name}-%{rubyver}%{?patchlevel}
pushd %{name}-%{arcver}
%ifnarch ppc64
make test
%endif
@ -206,32 +204,31 @@ popd
rm -rf $RPM_BUILD_ROOT
%ifnarch ppc64
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/ruby-mode
%{__mkdir_p} $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
#%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/xemacs/xemacs-packages/lisp/ruby-mode
#%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/xemacs/xemacs-packages/lisp/site-start.d
mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/ruby-mode
mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
%endif
# installing documents and exapmles...
rm -rf tmp-ruby-docs
mkdir tmp-ruby-docs
cd tmp-ruby-docs
# for ruby.rpm
mkdir ruby ruby-libs ruby-devel ruby-tcltk ruby-docs irb
cd ruby
(cd ../../%{name}-%{rubyver}%{?patchlevel} && tar cf - sample) | tar xvf -
(cd ../../%{name}-%{arcver} && tar cf - sample) | tar xvf -
cd ..
# for ruby-libs
cd ruby-libs
(cd ../../%{name}-%{rubyver}%{?patchlevel} && tar cf - lib/README*) | tar xvf -
(cd ../../%{name}-%{rubyver}%{?patchlevel}/doc && tar cf - .) | tar xvf -
(cd ../../%{name}-%{rubyver}%{?patchlevel} &&
(cd ../../%{name}-%{arcver} && tar cf - lib/README*) | tar xf -
(cd ../../%{name}-%{arcver}/doc && tar cf - .) | tar xf -
(cd ../../%{name}-%{arcver} &&
tar cf - `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 xvf -
\( -name 'README*' -o -name '*.txt*' -o -name 'MANUAL*' \)`) | tar xf -
cd ..
# for irb
@ -250,7 +247,7 @@ cd ruby-tcltk
for target in tcltklib tk
do
(cd ../ruby-libs &&
tar cf - `find . -path "*/$target/*"`) | tar xvf -
tar cf - `find . -path "*/$target/*"`) | tar xf -
(cd ../ruby-libs &&
rm -rf `find . -name "$target" -type d`)
done
@ -258,11 +255,10 @@ cd ..
# for ruby-docs
cd ruby-docs
mkdir doc-en refm-ja faq-en faq-ja
(cd ../../ruby-man-`echo %{manver} | sed -e 's/\.[0-9]*$//'` && tar cf - .) | (cd doc-en && tar xvf -)
(cd ../../ruby-refm-ja && tar cf - .) | (cd refm-ja && tar xvf -)
(cd ../../rubyfaq && tar cf - .) | (cd faq-en && tar xvf -)
(cd ../../rubyfaq-jp && tar cf - .) | (cd faq-ja && tar xvf -)
mkdir refm-ja faq-en faq-ja
(cd ../../ruby-refm-ja && tar cf - .) | (cd refm-ja && tar xf -)
(cd ../../rubyfaq && tar cf - .) | (cd faq-en && tar xf -)
(cd ../../rubyfaq-jp && tar cf - .) | (cd faq-ja && tar xf -)
(cd faq-ja &&
for f in rubyfaq-jp*.html
@ -271,15 +267,12 @@ mkdir doc-en refm-ja faq-en faq-ja
< $f > `echo $f | sed -e's/-jp//'`
rm -f $f; \
done)
# make sure that all doc files are the world-readable
find -type f | xargs chmod 0644
cd ..
# fixing `#!' paths
for f in `find . -type f`
do
sed -e 's,^#![ ]*\([^ ]*\)/\(ruby\|with\|perl\|env\),#!/usr/bin/\2,' < $f > $f.n
sed -e 's,^#![ ]*\([^ ]*\)/\(ruby\|wish\|perl\|env\),#!/usr/bin/\2,' < $f > $f.n
if ! cmp $f $f.n
then
mv -f $f.n $f
@ -288,35 +281,39 @@ do
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`; do
iconv -f utf-8 -t utf-8 $i > /dev/null 2>&1 || (iconv -f euc-jp -t utf-8 $i > $i.new && mv $i.new $i || exit 1)
if [ $? != 0 ]; then
iconv -f iso8859-1 -t utf-8 $i > $.new && mv $i.new $i || exit 1
fi
done
# done
cd ..
# installing binaries ...
make -C $RPM_BUILD_DIR/%{name}-%{version}/%{name}-%{rubyver}%{?patchlevel} DESTDIR=$RPM_BUILD_ROOT install
_cpu=`echo %{_target_cpu} | sed 's/^ppc/powerpc/'`
make -C $RPM_BUILD_DIR/%{name}-%{version}/%{name}-%{arcver} DESTDIR=$RPM_BUILD_ROOT install
# generate ri doc
rubybuilddir=$RPM_BUILD_DIR/%{name}-%{version}/%{name}-%{rubyver}%{?patchlevel}
LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir} RUBYLIB=$RPM_BUILD_ROOT%{_libdir}/ruby/%{rubyxver}:$RPM_BUILD_ROOT%{_libdir}/ruby/%{rubyxver}/$_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}/$_cpu-%{_target_os}/ -I $rubybuilddir/lib $RPM_BUILD_ROOT%{_bindir}/rdoc --all --ri-system $rubybuilddir
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}/$_cpu-%{_target_os}
%ifarch ppc64 s390x sparc64 x86_64
# correct archdir
#mv $RPM_BUILD_ROOT%{_prefix}/lib/ruby/%{rubyxver}/$_cpu-%{_target_os}/* $RPM_BUILD_ROOT%{_libdir}/ruby/%{rubyxver}/$_cpu-%{_target_os}/
#rmdir $RPM_BUILD_ROOT%{_prefix}/lib/ruby/%{rubyxver}/$_cpu-%{_target_os}
%endif
mkdir -p $RPM_BUILD_ROOT%{sitedir2}/%{rubyxver}
mkdir -p $RPM_BUILD_ROOT%{sitedir}/%{rubyxver}/%{_normalized_cpu}-%{_target_os}
# XXX: installing irb
install -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_mandir}/man1/
install -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/
%ifnarch ppc64
# installing ruby-mode
cd %{name}-%{rubyver}%{?patchlevel}
cp misc/*.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/ruby-mode
cd %{name}-%{arcver}
cp -p misc/*.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/ruby-mode
## for ruby-mode
pushd $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/ruby-mode
@ -326,149 +323,266 @@ EOF
emacs --no-site-file -q -batch -l path.el -f batch-byte-compile *.el
rm -f path.el*
popd
install -m 644 %{SOURCE10} \
install -p -m 644 %{SOURCE10} \
$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
cd ..
%endif
# listing all files in ruby-all.files
(find $RPM_BUILD_ROOT -type f -o -type l) |
sort | uniq | sed -e "s,^$RPM_BUILD_ROOT,," \
-e "s,\(/man/man./.*\)$,\1*," > ruby-all.files
egrep '(\.[ah]|libruby\.so)$' ruby-all.files > ruby-devel.files
_rubytmpfile=`mktemp -t %{name}-%{version}-%{release}-tmp-%(%{__id_u -n}).XXXXXXXXXX`
# for ruby-tcltk.rpm
cp /dev/null ruby-tcltk.files
for f in `find %{name}-%{rubyver}%{?patchlevel}/ext/tk/lib -type f; find %{name}-%{rubyver}%{?patchlevel}/.ext -type f -name '*.so'; find %{name}-%{rubyver}%{?patchlevel}/ext/tk -type f -name '*.so'`
do
egrep "tcl|tk" ruby-all.files | grep "/`basename $f`$" >> ruby-tcltk.files || :
# 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
sed -i -e '/^#!.*/,1D' $i
done
sort ruby-tcltk.files | uniq - $_rubytmpfile && mv $_rubytmpfile ruby-tcltk.files
# for irb.rpm
fgrep 'irb' ruby-all.files > irb.files
# for ri
cp /dev/null ri.files
fgrep '%{_datadir}/ri' ruby-all.files >> ri.files
fgrep '%{_bindir}/ri' ruby-all.files >> ri.files
# for rdoc
cp /dev/null rdoc.files
fgrep rdoc ruby-all.files >> rdoc.files
# for ruby-libs
cp /dev/null ruby-libs.files
(fgrep '%{_prefix}/lib' ruby-all.files;
fgrep -h '%{_prefix}/lib' ruby-devel.files ruby-tcltk.files irb.files ri.files rdoc.files) | egrep -v "elc?$" | \
sort | uniq -u > ruby-libs.files
%ifnarch ppc64
# for ruby-mode
cp /dev/null ruby-mode.files
fgrep '.el' ruby-all.files >> ruby-mode.files
%else
touch ruby-mode.files
%endif
# for ruby.rpm
sort ruby-all.files \
ruby-libs.files ruby-devel.files ruby-tcltk.files irb.files ruby-mode.files ri.files rdoc.files |
uniq -u > ruby.files
# for arch-dependent dir
rbconfig=`find $RPM_BUILD_ROOT -name rbconfig.rb`
export LD_LIBRARY_PATH=$RPM_BUILD_ROOT%{_libdir}
arch=`$RPM_BUILD_ROOT%{_bindir}/ruby -r $rbconfig -e 'printf ("%s\n", Config::CONFIG["arch"])'`
cat <<__EOF__ >> ruby-libs.files
%%dir %%{_libdir}/ruby/%%{rubyxver}/$arch
%%dir %%{_libdir}/ruby/%%{rubyxver}/$arch/digest
__EOF__
%clean
rm -rf $RPM_BUILD_ROOT
rm -f *.files
rm -rf tmp-ruby-docs
%post libs -p /sbin/ldconfig
%postun libs -p /sbin/ldconfig
%files -f ruby.files
%defattr(-, root, root)
%doc %{name}-%{rubyver}%{?patchlevel}/COPYING*
%doc %{name}-%{rubyver}%{?patchlevel}/ChangeLog
%doc %{name}-%{rubyver}%{?patchlevel}/GPL
%doc %{name}-%{rubyver}%{?patchlevel}/LEGAL
%doc %{name}-%{rubyver}%{?patchlevel}/LGPL
%doc %{name}-%{rubyver}%{?patchlevel}/NEWS
%doc %{name}-%{rubyver}%{?patchlevel}/README
%lang(ja) %doc %{name}-%{rubyver}%{?patchlevel}/README.ja
%doc %{name}-%{rubyver}%{?patchlevel}/ToDo
%doc %{name}-%{rubyver}%{?patchlevel}/doc/ChangeLog-1.8.0
%doc %{name}-%{rubyver}%{?patchlevel}/doc/NEWS-1.8.0
%files
%defattr(-, root, root, -)
%doc %{name}-%{arcver}/COPYING*
%doc %{name}-%{arcver}/ChangeLog
%doc %{name}-%{arcver}/GPL
%doc %{name}-%{arcver}/LEGAL
%doc %{name}-%{arcver}/LGPL
%doc %{name}-%{arcver}/NEWS
%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
%{_bindir}/testrb
%{_mandir}/man1/ruby.1*
%files devel -f ruby-devel.files
%defattr(-, root, root)
%doc %{name}-%{rubyver}%{?patchlevel}/README.EXT
%lang(ja) %doc %{name}-%{rubyver}%{?patchlevel}/README.EXT.ja
%files devel
%defattr(-, root, root, -)
%doc %{name}-%{arcver}/COPYING*
%doc %{name}-%{arcver}/ChangeLog
%doc %{name}-%{arcver}/GPL
%doc %{name}-%{arcver}/LEGAL
%doc %{name}-%{arcver}/LGPL
%doc %{name}-%{arcver}/README.EXT
%lang(ja) %doc %{name}-%{arcver}/README.EXT.ja
%{_libdir}/libruby.so
%{_libdir}/libruby-static.a
%{_libdir}/ruby/%{rubyxver}/*/*.h
%files libs -f ruby-libs.files
%defattr(-, root, root)
%doc %{name}-%{rubyver}%{?patchlevel}/README
%lang(ja) %doc %{name}-%{rubyver}%{?patchlevel}/README.ja
%doc %{name}-%{rubyver}%{?patchlevel}/COPYING*
%doc %{name}-%{rubyver}%{?patchlevel}/ChangeLog
%doc %{name}-%{rubyver}%{?patchlevel}/GPL
%doc %{name}-%{rubyver}%{?patchlevel}/LEGAL
%doc %{name}-%{rubyver}%{?patchlevel}/LGPL
%dir %{_libdir}/ruby
%files libs
%defattr(-, root, root, -)
%doc %{name}-%{arcver}/README
%lang(ja) %doc %{name}-%{arcver}/README.ja
%doc %{name}-%{arcver}/COPYING*
%doc %{name}-%{arcver}/ChangeLog
%doc %{name}-%{arcver}/GPL
%doc %{name}-%{arcver}/LEGAL
%doc %{name}-%{arcver}/LGPL
%dir %{_prefix}/lib/ruby
%dir %{_libdir}/ruby/%{rubyxver}
%dir %{_prefix}/lib/ruby/%{rubyxver}
%dir %{_prefix}/lib/ruby/%{rubyxver}/cgi
%dir %{_prefix}/lib/ruby/%{rubyxver}/net
%dir %{_prefix}/lib/ruby/%{rubyxver}/shell
%dir %{_prefix}/lib/ruby/%{rubyxver}/uri
%{sitedir}
%{sitedir2}
%files tcltk -f ruby-tcltk.files
%defattr(-, root, root)
%doc tmp-ruby-docs/ruby-tcltk/ext/*
%files rdoc -f rdoc.files
%defattr(-, root, root)
%ifnarch ppc64 s390x sparc64 x86_64
%dir %{_prefix}/lib/ruby/%{rubyxver}/%{_normalized_cpu}-%{_target_os}
%endif
%ifarch ppc64 s390x sparc64 x86_64
%dir %{_libdir}/ruby
%dir %{_libdir}/ruby/%{rubyxver}
%dir %{_libdir}/ruby/%{rubyxver}/%{_normalized_cpu}-%{_target_os}
%{sitedir}
%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
## the following files should goes into ruby-rdoc package.
%exclude %{_prefix}/lib/ruby/%{rubyxver}/rdoc
## the following files should goes into ruby-irb package.
%exclude %{_prefix}/lib/ruby/%{rubyxver}/irb.rb
%exclude %{_prefix}/lib/ruby/%{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
%{_libdir}/libruby.so.*
%{_libdir}/ruby/%{rubyxver}/*/*.so
%{_libdir}/ruby/%{rubyxver}/*/digest
%{_libdir}/ruby/%{rubyxver}/*/io
%{_libdir}/ruby/%{rubyxver}/*/racc
%{_libdir}/ruby/%{rubyxver}/*/rbconfig.rb
%files irb -f irb.files
%defattr(-, root, root)
%files tcltk
%defattr(-, root, root, -)
%doc %{name}-%{arcver}/COPYING*
%doc %{name}-%{arcver}/ChangeLog
%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
%files rdoc
%defattr(-, root, root, -)
%doc %{name}-%{arcver}/COPYING*
%doc %{name}-%{arcver}/ChangeLog
%doc %{name}-%{arcver}/GPL
%doc %{name}-%{arcver}/LEGAL
%doc %{name}-%{arcver}/LGPL
%{_bindir}/rdoc
%{_prefix}/lib/ruby/%{rubyxver}/rdoc
%files irb
%defattr(-, root, root, -)
%doc %{name}-%{arcver}/COPYING*
%doc %{name}-%{arcver}/ChangeLog
%doc %{name}-%{arcver}/GPL
%doc %{name}-%{arcver}/LEGAL
%doc %{name}-%{arcver}/LGPL
%doc tmp-ruby-docs/irb/*
%dir %{_prefix}/lib/ruby/%{rubyxver}/irb
%dir %{_prefix}/lib/ruby/%{rubyxver}/irb/lc
%dir %{_prefix}/lib/ruby/%{rubyxver}/irb/lc/ja
%{_bindir}/irb
%{_prefix}/lib/ruby/%{rubyxver}/irb.rb
%{_prefix}/lib/ruby/%{rubyxver}/irb
%{_mandir}/man1/irb.1*
%files ri -f ri.files
%defattr(-, root, root)
%dir %{_datadir}/ri
%files ri
%defattr(-, root, root, -)
%doc %{name}-%{arcver}/COPYING*
%doc %{name}-%{arcver}/ChangeLog
%doc %{name}-%{arcver}/GPL
%doc %{name}-%{arcver}/LEGAL
%doc %{name}-%{arcver}/LGPL
%{_bindir}/ri
%{_datadir}/ri
%files docs
%defattr(-, root, root)
%defattr(-, root, root, -)
%doc %{name}-%{arcver}/COPYING*
%doc %{name}-%{arcver}/ChangeLog
%doc %{name}-%{arcver}/GPL
%doc %{name}-%{arcver}/LEGAL
%doc %{name}-%{arcver}/LGPL
%doc tmp-ruby-docs/ruby-docs/*
%doc tmp-ruby-docs/ruby-libs/*
%ifnarch ppc64
%files mode -f ruby-mode.files
%defattr(-, root, root)
%doc %{name}-%{rubyver}%{?patchlevel}/misc/README
%dir %{_datadir}/emacs/site-lisp/ruby-mode
%files mode
%defattr(-, root, root, -)
%doc %{name}-%{arcver}/COPYING*
%doc %{name}-%{arcver}/ChangeLog
%doc %{name}-%{arcver}/GPL
%doc %{name}-%{arcver}/LEGAL
%doc %{name}-%{arcver}/LGPL
%doc %{name}-%{arcver}/misc/README
%{_datadir}/emacs/site-lisp/ruby-mode
%{_datadir}/emacs/site-lisp/site-start.d/ruby-mode-init.el
%endif
%changelog
* Tue Mar 4 2008 Akira TAGOH <tagoh@redhat.com> - 1.8.6.114-1
- Security fix for CVE-2008-1145.
- Improve a spec file. (#226381)
- Correct License tag.
- Fix a timestamp issue.
- Own a arch-specific directory.
* Tue Feb 19 2008 Fedora Release Engineering <rel-eng@fedoraproject.org> - 1.8.6.111-9
- Autorebuild for GCC 4.3
* Tue Feb 19 2008 Akira TAGOH <tagoh@redhat.com> - 1.8.6.111-8
- Rebuild for gcc-4.3.
* Tue Jan 15 2008 Akira TAGOH <tagoh@redhat.com> - 1.8.6.111-7
- Revert the change of libruby-static.a. (#428384)
* Fri Jan 11 2008 Akira TAGOH <tagoh@redhat.com> - 1.8.6.111-6
- Fix an unnecessary replacement for shebang. (#426835)
* Fri Jan 4 2008 Akira TAGOH <tagoh@redhat.com> - 1.8.6.111-5
- Rebuild.
* Fri Dec 28 2007 Akira TAGOH <tagoh@redhat.com> - 1.8.6.111-4
- Clean up again.
* Fri Dec 21 2007 Akira TAGOH <tagoh@redhat.com> - 1.8.6.111-3
- Clean up the spec file.
- Remove ruby-man-1.4.6 stuff. this is entirely the out-dated document.
this could be replaced by ri.
- Disable the static library building.
* Tue Dec 04 2007 Release Engineering <rel-eng at fedoraproject dot org> - 1.8.6.111-2
- Rebuild for openssl bump
* Wed Oct 31 2007 Akira TAGOH <tagoh@redhat.com>
- Fix the dead link.
* Mon Oct 29 2007 Akira TAGOH <tagoh@redhat.com> - 1.8.6.111-1
- New upstream release.
- ruby-1.8.6.111-CVE-2007-5162.patch: Update a bit with backporting the changes
at trunk to enable the fix without any modifications on the users' scripts.
Note that Net::HTTP#enable_post_connection_check isn't available anymore.
If you want to disable this post-check, you should give OpenSSL::SSL::VERIFY_NONE
to Net::HTTP#verify_mode= instead of.
* Mon Oct 15 2007 Akira TAGOH <tagoh@redhat.com> - 1.8.6.110-2
- Enable pthread support for ppc too. (#201452)
- Fix unexpected dependencies appears in ruby-libs. (#253325)
* Wed Oct 10 2007 Akira TAGOH <tagoh@redhat.com> - 1.8.6.110-1
- New upstream release.
- ruby-r12567.patch: removed.
- ruby-1.8.6-CVE-2007-5162.patch: security fix for Net::HTTP that is
insufficient verification of SSL certificate.
* Thu Aug 23 2007 Akira TAGOH <tagoh@redhat.com> - 1.8.6.36-4
- Rebuild
* Fri Aug 10 2007 Akira TAGOH <tagoh@redhat.com>
- Update License tag.
* Mon Jul 25 2007 Akira TAGOH <tagoh@redhat.com> - 1.8.6.36-3
- ruby-r12567.patch: backport patch from upstream svn to get rid of
the unnecessary declarations. (#245446)
* Wed Jul 20 2007 Akira TAGOH <tagoh@redhat.com> - 1.8.6.36-2
- New upstream release.
- Fix Etc::getgrgid to get the correct gid as requested. (#236647)
* Wed Mar 28 2007 Akira TAGOH <tagoh@redhat.com> - 1.8.6-2
- Fix search path breakage. (#234029)

View file

@ -1,5 +1,5 @@
8336b859400795ec51d05878c1a658b7 ruby-man-1.4.6.tar.bz2
d65e3a216d6d345a2a6f1aa8758c2f75 ruby-refm-rdp-1.8.1-ja-html.tar.gz
7f3e181c0be9a1579e43a5a8b26372d6 rubyfaq-990927.tar.bz2
8aa2e2da327dc43ff6e46e634eb657b6 rubyfaq-jp-990927.tar.bz2
e558a0e00ae318d43bf6ff9af452bad2 ruby-1.8.6.tar.bz2
634c25b14e19925d10af3720d72e8741 rubyfaq-990927.tar.gz
4fcec898f51d8371cc42d0a013940469 rubyfaq-jp-990927.tar.gz
b4d0c74497f684814bcfbb41b7384a71 ruby-1.8.6-p114.tar.bz2