diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index 8b4ee53..0000000 --- a/.cvsignore +++ /dev/null @@ -1,25 +0,0 @@ -ruby-1.8.1.tar.gz -ruby-man-1.4.6.tar.bz2 -ruby-refm-rdp-1.8.1-ja-html.tar.gz -rubyfaq-990927.tar.bz2 -rubyfaq-jp-990927.tar.bz2 -*.rpm -*.gz -*.bz2 -ruby-1.8.2.tar.gz -ruby-1.8.3.tar.gz -ruby-1.8.4-preview1.tar.gz -ruby-1.8.4-preview2.tar.gz -ruby-1.8.4.tar.gz -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 -rubyfaq-990927.tar.gz -rubyfaq-jp-990927.tar.gz -ruby-1.8.6-p114.tar.bz2 -ruby-1.8.6-p230.tar.bz2 -ruby-1.8.6-p287.tar.bz2 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2c638ee --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +rubyfaq-990927.tar.gz +rubyfaq-jp-990927.tar.gz +ruby-1.8.6-p368.tar.bz2 +ruby-refm-rdp-1.8.2-ja-html.tar.gz diff --git a/Makefile b/Makefile deleted file mode 100644 index d363f5c..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: ruby -# $Id: Makefile,v 1.1 2004/09/09 11:54:27 cvsdist Exp $ -NAME := ruby -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attempt a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/ruby-1.8.6-CVE-2009-1904-bigdecimal.patch b/ruby-1.8.6-CVE-2009-1904-bigdecimal.patch new file mode 100644 index 0000000..b440df0 --- /dev/null +++ b/ruby-1.8.6-CVE-2009-1904-bigdecimal.patch @@ -0,0 +1,221 @@ +--- branches/ruby_1_8_6/ext/bigdecimal/bigdecimal.c 2009/02/11 14:36:59 22241 ++++ branches/ruby_1_8_6/ext/bigdecimal/bigdecimal.c 2009/06/08 19:01:00 23652 +@@ -306,17 +306,22 @@ + BigDecimal_dump(int argc, VALUE *argv, VALUE self) + { + ENTER(5); +- char sz[50]; + Real *vp; + char *psz; + VALUE dummy; ++ volatile VALUE dump; ++ + rb_scan_args(argc, argv, "01", &dummy); + GUARD_OBJ(vp,GetVpValue(self,1)); +- sprintf(sz,"%lu:",VpMaxPrec(vp)*VpBaseFig()); +- psz = ALLOCA_N(char,(unsigned int)VpNumOfChars(vp,"E")+strlen(sz)); +- sprintf(psz,"%s",sz); ++ ++ dump = rb_str_new(0,VpNumOfChars(vp,"E")+50); ++ psz = RSTRING_PTR(dump); ++ sprintf(psz,"%lu:",VpMaxPrec(vp)*VpBaseFig()); ++ + VpToString(vp, psz+strlen(psz), 0, 0); +- return rb_str_new2(psz); ++ ++ rb_str_resize(dump, strlen(psz)); ++ return dump; + } + + /* +@@ -520,6 +525,7 @@ + ENTER(5); + int e,n,i,nf; + U_LONG v,b,j; ++ volatile VALUE str; + char *psz,*pch; + Real *p; + +@@ -534,7 +540,7 @@ + return Qnil; + } else if(VpIsNegInf(p)) { + VpException(VP_EXCEPTION_INFINITY,"Computation results to '-Infinity'",0); +- return Qnil; ++ return Qnil; + } + + e = VpExponent10(p); +@@ -544,10 +550,12 @@ + e = VpGetSign(p)*p->frac[0]; + return INT2FIX(e); + } +- psz = ALLOCA_N(char,(unsigned int)(e+nf+2)); + ++ str = rb_str_new(0, e+nf+2); ++ psz = RSTRING_PTR(str); + n = (e+nf-1)/nf; + pch = psz; ++ + if(VpGetSign(p)<0) *pch++ = '-'; + for(i=0;i DBL_MAX_10_EXP) goto erange; ++ str = rb_str_new(0, VpNumOfChars(p,"E")); ++ buf = RSTRING_PTR(str); ++ + VpToString(p, buf, 0, 0); + errno = 0; + d = strtod(buf, 0); + if(errno == ERANGE) { ++ erange: + VpException(VP_EXCEPTION_OVERFLOW,"BigDecimal to Float conversion",0); + if(d>0.0) return rb_float_new(DBL_MAX); + else return rb_float_new(-DBL_MAX); +@@ -1491,6 +1505,7 @@ + int fmt=0; /* 0:E format */ + int fPlus=0; /* =0:default,=1: set ' ' before digits ,set '+' before digits. */ + Real *vp; ++ volatile VALUE str; + char *psz; + char ch; + U_LONG nc; +@@ -1527,14 +1542,17 @@ + } + if(mc>0) nc += (nc + mc - 1) / mc + 1; + +- psz = ALLOCA_N(char,(unsigned int)nc); ++ str = rb_str_new(0, nc); ++ psz = RSTRING_PTR(str); + + if(fmt) { + VpToFString(vp, psz, mc, fPlus); + } else { + VpToString (vp, psz, mc, fPlus); + } +- return rb_str_new2(psz); ++ ++ rb_str_resize(str, strlen(psz)); ++ return str; + } + + /* Splits a BigDecimal number into four parts, returned as an array of values. +@@ -1566,24 +1584,29 @@ + { + ENTER(5); + Real *vp; +- VALUE obj,obj1; ++ VALUE obj,str; + S_LONG e; + S_LONG s; + char *psz1; + + GUARD_OBJ(vp,GetVpValue(self,1)); +- psz1 = ALLOCA_N(char,(unsigned int)VpNumOfChars(vp,"E")); ++ str = rb_str_new(0, VpNumOfChars(vp,"E")); ++ psz1 = RSTRING_PTR(str); ++ + VpSzMantissa(vp,psz1); + s = 1; + if(psz1[0]=='-') { +- s = -1; ++psz1; ++ int len = strlen(psz1+1); ++ memmove(psz1, psz1+1, len); ++ psz1[len] = '\0'; ++ s = -1; + } + if(psz1[0]=='N') s=0; /* NaN */ + e = VpExponent10(vp); +- obj1 = rb_str_new2(psz1); + obj = rb_ary_new2(4); + rb_ary_push(obj, INT2FIX(s)); +- rb_ary_push(obj, obj1); ++ rb_ary_push(obj, str); ++ rb_str_resize(str, strlen(psz1)); + rb_ary_push(obj, INT2FIX(10)); + rb_ary_push(obj, INT2NUM(e)); + return obj; +@@ -1616,20 +1639,23 @@ + { + ENTER(5); + Real *vp; +- VALUE obj; ++ volatile VALUE obj; + unsigned int nc; +- char *psz1; +- char *pszAll; ++ char *psz, *tmp; + + GUARD_OBJ(vp,GetVpValue(self,1)); + nc = VpNumOfChars(vp,"E"); + nc +=(nc + 9) / 10; + +- psz1 = ALLOCA_N(char,nc); +- pszAll = ALLOCA_N(char,nc+256); +- VpToString(vp, psz1, 10, 0); +- sprintf(pszAll,"#",self,psz1,VpPrec(vp)*VpBaseFig(),VpMaxPrec(vp)*VpBaseFig()); +- obj = rb_str_new2(pszAll); ++ obj = rb_str_new(0, nc+256); ++ psz = RSTRING_PTR(obj); ++ sprintf(psz,"#",VpPrec(vp)*VpBaseFig(),VpMaxPrec(vp)*VpBaseFig()); ++ rb_str_resize(obj, strlen(psz)); ++ + return obj; + } + +@@ -2482,6 +2508,7 @@ + int sign=1; + Real *vp = NULL; + U_LONG mf = VpGetPrecLimit(); ++ volatile VALUE buf; + + mx = (mx + BASE_FIG - 1) / BASE_FIG + 1; /* Determine allocation unit. */ + if(szVal) { +@@ -2509,7 +2536,9 @@ + + /* Skip all '_' after digit: 2006-6-30 */ + ni = 0; +- psz = ALLOCA_N(char,strlen(szVal)+1); ++ buf = rb_str_new(0,strlen(szVal)+1); ++ psz = RSTRING_PTR(buf); ++ + i = 0; + ipn = 0; + while((psz[i]=szVal[ipn])!=0) { +@@ -3601,7 +3630,7 @@ + nc += fprintf(fp, "0."); + n = a->Prec; + for(i=0;i < n;++i) { +- m = BASE1; ++ m = BASE1; + e = a->frac[i]; + while(m) { + nn = e / m; +@@ -3778,6 +3807,7 @@ + return 0; + } + ++ + VP_EXPORT void + VpToString(Real *a,char *psz,int fFmt,int fPlus) + /* fPlus =0:default, =1: set ' ' before digits , =2:set '+' before digits. */ diff --git a/ruby-1.8.6-p287-CVE-2008-5189.patch b/ruby-1.8.6-p287-CVE-2008-5189.patch new file mode 100644 index 0000000..2854826 --- /dev/null +++ b/ruby-1.8.6-p287-CVE-2008-5189.patch @@ -0,0 +1,14 @@ +--- lib/cgi.rb (revision 19665) ++++ lib/cgi.rb (working copy) +@@ -546,6 +546,11 @@ + when Hash + options = options.dup + end ++ options.each_value do |value| ++ if /\n(?![ \t])/ === value ++ raise ArgumentError, "potential HTTP header injection detected" ++ end ++ end + + unless options.has_key?("type") + options["type"] = "text/html" diff --git a/ruby-1.8.6-p287-remove-ssl-rand-range.patch b/ruby-1.8.6-p287-remove-ssl-rand-range.patch new file mode 100644 index 0000000..705f3d3 --- /dev/null +++ b/ruby-1.8.6-p287-remove-ssl-rand-range.patch @@ -0,0 +1,100 @@ +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; diff --git a/ruby-1.8.6-rexml-CVE-2008-3790.patch b/ruby-1.8.6-rexml-CVE-2008-3790.patch index 2ce6e1f..2db8dd6 100644 --- a/ruby-1.8.6-rexml-CVE-2008-3790.patch +++ b/ruby-1.8.6-rexml-CVE-2008-3790.patch @@ -12,7 +12,7 @@ diff -pruN ruby-1.8.6-p287.orig/lib/rexml/document.rb ruby-1.8.6-p287/lib/rexml/ @@ -200,6 +201,27 @@ module REXML Parsers::StreamParser.new( source, listener ).parse end - + + @@entity_expansion_limit = 10_000 + + # Set the entity expansion limit. By defualt the limit is set to 10000. @@ -26,7 +26,7 @@ diff -pruN ruby-1.8.6-p287.orig/lib/rexml/document.rb ruby-1.8.6-p287/lib/rexml/ + end + + attr_reader :entity_expansion_count -+ ++ + def record_entity_expansion + @entity_expansion_count += 1 + if @entity_expansion_count > @@entity_expansion_limit @@ -44,7 +44,7 @@ diff -pruN ruby-1.8.6-p287.orig/lib/rexml/entity.rb ruby-1.8.6-p287/lib/rexml/en # all entities -- both %ent; and &ent; entities. This differs from # +value()+ in that +value+ only replaces %ent; entities. def unnormalized -+ document.record_entity_expansion ++ document.record_entity_expansion unless document.nil? v = value() return nil if v.nil? @unnormalized = Text::unnormalize(v, parent) diff --git a/ruby-1.8.6.111-gcc43.patch b/ruby-1.8.6.111-gcc43.patch deleted file mode 100644 index 9e1b297..0000000 --- a/ruby-1.8.6.111-gcc43.patch +++ /dev/null @@ -1,16 +0,0 @@ -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* diff --git a/ruby-always-use-i386.patch b/ruby-always-use-i386.patch new file mode 100644 index 0000000..9dc8c87 --- /dev/null +++ b/ruby-always-use-i386.patch @@ -0,0 +1,11 @@ +--- 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_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}" + diff --git a/ruby.spec b/ruby.spec index 2206c3b..bbf966e 100644 --- a/ruby.spec +++ b/ruby.spec @@ -1,6 +1,6 @@ %define rubyxver 1.8 %define rubyver 1.8.6 -%define _patchlevel 287 +%define _patchlevel 368 %define dotpatchlevel %{?_patchlevel:.%{_patchlevel}} %define patchlevel %{?_patchlevel:-p%{_patchlevel}} %define arcver %{rubyver}%{?patchlevel} @@ -8,7 +8,11 @@ # 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/'`) +%define _normalized_cpu %(echo `echo %{_target_cpu} | sed 's/^ppc/powerpc/' | sed -e 's|i.86|i386|'`) + +# emacs sitelisp directory +%{!?_emacs_sitelispdir: %global _emacs_sitelispdir %{_datadir}/emacs/site-lisp} +%{!?_emacs_sitestartdir: %global _emacs_sitestartdir %{_datadir}/emacs/site-lisp/site-start.d} Name: ruby Version: %{rubyver}%{?dotpatchlevel} @@ -22,7 +26,8 @@ BuildRequires: emacs 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: %{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 @@ -33,8 +38,13 @@ Patch20: ruby-rubyprefix.patch Patch21: ruby-deprecated-sitelib-search-path.patch Patch22: ruby-deprecated-search-path.patch Patch23: ruby-multilib.patch -Patch25: ruby-1.8.6.111-gcc43.patch -Patch26: ruby-1.8.6-rexml-CVE-2008-3790.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 +Patch27: ruby-1.8.6-p287-CVE-2008-5189.patch +Patch28: ruby-1.8.6-p287-remove-ssl-rand-range.patch +Patch29: ruby-always-use-i386.patch +Patch30: ruby-1.8.6-CVE-2009-1904-bigdecimal.patch Summary: An interpreter of object-oriented scripting language Group: Development/Languages @@ -50,6 +60,9 @@ straight-forward, and extensible. %package libs Summary: Libraries necessary to run Ruby Group: Development/Libraries +# ext/bigdecimal/bigdecimal.{c,h} are under (GPL+ or Artistic) which +# are used for bigdecimal.so +License: (Ruby or GPLv2) and (GPL+ or Artistic) Provides: ruby(abi) = %{rubyxver} Provides: libruby = %{version}-%{release} Obsoletes: libruby <= %{version}-%{release} @@ -72,6 +85,8 @@ 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 @@ -93,6 +108,8 @@ from the terminal. %package rdoc Summary: A tool to generate documentation from Ruby source files 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} Requires: %{name}-irb = %{version}-%{release} @@ -152,8 +169,12 @@ pushd %{name}-%{arcver} %patch22 -p1 %patch23 -p1 %endif -%patch25 -p1 -%patch26 -p1 +#%patch25 -p1 +#%patch26 -p1 +%patch27 -p0 +%patch28 -p1 +%patch29 -p1 +%patch30 -p2 popd %build @@ -165,7 +186,7 @@ autoconf rb_cv_func_strtod=no export rb_cv_func_strtod -CFLAGS="$RPM_OPT_FLAGS -Wall" +CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" export CFLAGS %configure \ --with-sitedir='%{sitedir}' \ @@ -191,7 +212,9 @@ popd %check pushd %{name}-%{arcver} -%ifnarch ppc64 +%ifarch ppc64 +make test || : +%else make test %endif popd @@ -199,8 +222,8 @@ popd %install rm -rf $RPM_BUILD_ROOT -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%{_emacs_sitelispdir}/ruby-mode +mkdir -p $RPM_BUILD_ROOT%{_emacs_sitestartdir} # installing documents and exapmles... rm -rf tmp-ruby-docs @@ -279,11 +302,16 @@ done 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 +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 @@ -306,10 +334,10 @@ install -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_mandir}/man1/ # installing ruby-mode cd %{name}-%{arcver} -cp -p misc/*.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/ruby-mode +cp -p misc/*.el $RPM_BUILD_ROOT%{_emacs_sitelispdir}/ruby-mode ## for ruby-mode -pushd $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/ruby-mode +pushd $RPM_BUILD_ROOT%{_emacs_sitelispdir}/ruby-mode cat < path.el (setq load-path (cons "." load-path) byte-compile-warnings nil) EOF @@ -317,7 +345,7 @@ emacs --no-site-file -q -batch -l path.el -f batch-byte-compile *.el rm -f path.el* popd install -p -m 644 %{SOURCE10} \ - $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d + $RPM_BUILD_ROOT%{_emacs_sitestartdir} cd .. @@ -326,9 +354,10 @@ for i in $RPM_BUILD_ROOT%{_prefix}/lib/ruby/1.8/{abbrev,generator,irb/{cmd/subir sed -i -e '/^#!.*/,1D' $i done +find $RPM_BUILD_ROOT/ -name "*.so" -exec chmod 755 {} \; + %clean rm -rf $RPM_BUILD_ROOT -rm -rf tmp-ruby-docs %post libs -p /sbin/ldconfig @@ -341,10 +370,10 @@ rm -rf tmp-ruby-docs %doc %{name}-%{arcver}/GPL %doc %{name}-%{arcver}/LEGAL %doc %{name}-%{arcver}/LGPL -%doc %{name}-%{arcver}/NEWS +%doc %{name}-%{arcver}/NEWS %doc %{name}-%{arcver}/README %lang(ja) %doc %{name}-%{arcver}/README.ja -%doc %{name}-%{arcver}/ToDo +%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/* @@ -500,10 +529,32 @@ rm -rf tmp-ruby-docs %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 +%{_emacs_sitelispdir}/ruby-mode +%{_emacs_sitestartdir}/ruby-mode-init.el %changelog +* Mon Dec 7 2009 Mamoru Tasaka - 1.8.6.386-2 +- Patch for bigdecimal DOS issue (CVE-2009-1904, bug 504958) + +* Sun May 31 2009 Jeroen van Meeuwen - 1.8.6.368-1 +- New upstream release (p368) + +* Sat Apr 11 2009 Mamoru Tasaka - 1.8.6.287-8 +- Merge Review fix (#226381) + +* Wed Mar 18 2009 Jeroen van Meeuwen - 1.8.6.287-7 +- Fix regression in CVE-2008-3790 (#485383) + +* Mon Mar 16 2009 Mamoru Tasaka - 1.8.6.287-6 +- Again use -O2 optimization level +- i586 should search i386-linux directory (on <= F-11) + +* Thu Mar 05 2009 Jeroen van Meeuwen - 1.8.6.287-5 +- Rebuild for gcc4.4 + +* Fri Feb 27 2009 Jeroen van Meeuwen - 1.8.6.287-3 +- CVE-2008-5189: CGI header injection. + * Wed Oct 8 2008 Akira TAGOH - 1.8.6.287-2 - CVE-2008-3790: DoS vulnerability in the REXML module. @@ -882,8 +933,8 @@ rm -rf tmp-ruby-docs * Mon Dec 16 2002 Elliot Lee 1.6.7-13 - Remove ExcludeArch: x86_64 -- Fix x86_64 ruby with long2int.patch (ruby was assuming that sizeof(long) - == sizeof(int). The patch does not fix the source of the problem, just +- Fix x86_64 ruby with long2int.patch (ruby was assuming that sizeof(long) + == sizeof(int). The patch does not fix the source of the problem, just makes it a non-issue.) - _smp_mflags @@ -940,7 +991,7 @@ rm -rf tmp-ruby-docs removed. - ruby-1.6.7-100.patch: applied a bug fix patch. (ruby-dev#16274: patch for 'wm state') - (PR#206ja: SEGV handle EXIT) + (PR#206ja: SEGV handle EXIT) - ruby-1.6.7-101.patch: applied a bug fix patch. (ruby-list#34313: singleton should not be Marshal.dump'ed) (ruby-dev#16411: block local var) @@ -1041,7 +1092,7 @@ rm -rf tmp-ruby-docs * Thu Dec 14 2000 akira yamada - Removed ruby_cvs.2000101901.patch, added ruby_cvs.2000121413.patch (upgraded ruby to latest cvs version). -- Removed ruby-dev.11262.patch, ruby-dev.11265.patch, +- Removed ruby-dev.11262.patch, ruby-dev.11265.patch, and ruby-dev.11268.patch (included into above patch). * Sun Nov 12 2000 MACHINO, Satoshi 1.6.1-0vl9 @@ -1055,7 +1106,7 @@ rm -rf tmp-ruby-docs (upgraded ruby to latest cvs version). - Added ruby-dev.11262.patch. - Added ruby-dev.11265.patch. - + * Wed Oct 11 2000 akira yamada - Removed ruby_cvs.2000100313.patch and added ruby_cvs.2000101117.patch (upgraded ruby to latest cvs version). diff --git a/sources b/sources index 6e9470f..5ff4260 100644 --- a/sources +++ b/sources @@ -1,5 +1,4 @@ -8336b859400795ec51d05878c1a658b7 ruby-man-1.4.6.tar.bz2 -d65e3a216d6d345a2a6f1aa8758c2f75 ruby-refm-rdp-1.8.1-ja-html.tar.gz 634c25b14e19925d10af3720d72e8741 rubyfaq-990927.tar.gz 4fcec898f51d8371cc42d0a013940469 rubyfaq-jp-990927.tar.gz -80b5f3db12531d36e6c81fac6d05dda9 ruby-1.8.6-p287.tar.bz2 +623447c6d8c973193aae565a5538ccfc ruby-1.8.6-p368.tar.bz2 +b6dd396f513efeb7864685c840f9643a ruby-refm-rdp-1.8.2-ja-html.tar.gz