SHA256
1
0
forked from pool/ruby
OBS User unknown 2007-01-15 23:35:31 +00:00 committed by Git OBS Bridge
commit 00d9807f83
23 changed files with 2179 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,11 @@
--- lib/cgi.rb 2005-10-06 19:01:22.000000000 -0600
+++ lib/cgi.rb 2006-09-22 16:38:08.000000000 -0600
@@ -1017,7 +1017,7 @@
else
stdinput.read(content_length)
end
- if c.nil?
+ if c.nil? || c.empty?
raise EOFError, "bad content body"
end
buf.concat(c)

488
irb.1 Normal file
View File

@ -0,0 +1,488 @@
.\" DO NOT MODIFY THIS FILE! it was generated by rd2
.TH irb-beta 1 "May 2001"
.SH What is irb?
.PP
irb stands for `interactive ruby'. irb is a tool to execute interactively
ruby expressions read from stdin.
.SH Invoking
.PP
.nf
\& % ruby \-r irb \-e0
\& % irb
.fi
Either of the aboves. In the former style, options can be specified
as follows:
.nf
\& % ruby \-r irb \-e0 \-\- \-v
.fi
.SH Usage
.PP
Use of irb is easy if you know ruby. Executing irb, prompts are
displayed as follows. Then, enter expression of ruby. A input is
executed when it is syntacticaly completed.
.nf
\& dim% irb
\& irb(main):001:0> 1+2
\& 3
\& irb(main):002:0> class Foo
\& irb(main):003:1> def foo
\& irb(main):004:2> print 1
\& irb(main):005:2> end
\& irb(main):006:1> end
\& nil
\& irb(main):007:0>
.fi
And, Readline extesion module can be used with irb. Using Readline
is the standard default action if Readline is installed.
.SH Command line option
.PP
.nf
\& irb.rb [options] file_name opts
\& options:
\& \-f suppress read ~/.irbrc
\& \-m bc mode (fraction or matrix are available)
\& \-d set $DEBUG to true (same as `ruby \-d')
\& \-r load\-module same as `ruby \-r'
\& \-\-inspect uses `inspect' for output (the default except bc mode)
\& \-\-noinspect doesn't uses inspect for output
\& \-\-readline uses Readline extension module
\& \-\-noreadline doesn't use Readline extension module
\& \-\-prompt prompt\-mode
\& \-\-prompt\-mode prompt\-mode
.fi
.nf
\& switches prompt mode. Pre\-defined prompt modes are
\& `defalut', `simple', `xmp' and `inf\-ruby'
.fi
.nf
\& \-\-inf\-ruby\-mode uses prompt appreciate for inf\-ruby\-mode on emacs.
.fi
.nf
\& Suppresses \-\-readline.
.fi
.nf
\& \-\-simple\-prompt simple prompt mode
\& \-\-noprompt no prompt
\& \-\-tracer display trace for each execution of commands.
\& \-\-back\-trace\-limit n
.fi
.nf
\& displayes backtrace top n and tail n. The default
\& value is 16.
.fi
.nf
\& \-\-irb_debug n sets internal debug level to n (It shouldn't be used)
\& \-v, \-\-version prints the version of irb
.fi
.SH Configurations
.PP
irb reads `~/.irbrc' when it is invoked. If `~/.irbrb' doesn't exist
irb try to read in the order `.irbrc', `irb.rc', `_irbrc' then `$irbrc'.
The following is altanative to the command line option. To use them
type as follows in an irb session.
.nf
\& IRB.conf[:IRB_NAME]="irb"
\& IRB.conf[:MATH_MODE]=false
\& IRB.conf[:USE_TRACER]=false
\& IRB.conf[:USE_LOADER]=false
\& IRB.conf[:IGNORE_SIGINT]=true
\& IRB.conf[:IGNORE_EOF]=false
\& IRB.conf[:INSPECT_MODE]=nil
\& IRB.conf[:IRB_RC] = nil
\& IRB.conf[:BACK_TRACE_LIMIT]=16
\& IRB.conf[:USE_LOADER] = false
\& IRB.conf[:USE_READLINE] = nil
\& IRB.conf[:USE_TRACER] = false
\& IRB.conf[:IGNORE_SIGINT] = true
\& IRB.conf[:IGNORE_EOF] = false
\& IRB.conf[:PROMPT_MODE] = :DEFALUT
\& IRB.conf[:PROMPT] = {...}
\& IRB.conf[:DEBUG_LEVEL]=0
\& IRB.conf[:VERBOSE]=true
.fi
.SH Customizing prompt
.PP
To costomize the prompt you set a variable
.nf
\& IRB.conf[:PROMPT]
.fi
For example, describe as follows in `.irbrc'.
.nf
\& IRB.conf[:PROMPT][:MY_PROMPT] = { # name of prompt mode
\& :PROMPT_I => nil, # normal prompt
\& :PROMPT_S => nil, # prompt for continuated strings
\& :PROMPT_C => nil, # prompt for continuated statement
\& :RETURN => " ==>%s\\n" # format to return value
\& }
.fi
Then, invoke irb with the above prompt mode by
.nf
\& % irb \-\-prompt my\-prompt
.fi
Or add the following in `.irbrc'.
.nf
\& IRB.conf[:PROMPT_MODE] = :MY_PROMPT
.fi
Constants PROMPT_I, PROMPT_S and PROMPT_C specifies the format.
In the prompt specification, some special strings are available.
.nf
\& %N command name which is running
\& %m to_s of main object (self)
\& %M inspect of main object (self)
\& %l type of string(", ', /, ]), `]' is inner %w[...]
\& %NNi indent level. NN is degits and means as same as printf("%NNd").
\& It can be ommited
\& %NNn line number.
\& %% %
.fi
For instance, the default prompt mode is defined as follows:
IRB.conf[:PROMPT_MODE][:DEFAULT] = {
.TP
.fi
.B
PROMPT_I => "%N(%m):%03n:%i> ",
.TP
.fi
.B
PROMPT_S => "%N(%m):%03n:%i%l ",
.TP
.fi
.B
PROMPT_C => "%N(%m):%03n:%i* ",
.TP
.fi
.B
RETURN => "%s\\n"
}
RETURN is used to printf.
.SH Configurating subirb
.PP
The command line option or IRB.conf specify the default behavior of
(sub)irb. On the other hand, each conf of in the next sction `6. Command'
is used to individually configurate (sub)irb.
If proc is set to IRB.conf[:IRB_RC], its subirb will be invoked after
execution of that proc under giving the context of irb as its
aregument. By this mechanism each subirb can be configurated.
.SH Command
.PP
For irb commands, both simple name and `irb_'\-prefixed name are prepared.
.TP
.fi
.B
exit, quit, irb_exit
Quits (sub)irb.
if you've done cb (see below), exit from the binding mode.
.TP
.fi
.B
conf, irb_context
Displays current configuration. Modifing the configuration is
achieved by sending message to `conf'.
.TP
.fi
.B
conf.back_trace_limit
Sets display lines of backtrace as top n and tail n.
The default value is 16.
.TP
.fi
.B
conf.debug_level = N
Sets debug level of irb.
.TP
.fi
.B
conf.ignore_eof = true/false
Whether ^D (control\-d) will be ignored or not.
If false is set, ^D means quit.
.TP
.fi
.B
conf.ignore_sigint= true/false
Whether ^C (control\-c) will be ignored or not.
If false is set, ^D means quit. If true,
.nf
\& during input: cancel inputing then return to top level.
\& during execute: abondon current execution.
.fi
.TP
.fi
.B
conf.inf_ruby_mode = true/false
Whether inf\-ruby\-mode or not. The default value is false.
.TP
.fi
.B
conf.inspect_mode = true/false/nil
Specifies inspect mode.
true: display inspect
false: display to_s
nil: inspect mode in non math mode,
.nf
\& non inspect mode in math mode.
.fi
.TP
.fi
.B
conf.irb_level
The level of cb.
.TP
.fi
.B
conf.math_mode
Whether bc mode or not.
.TP
.fi
.B
conf.use_loader = true/false
Whether irb's own file reader method is used when load/require or not.
This mode is globaly affected (irb wide).
.TP
.fi
.B
conf.prompt_c
prompt for a continuating statement (e.g, immediately after of `if')
.TP
.fi
.B
conf.prompt_i
standard prompt
.TP
.fi
.B
conf.prompt_s
prompt for a continuating string
.TP
.fi
.B
conf.rc
Whether ~/.irbrc is read or not.
.TP
.fi
.B
conf.use_prompt = true/false
Prompting or not.
.TP
.fi
.B
conf.use_readline = true/false/nil
Whether readline is used or not.
true: uses
false: doen't use
nil: intends to use readline except for inf\-reuby\-mode (default)
.TP
.fi
.B
conf.verbose=T/F
Whether verbose messages are display or not.
.TP
.fi
.B
cb, irb_change_binding [obj]
Enter new binding which has a distinct scope of local variables.
If obj is given, obj will be self.
.TP
.fi
.B
irb [obj]
Invoke subirb. If obj is given, obj will be self.
.TP
.fi
.B
jobs, irb_jobs
List of subirb
.TP
.fi
.B
fg n, irb_fg n
Switch into specified subirb. The following is candidates of n:
.nf
\& irb number
\& thhread
\& irb object
\& self(obj which is specified of irb obj)
.fi
.TP
.fi
.B
kill n, irb_kill n
Kill subirb. The means of n is as same as the case of irb_fg.
.SH System variable
.PP
.nf
\& _ The latest value of evaluation (it is local)
.fi
.SH Session Example
.PP
.nf
\& dim% ruby irb.rb
\& irb(main):001:0> irb # invoke subirb
\& irb#1(main):001:0> jobs # list of subirbs
\& #0\->irb on main (#<Thread:0x400fb7e4> : stop)
\& #1\->irb#1 on main (#<Thread:0x40125d64> : running)
\& nil
\& irb#1(main):002:0> fg 0 # switch job
\& nil
\& irb(main):002:0> class Foo;end
\& nil
\& irb(main):003:0> irb Foo # invoke subirb which has the
.fi
.nf
\& # context of Foo
.fi
.nf
\& irb#2(Foo):001:0> def foo # define Foo#foo
\& irb#2(Foo):002:1> print 1
\& irb#2(Foo):003:1> end
\& nil
\& irb#2(Foo):004:0> fg 0 # switch job
\& nil
\& irb(main):004:0> jobs # list of job
\& #0\->irb on main (#<Thread:0x400fb7e4> : running)
\& #1\->irb#1 on main (#<Thread:0x40125d64> : stop)
\& #2\->irb#2 on Foo (#<Thread:0x4011d54c> : stop)
\& nil
\& irb(main):005:0> Foo.instance_methods # Foo#foo is defined asurely
\& ["foo"]
\& irb(main):006:0> fg 2 # switch job
\& nil
\& irb#2(Foo):005:0> def bar # define Foo#bar
\& irb#2(Foo):006:1> print "bar"
\& irb#2(Foo):007:1> end
\& nil
\& irb#2(Foo):010:0> Foo.instance_methods
\& ["bar", "foo"]
\& irb#2(Foo):011:0> fg 0
\& nil
\& irb(main):007:0> f = Foo.new
\& #<Foo:0x4010af3c>
\& irb(main):008:0> irb f # invoke subirb which has the
.fi
.nf
\& # context of f (instance of Foo)
.fi
.nf
\& irb#3(#<Foo:0x4010af3c>):001:0> jobs
\& #0\->irb on main (#<Thread:0x400fb7e4> : stop)
\& #1\->irb#1 on main (#<Thread:0x40125d64> : stop)
\& #2\->irb#2 on Foo (#<Thread:0x4011d54c> : stop)
\& #3\->irb#3 on #<Foo:0x4010af3c> (#<Thread:0x4010a1e0> : running)
\& nil
\& irb#3(#<Foo:0x4010af3c>):002:0> foo # evaluate f.foo
\& 1nil
\& irb#3(#<Foo:0x4010af3c>):003:0> bar # evaluate f.bar
\& barnil
\& irb#3(#<Foo:0x4010af3c>):004:0> kill 1, 2, 3# kill job
\& nil
\& irb(main):009:0> jobs
\& #0\->irb on main (#<Thread:0x400fb7e4> : running)
\& nil
\& irb(main):010:0> exit # exit
\& dim%
.fi
.SH Restrictions
.PP
Because irb evaluates the inputs immediately after the imput is
syntactically completed, irb gives slight different result than
directly use ruby. Known difference is pointed out here.
.SH Declaration of the local variable
.PP
The following causes an error in ruby:
.nf
\& eval "foo = 0"
\& foo
\& \-\-
\& \-:2: undefined local variable or method `foo' for #<Object:0x40283118> (NameError)
\& \-\-\-
\& NameError
.fi
Though, the above will successfully done by irb.
.nf
\& >> eval "foo = 0"
.fi
.nf
\& => 0
\& >> foo
\& => 0
.fi
Ruby evaluates a code after reading entire of code and determination
of the scope of local variables. On the other hand, irb do
immediately. More precisely, irb evaluate at first
.nf
\& evel "foo = 0"
.fi
then foo is defined on this timing. It is because of this
incompatibility.
If you'd like to detect those differences, begin...end can be used:
.nf
\& >> begin
\& ?> eval "foo = 0"
\& >> foo
\& >> end
\& NameError: undefined local variable or method `foo' for #<Object:0x4013d0f0>
\& (irb):3
\& (irb_local_binding):1:in `eval'
.fi
.SH Here\-document
.PP
Implementation of Here\-document is incomplete.
.SH Symbol
.PP
Irb can not always recognize a symbol as to be Symbol. Concretely, an
expression have completed, however Irb regard it as continuation line.

0
ready Normal file
View File

31
ruby-1.8.1-lib64.diff Normal file
View File

@ -0,0 +1,31 @@
Index: configure.in
===================================================================
--- configure.in.orig
+++ configure.in
@@ -1117,7 +1117,7 @@
if test "$rb_cv_missing_fconvert" = yes; then
AC_DEFINE(MISSING_FCONVERT)
fi
- AC_LIBOBJ([x68.o])
+ AC_LIBOBJ([x68])
CFLAGS="$CFLAGS -fansi-only"
XCFLAGS="$XCFLAGS -cc1-stack=262144 -cpp-stack=2694144"
EXEEXT=.x
@@ -1438,7 +1438,7 @@
RUBY_LIB_PREFIX="/lib/ruby"
;;
*)
- RUBY_LIB_PREFIX="${prefix}/lib/ruby"
+ RUBY_LIB_PREFIX="${libdir}/ruby"
;;
esac
RUBY_LIB_PATH="${RUBY_LIB_PREFIX}/${MAJOR}.${MINOR}"
@@ -1446,7 +1446,7 @@
AC_ARG_WITH(sitedir,
[ --with-sitedir=DIR site libraries in DIR [PREFIX/lib/ruby/site_ruby]],
[sitedir=$withval],
- [sitedir='${prefix}/lib/ruby/site_ruby'])
+ [sitedir='${libdir}/ruby/site_ruby'])
SITE_DIR="`eval \"echo ${sitedir}\"`"
case "$target_os" in
cygwin*|mingw*|*djgpp*|os2-emx*)

35
ruby-1.8.2-gc.diff Normal file
View File

@ -0,0 +1,35 @@
Index: gc.c
===================================================================
--- gc.c.orig
+++ gc.c
@@ -422,7 +422,7 @@
# define STACK_LEVEL_MAX (_stacksize - 4096)
# undef HAVE_GETRLIMIT
#elif defined(HAVE_GETRLIMIT)
-static unsigned int STACK_LEVEL_MAX = 655300;
+static unsigned long STACK_LEVEL_MAX = 655300;
#else
# define STACK_LEVEL_MAX 655300
#endif
@@ -482,7 +482,7 @@
(ret) = (STACK_LENGTH > STACK_LEVEL_MAX + GC_WATER_MARK);\
} while (0)
-int
+long
ruby_stack_length(p)
VALUE **p;
{
Index: intern.h
===================================================================
--- intern.h.orig
+++ intern.h
@@ -234,7 +234,7 @@
/* gc.c */
NORETURN(void rb_memerror __((void)));
int ruby_stack_check _((void));
-int ruby_stack_length _((VALUE**));
+long ruby_stack_length _((VALUE**));
char *rb_source_filename _((const char*));
void rb_gc_mark_locations _((VALUE*, VALUE*));
void rb_mark_tbl _((struct st_table*));

View File

@ -0,0 +1,22 @@
Index: ext/tk/extconf.rb
===================================================================
--- ext/tk/extconf.rb.orig
+++ ext/tk/extconf.rb
@@ -48,7 +48,7 @@ tcllib = with_config("tcllib")
stubs = enable_config("tcltk_stubs") || with_config("tcltk_stubs")
def find_tcl(tcllib, stubs)
- paths = ["/usr/local/lib", "/usr/pkg/lib", "/usr/lib"]
+ paths = ["/usr/local/lib64", "/usr/local/lib", "/usr/pkg/lib64", "/usr/pkg/lib", "/usr/lib64", "/usr/lib"]
if stubs
func = "Tcl_InitStubs"
lib = "tclstub"
@@ -273,7 +273,7 @@ end
if tcltk_framework ||
(have_header("tcl.h") && have_header("tk.h") &&
(is_win32 || find_library("X11", "XOpenDisplay",
- "/usr/X11/lib", "/usr/lib/X11", "/usr/X11R6/lib", "/usr/openwin/lib")) &&
+ "/usr/X11/lib64", "/usr/X11/lib", "/usr/lib64/X11", "/usr/lib/X11", "/usr/X11R6/lib64", "/usr/X11R6/lib", "/usr/openwin/lib64", "/usr/openwin/lib")) &&
find_tcl(tcllib, stubs) &&
find_tk(tklib, stubs))
$CPPFLAGS += ' -DUSE_TCL_STUBS -DUSE_TK_STUBS' if stubs

View File

@ -0,0 +1,36 @@
diff -ruN ruby-1.8.4.orig/eval.c ruby-1.8.4/eval.c
--- ruby-1.8.4.orig/eval.c 2005-12-20 22:41:47.000000000 +0900
+++ ruby-1.8.4/eval.c 2006-07-20 18:33:50.000000000 +0900
@@ -2097,7 +2097,8 @@
}
}
st_insert(RCLASS(klass)->m_tbl, name,
- (st_data_t)NEW_METHOD(NEW_FBODY(body, def, origin), orig->nd_noex));
+ (st_data_t)NEW_METHOD(NEW_FBODY(body, def, origin),
+ NOEX_WITH_SAFE(orig->nd_noex)));
if (singleton) {
rb_funcall(singleton, singleton_added, 1, ID2SYM(name));
}
@@ -5638,6 +5639,11 @@
TMP_PROTECT;
volatile int safe = -1;
+ if (NOEX_SAFE(flags) > ruby_safe_level &&
+ !(flags&NOEX_TAINTED) && ruby_safe_level == 0 && NOEX_SAFE(flags) > 2) {
+ rb_raise(rb_eSecurityError, "calling insecure method: %s",
+ rb_id2name(id));
+ }
switch (ruby_iter->iter) {
case ITER_PRE:
case ITER_PAS:
@@ -5742,10 +5748,6 @@
b2 = body = body->nd_next;
if (NOEX_SAFE(flags) > ruby_safe_level) {
- if (!(flags&NOEX_TAINTED) && ruby_safe_level == 0 && NOEX_SAFE(flags) > 2) {
- rb_raise(rb_eSecurityError, "calling insecure method: %s",
- rb_id2name(id));
- }
safe = ruby_safe_level;
ruby_safe_level = NOEX_SAFE(flags);
}

View File

@ -0,0 +1,31 @@
diff -ruN ruby-1.8.4.orig/dir.c ruby-1.8.4/dir.c
--- ruby-1.8.4.orig/dir.c 2005-09-14 22:40:58.000000000 +0900
+++ ruby-1.8.4/dir.c 2006-07-19 22:14:05.000000000 +0900
@@ -325,7 +325,17 @@
rb_raise(rb_eIOError, "closed directory");
}
+static void
+dir_check(dir)
+ VALUE dir;
+{
+ if (!OBJ_TAINTED(dir) && rb_safe_level() >= 4)
+ rb_raise(rb_eSecurityError, "Insecure: operation on untainted Dir");
+ rb_check_frozen(dir);
+}
+
#define GetDIR(obj, dirp) do {\
+ dir_check(dir);\
Data_Get_Struct(obj, struct dir_data, dirp);\
if (dirp->dir == NULL) dir_closed();\
} while (0)
@@ -536,6 +546,9 @@
{
struct dir_data *dirp;
+ if (rb_safe_level() >= 4 && !OBJ_TAINTED(dir)) {
+ rb_raise(rb_eSecurityError, "Insecure: can't close");
+ }
GetDIR(dir, dirp);
closedir(dirp->dir);
dirp->dir = NULL;

View File

@ -0,0 +1,66 @@
diff -ruN ruby-1.8.4.orig/re.c ruby-1.8.4/re.c
--- ruby-1.8.4.orig/re.c 2005-12-13 12:27:51.000000000 +0900
+++ ruby-1.8.4/re.c 2006-07-19 18:07:59.000000000 +0900
@@ -70,10 +70,11 @@
#endif
int
-rb_memcicmp(p1, p2, len)
- char *p1, *p2;
+rb_memcicmp(x, y, len)
+ const void *x, *y;
long len;
{
+ const unsigned char *p1 = x, *p2 = y;
int tmp;
while (len--) {
@@ -85,7 +86,7 @@
int
rb_memcmp(p1, p2, len)
- char *p1, *p2;
+ const void *p1, *p2;
long len;
{
if (!ruby_ignorecase) {
@@ -96,11 +97,11 @@
long
rb_memsearch(x0, m, y0, n)
- char *x0, *y0;
+ const void *x0, *y0;
long m, n;
{
- unsigned char *x = (unsigned char *)x0, *y = (unsigned char *)y0;
- unsigned char *s, *e;
+ const unsigned char *x = (unsigned char *)x0, *y = (unsigned char *)y0;
+ const unsigned char *s, *e;
long i;
int d;
unsigned long hx, hy;
@@ -1332,6 +1333,8 @@
{
struct RRegexp *re = RREGEXP(obj);
+ if (!OBJ_TAINTED(obj) && rb_safe_level() >= 4)
+ rb_raise(rb_eSecurityError, "Insecure: can't modify regexp");
if (re->ptr) re_free_pattern(re->ptr);
if (re->str) free(re->str);
re->ptr = 0;
diff -ruN ruby-1.8.4.orig/intern.h ruby-1.8.4/intern.h
--- ruby-1.8.4.orig/intern.h 2006-07-19 18:13:49.000000000 +0900
+++ ruby-1.8.4/intern.h 2006-07-19 18:20:34.000000000 +0900
@@ -353,9 +353,9 @@
VALUE rb_range_beg_len _((VALUE, long*, long*, long, int));
VALUE rb_length_by_each _((VALUE));
/* re.c */
-int rb_memcmp _((char*,char*,long));
-int rb_memcicmp _((char*,char*,long));
-long rb_memsearch _((char*,long,char*,long));
+int rb_memcmp _((const void*,const void*,long));
+int rb_memcicmp _((const void*,const void*,long));
+long rb_memsearch _((const void*,long,const void*,long));
VALUE rb_reg_nth_defined _((int, VALUE));
VALUE rb_reg_nth_match _((int, VALUE));
VALUE rb_reg_last_match _((VALUE));

View File

@ -0,0 +1,93 @@
see bug:
http://rubyforge.org/tracker/?func=detail&atid=1698&aid=3317&group_id=426
adapted patch from:
http://www.atdot.net/~ko1/w3ml/w3ml.cgi/ruby-cvs/msg/16358
Index: ChangeLog
===================================================================
--- ChangeLog.orig
+++ ChangeLog
@@ -1,3 +1,8 @@
+Wed Jan 25 22:29:04 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * configure.in, dln.c, file.c, intern.h, missing.h (eaccess): use
+ system routine if provided. fixed: [ruby-core:07195]
+
Sat Dec 24 18:58:14 2005 Yukihiro Matsumoto <matz@ruby-lang.org>
* stable version 1.8.4 released.
Index: configure.in
===================================================================
--- configure.in.orig
+++ configure.in
@@ -437,7 +437,7 @@ AC_CHECK_FUNCS(ftello)
AC_REPLACE_FUNCS(dup2 memmove strcasecmp strncasecmp strerror strftime\
strchr strstr strtoul crypt flock vsnprintf\
isnan finite isinf hypot acosh erf)
-AC_CHECK_FUNCS(fmod killpg wait4 waitpid syscall chroot fsync getcwd\
+AC_CHECK_FUNCS(fmod killpg wait4 waitpid syscall chroot fsync getcwd eaccess\
truncate chsize times utimes fcntl lockf lstat symlink link\
readlink setitimer setruid seteuid setreuid setresuid\
setproctitle setrgid setegid setregid setresgid issetugid pause\
Index: dln.c
===================================================================
--- dln.c.orig
+++ dln.c
@@ -89,8 +89,6 @@ char *getenv();
# include <image.h>
#endif
-int eaccess();
-
#ifndef NO_DLN_LOAD
#if defined(HAVE_DLOPEN) && !defined(USE_DLN_A_OUT) && !defined(_AIX) && !defined(__APPLE__) && !defined(_UNICOSMP)
Index: file.c
===================================================================
--- file.c.orig
+++ file.c
@@ -849,6 +849,7 @@ group_member(gid)
# define S_IXUGO (S_IXUSR | S_IXGRP | S_IXOTH)
#endif
+#if !defined(HAVE_EACCESS) || !(defined(__USE_GNU) && (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 4))
int
eaccess(path, mode)
const char *path;
@@ -887,6 +888,7 @@ eaccess(path, mode)
return access(path, mode);
#endif
}
+#endif
/*
Index: intern.h
===================================================================
--- intern.h.orig
+++ intern.h
@@ -221,7 +221,6 @@ VALUE rb_thread_local_aset _((VALUE, ID,
void rb_thread_atfork _((void));
VALUE rb_funcall_rescue __((VALUE, ID, int, ...));
/* file.c */
-int eaccess _((const char*, int));
VALUE rb_file_s_expand_path _((int, VALUE *));
VALUE rb_file_expand_path _((VALUE, VALUE));
void rb_file_const _((const char*, VALUE));
Index: missing.h
===================================================================
--- missing.h.orig
+++ missing.h
@@ -39,6 +39,10 @@ extern char *crypt _((char *, char *));
extern int dup2 _((int, int));
#endif
+#if !defined(HAVE_EACCESS) || !(defined(__USE_GNU) && (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 4))
+extern int eaccess(const char*, int);
+#endif
+
#ifndef HAVE_FINITE
extern int finite _((double));
#endif

13
ruby-1.8.4-warnings.patch Normal file
View File

@ -0,0 +1,13 @@
Index: file.c
===================================================================
--- file.c.orig
+++ file.c
@@ -1692,7 +1692,7 @@
const char *path;
void *mode;
{
- if (chmod(path, (int)mode) < 0)
+ if (chmod(path, (intptr_t)mode) < 0)
rb_sys_fail(path);
}

View File

@ -0,0 +1,184 @@
Index: configure.in
===================================================================
--- configure.in.orig
+++ configure.in
@@ -1533,9 +1533,28 @@
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}\"`"
+case "$target_os" in
+ cygwin*|mingw*|*djgpp*|os2_emx*)
+ RUBY_VENDOR_LIB_PATH="`expr "$VENDOR_DIR" : "$prefix\(/.*\)"`" ||
+ RUBY_VENDOR_LIB_PATH="$VENDOR_DIR";;
+ *)
+ RUBY_VENDOR_LIB_PATH="$VENDOR_DIR";;
+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(vendorarch)dnl
AC_SUBST(sitedir)dnl
+AC_SUBST(vendordir)dnl
configure_args=$ac_configure_args
AC_SUBST(configure_args)dnl
@@ -1548,6 +1567,8 @@
AC_DEFINE_UNQUOTED(RUBY_SITE_THIN_ARCHLIB,
"${RUBY_SITE_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}")
+ AC_DEFINE_UNQUOTED(RUBY_VENDOR_THIN_ARCHLIB,
+ "${RUBY_VENDOR_LIB_PATH}/" __ARCHITECTURE__ "-${target_os}")
AC_DEFINE_UNQUOTED(RUBY_PLATFORM, __ARCHITECTURE__ "-${target_os}")
else
arch="${target_cpu}-${target_os}"
@@ -1555,12 +1576,15 @@
fi
case "$target_os" in
- mingw*) sitearch="i386-$rb_cv_msvcrt" ;;
- *) sitearch="${arch}" ;;
+ mingw*) sitearch="i386-$rb_cv_msvcrt"
+ vendorarch="i386-$rb_cv_msvcrt" ;;
+ *) sitearch="${arch}"
+ vendorarch="${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}/${vendorarch}")
AC_ARG_WITH(search-path,
[ --with-search-path=DIR specify the additional search path],
Index: instruby.rb
===================================================================
--- instruby.rb.orig
+++ instruby.rb
@@ -99,6 +99,8 @@
archlibdir = with_destdir(CONFIG["archdir"])
sitelibdir = with_destdir(CONFIG["sitelibdir"])
sitearchlibdir = with_destdir(CONFIG["sitearchdir"])
+vendorlibdir = with_destdir(CONFIG["vendorlibdir"])
+vendorarchlibdir = with_destdir(CONFIG["vendorarchdir"])
mandir = with_destdir(File.join(CONFIG["mandir"], "man"))
configure_args = Shellwords.shellwords(CONFIG["configure_args"])
enable_shared = CONFIG["ENABLE_SHARED"] == 'yes'
@@ -106,7 +108,7 @@
lib = CONFIG["LIBRUBY"]
arc = CONFIG["LIBRUBY_A"]
-makedirs [bindir, libdir, rubylibdir, archlibdir, sitelibdir, sitearchlibdir]
+makedirs [bindir, libdir, rubylibdir, archlibdir, sitelibdir, sitearchlibdir, vendorlibdir, vendorarchlibdir]
install?(:bin) do
ruby_bin = File.join(bindir, ruby_install_name)
Index: Makefile.in
===================================================================
--- Makefile.in.orig
+++ Makefile.in
@@ -23,6 +23,8 @@
arch = @arch@
sitearch = @sitearch@
sitedir = @sitedir@
+vendorarch = @vendorarch@
+vendordir = @vendordir@
TESTUI = console
TESTS =
Index: mkconfig.rb
===================================================================
--- mkconfig.rb.orig
+++ mkconfig.rb
@@ -112,6 +112,14 @@
CONFIG["archdir"] = "$(rubylibdir)/$(arch)"
CONFIG["sitelibdir"] = "$(sitedir)/$(ruby_version)"
CONFIG["sitearchdir"] = "$(sitelibdir)/$(sitearch)"
+ CONFIG["vendorlibdir"] = "$(vendordir)/$(ruby_version)"
+ CONFIG["vendorarchdir"] = "$(vendorlibdir)/$(vendorarch)"
+ if defined?(VENDOR_SPECIFIC) && VENDOR_SPECIFIC
+ CONFIG["sitearch"] = CONFIG["vendorarch"]
+ CONFIG["sitedir"] = CONFIG["vendordir"]
+ CONFIG["sitelibdir"] = CONFIG["vendorlibdir"]
+ CONFIG["sitearchdir"] = CONFIG["vendorarchdir"]
+ end
CONFIG["topdir"] = File.dirname(__FILE__)
MAKEFILE_CONFIG = {}
CONFIG.each{|k,v| MAKEFILE_CONFIG[k] = v.dup}
Index: lib/mkmf.rb
===================================================================
--- lib/mkmf.rb.orig
+++ lib/mkmf.rb
@@ -51,6 +51,9 @@
$sitedir = CONFIG["sitedir"]
$sitelibdir = CONFIG["sitelibdir"]
$sitearchdir = CONFIG["sitearchdir"]
+$vendordir = CONFIG["vendordir"]
+$vendorlibdir = CONFIG["vendorlibdir"]
+$vendorarchdir = CONFIG["vendorarchdir"]
$mswin = /mswin/ =~ RUBY_PLATFORM
$bccwin = /bccwin/ =~ RUBY_PLATFORM
@@ -410,7 +413,7 @@
def try_func(func, libs, headers = nil, &b)
headers = cpp_include(headers)
- try_link(<<"SRC", libs, &b) or try_link(<<"SRC", libs, &b)
+ try_link(<<"SRC", libs, &b) or try_link(<<"SRC", libs, &b) or try_link(<<"SRC", libs, &b)
#{headers}
/*top*/
int main() { return 0; }
@@ -422,6 +425,11 @@
int main() { return 0; }
int t() { void ((*volatile p)()); p = (void ((*)()))#{func}; return 0; }
SRC
+int #{func}();
+/*top*/
+int main() { return 0; }
+int t() { #{func}(); return 0; }
+SRC
end
def try_var(var, headers = nil, &b)
@@ -1080,6 +1088,7 @@
RUBY_SO_NAME = #{CONFIG['RUBY_SO_NAME']}
arch = #{CONFIG['arch']}
sitearch = #{CONFIG['sitearch']}
+vendorarch = #{CONFIG['vendorarch']}
ruby_version = #{Config::CONFIG['ruby_version']}
ruby = #{$ruby}
RUBY = $(ruby#{sep})
@@ -1400,7 +1409,7 @@
$CFLAGS = with_config("cflags", arg_config("CFLAGS", config["CFLAGS"])).dup
$ARCH_FLAG = with_config("arch_flag", arg_config("ARCH_FLAG", config["ARCH_FLAG"])).dup
$CPPFLAGS = with_config("cppflags", arg_config("CPPFLAGS", config["CPPFLAGS"])).dup
- $LDFLAGS = (with_config("ldflags") || "").dup
+ $LDFLAGS = with_config("ldflags", arg_config("LDFLAGS", config["LDFLAGS"])).dup
$INCFLAGS = "-I$(topdir) -I$(hdrdir) -I$(srcdir)"
$DLDFLAGS = with_config("dldflags", arg_config("DLDFLAGS", config["DLDFLAGS"])).dup
$LIBEXT = config['LIBEXT'].dup
Index: ruby.c
===================================================================
--- ruby.c.orig
+++ ruby.c
@@ -298,6 +298,13 @@
ruby_incpush(RUBY_RELATIVE(RUBY_SITE_ARCHLIB));
ruby_incpush(RUBY_RELATIVE(RUBY_SITE_LIB));
+ ruby_incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB2));
+#ifdef RUBY_VENDOR_THIN_ARCHLIB
+ ruby_incpush(RUBY_RELATIVE(RUBY_VENDOR_THIN_ARCHLIB));
+#endif
+ ruby_incpush(RUBY_RELATIVE(RUBY_VENDOR_ARCHLIB));
+ ruby_incpush(RUBY_RELATIVE(RUBY_VENDOR_LIB));
+
ruby_incpush(RUBY_RELATIVE(RUBY_LIB));
#ifdef RUBY_THIN_ARCHLIB
ruby_incpush(RUBY_RELATIVE(RUBY_THIN_ARCHLIB));

3
ruby-1.8.5.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8ed3157a1387ced7b7d3a88318ee7b38498075e443677406dbfadcc810d844f
size 3851318

View File

@ -0,0 +1,16 @@
Index: configure.in
===================================================================
--- configure.in.orig
+++ configure.in
@@ -1339,9 +1339,9 @@
fi
if test "$enable_rpath" = yes; then
if test "$GCC" = yes; then
- LIBRUBYARG_SHARED='-Wl,-R -Wl,$(libdir) -L$(libdir) -L. '"$LIBRUBYARG_SHARED"
+ LIBRUBYARG_SHARED='-Wl,-R -Wl,$(libdir) -L$(libdir) '"$LIBRUBYARG_SHARED"
else
- LIBRUBYARG_SHARED='-R $(libdir) -L$(libdir) -L. '"$LIBRUBYARG_SHARED"
+ LIBRUBYARG_SHARED='-R $(libdir) -L$(libdir) '"$LIBRUBYARG_SHARED"
fi
fi

3
ruby-doc-bundle.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7f81e90bea97aa533b8eb6e2776149e5afe1e0a2978cc030cd4a21b347afb22b
size 769451

View File

@ -0,0 +1,11 @@
diff -ruN ruby-1.8.4.orig/mkconfig.rb ruby-1.8.4/mkconfig.rb
--- ruby-1.8.4.orig/mkconfig.rb 2006-07-19 20:39:48.000000000 +0900
+++ ruby-1.8.4/mkconfig.rb 2006-07-19 20:40:12.000000000 +0900
@@ -37,6 +37,7 @@
has_version = false
File.foreach "config.status" do |line|
next if /^#/ =~ line
+ line.gsub!(/\|#_!!_#\|/, '')
if /^s[%,]@program_transform_name@[%,]s,(.*)/ =~ line
next if $install_name
ptn = $1.sub(/\$\$/, '$').split(/,/) #'

20
ruby-socket_ipv6.patch Normal file
View File

@ -0,0 +1,20 @@
Index: ext/socket/extconf.rb
===================================================================
--- ext/socket/extconf.rb.orig
+++ ext/socket/extconf.rb
@@ -36,6 +36,7 @@
if checking_for("ipv6") {try_link(<<EOF)}
#include <sys/types.h>
#include <sys/socket.h>
+int
main()
{
socket(AF_INET6, SOCK_STREAM, 0);
@@ -157,6 +158,7 @@
#define AF_LOCAL AF_UNIX
#endif
+int
main()
{
int passive, gaierr, inet4 = 0, inet6 = 0;

381
ruby.changes Normal file
View File

@ -0,0 +1,381 @@
-------------------------------------------------------------------
Mon Oct 30 18:37:50 CET 2006 - mrueckert@suse.de
- added cgi_multipart_eof_fix.patch:
fix for a denial of service condition in cgi.rb CVE-2006-5467
(#214916)
-------------------------------------------------------------------
Fri Oct 20 03:30:01 CEST 2006 - mrueckert@suse.de
- run ldconfig
- add site_ruby and vendor_ruby arch directories to the filelist
-------------------------------------------------------------------
Wed Sep 27 17:15:12 CEST 2006 - mrueckert@suse.de
- added ruby-1.8.5-vendor_ruby.patch, site-specific.rb, vendor-specific.rb:
add vendor_ruby support. This is a small change for packager.
you can now run 'ruby -rvendor-specific extconf.rb' (or setup.rb)
and it will be automatically installed in
%{_libdir}/ruby/vendor_ruby.
-------------------------------------------------------------------
Sat Aug 26 04:23:28 CEST 2006 - mrueckert@suse.de
- Update to version 1.8.5:
o Non-blocking IO
| - Several methods backported from HEAD have been added:
| - BasicSocket?#recv_nonblock
| - IO#read_nonblock
| - IO#write_nonblock
| - Socket#accept_nonblock
| - Socket#connect_nonblock
| - Socket#recvfrom_nonblock
| - TCPServer#accept_nonblock
| - UDPSocket#recvfrom_nonblock
| - UNIXServer#accept_nonblock
| (see ruby-core:7917, ruby-core:7925).
|
o Process.getrlimit/setrlimit See ruby-dev:28729.
|
o Changes in rdoc/ri
| - lots of documentation added
| - RubyGems support: ri will search gem installation dirs for
| additional documentation
| - new options to limit the search path
|
o RSS
| - added RSS::RootElementMixin?#to_xml (ruby-talk:197284), which
| can be used to convert feeds to a different RSS version as
| follows:
| [[[
| rss10 = RSS::Parser.parse(File.read("1.0.rdf"))
| File.open("2.0.rss", "w") {|f| f.print(rss10.to_xml("2.0"))}
| ]]]
| - Support for taxonomies added to the RSS parser and generator.
| - A number of convenience methods added
| - New style API for RSS generation ruby-talk:197284
| [[[
| The recommended style is nowxxx.new_yyy do |yyy|
| yyy.zzz = zzz
| ...
| end
|
|
| This corresponds to the following in pre-1.8.5:
| yyy = xxx.new_yyy
| yyy.zzz = zzz
| ]]]
o Misc
| - added Kernel.Pathname(path)
| - added Kernel#pretty_inspect
| - changes in the GC subsystem that result in better performance
| in some cases
| - added OptionParser?#getopts
| - the per-object overhead went down to 20 bytes on win32
| (from 24) ruby-core:7474
o What breaks (!!!)
| - Binding.of_caller, and therefore breakpoint (including Rails')
| - several problems in ri reported: the documentation for some
| methods seems to have disappeared, and several methods that
| should not be documented appear in the indices;
| see ruby-core:08709
- removed patches, which are included in 1.8.5:
ruby-1.8.4-fix-insecure-dir-operation.patch
ruby-1.8.4-fix-insecure-regexp-modification.patch
ruby-1.8.4-fix-alias-safe-level.patch
- updated ruby-1.8.4_linkerflags.patch.
new name ruby-1.8.5_linkerflags.patch
-------------------------------------------------------------------
Mon Jul 31 15:59:55 CEST 2006 - mrueckert@suse.de
- added ruby-fix-autoconf-magic-code.patch:
Fix for the latest changes in the autoconf code.
-------------------------------------------------------------------
Mon Jul 31 15:43:29 CEST 2006 - mrueckert@suse.de
- security fixes [CVE-2006-3694] [#193661]
* added ruby-1.8.4-fix-insecure-dir-operation.patch &
ruby-1.8.4-fix-insecure-regexp-modification.patch:
fix the insecure operations in the certain safe-level
restrictions.
* ruby-1.8.4-fix-alias-safe-level.patch: preserve safe level
restrictions when aliasing a function.
-------------------------------------------------------------------
Mon Apr 10 18:19:13 CEST 2006 - mrueckert@suse.de
- build with -fno-strict-aliasing
- enable more tests on ppc
- disable drb tests
-------------------------------------------------------------------
Mon Apr 3 16:53:27 CEST 2006 - mrueckert@suse.de
- reworked the ruby-1.8.4-no-eaccess.diff patch
it broke when build on old distros
-------------------------------------------------------------------
Thu Jan 26 14:23:55 CET 2006 - mrueckert@suse.de
- added upstream patch for eaccess
- disabled openssl tests on pcc
-------------------------------------------------------------------
Wed Jan 25 21:43:32 CET 2006 - mrueckert@suse.de
- added ruby-1.8.4_linkerflags.patch
patch removes -L. from the linker flags.
it seems libtool otherwise expands it to -L$PWD.
this leads to trouble with our build system.
-------------------------------------------------------------------
Wed Jan 25 21:41:14 CET 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
-------------------------------------------------------------------
Sun Jan 15 23:07:15 CET 2006 - kukuk@suse.de
- Use eaccess() from glibc [#143291]
-------------------------------------------------------------------
Sun Jan 15 13:43:18 CET 2006 - mrueckert@suse.de
- disabled the big test suite as we trigger
a weird bug in the openssl bindings on ppc64
-------------------------------------------------------------------
Sat Dec 24 19:56:48 CET 2005 - mrueckert@suse.de
- Update to 1.8.4
- dont run with --default-kcode=utf8
triggers a bug in the test suite
-------------------------------------------------------------------
Fri Sep 23 00:28:37 CEST 2005 - mrueckert@suse.de
- update to 1.8.3
- updated patches for 1.8.3
- ruby-doc tarball now included as tar.bz2
-------------------------------------------------------------------
Mon Sep 12 14:26:36 CEST 2005 - mrueckert@suse.de
- fix path of the RI documentation [Bug #116408]
-------------------------------------------------------------------
Thu Sep 8 16:05:04 CEST 2005 - mrueckert@suse.de
- dont make the irb man page executable. [Bug #114849]
-------------------------------------------------------------------
Tue Aug 23 10:47:04 CEST 2005 - mrueckert@suse.de
- added directory entries for the site ruby dirs
-------------------------------------------------------------------
Mon Aug 22 13:20:53 CEST 2005 - mrueckert@suse.de
- disabled mkmf patch for now. it breaks building the socket
extension.
-------------------------------------------------------------------
Sun Aug 21 19:11:41 CEST 2005 - ro@suse.de
- added directories to filelist
- fix typo in filelist
-------------------------------------------------------------------
Fri Aug 19 17:52:56 CEST 2005 - mrueckert@suse.de
- Build RI and html documentation. Added subpackages for them.
- moved samples into a sub packages.
- build tcl/tk bindings and move them into their own package.
(ruby-1.8.2-tcltk-multilib.patch)
- disabled optimization on ia64/x86_x64. needs investigation.
- fixed parameter swap in memset call
(ruby-1.8.2-strscan-memset.patch)
- let mkmf create shared libraries (ruby-mkmf-shared.patch)
- splitted of devel files
-------------------------------------------------------------------
Tue Jul 19 15:49:46 CEST 2005 - mge@suse.de
- make "make test" run also on x86_64 by disabling
code optimization (-O0), as it is for ia64
- enable "make test" for ppc64 again
-------------------------------------------------------------------
Tue Jul 19 07:42:02 CEST 2005 - mge@suse.de
- Fixes #95366, CAN-2005-1992:
arbitrary command execution on XMLRPC server
-------------------------------------------------------------------
Wed Jun 1 17:42:21 CEST 2005 - ro@suse.de
- update to 1.8.2
-------------------------------------------------------------------
Mon Jan 3 11:42:28 CET 2005 - mge@suse.de
- added fixes for lib/cgi.rb and lib/cgi/session.rb
from ruby-1.8.2, fixes: #47886 (CAN-2004-0983)
-------------------------------------------------------------------
Thu Nov 18 02:01:24 CET 2004 - ro@suse.de
- fixed file list
-------------------------------------------------------------------
Sat Sep 25 11:38:02 CEST 2004 - ro@suse.de
- added cgi_session.diff (from debian, CAN-2004-0755)
-------------------------------------------------------------------
Mon Jul 26 01:29:37 CEST 2004 - ro@suse.de
- fix typo in specfile
-------------------------------------------------------------------
Sun Jun 20 20:18:15 CEST 2004 - ro@suse.de
- fix find in specfile
-------------------------------------------------------------------
Thu Apr 29 01:32:40 CEST 2004 - ro@suse.de
- added missing return value (unreached code)
-------------------------------------------------------------------
Tue Mar 23 14:59:25 CET 2004 - mge@suse.de
- make ruby build on ia64 and ppc64
-------------------------------------------------------------------
Sat Feb 28 17:16:10 CET 2004 - ro@suse.de
- fix makefile rule for regenerating lex.c
-------------------------------------------------------------------
Sat Feb 28 12:05:46 CET 2004 - ro@suse.de
- add gperf to neededforbuild
-------------------------------------------------------------------
Sat Feb 28 01:07:47 CET 2004 - ro@suse.de
- fix requirement for /usr/local/bin
- use no-strict-aliasing
-------------------------------------------------------------------
Mon Feb 2 12:37:24 CET 2004 - mge@suse.de
- update to 1.8.1
also fixes Bug #34226: Readline support missing from ruby
-------------------------------------------------------------------
Sat Jan 10 22:03:01 CET 2004 - adrian@suse.de
- add %defattr
-------------------------------------------------------------------
Mon Aug 4 11:53:49 CEST 2003 - mge@suse.de
- update tp 1.8.0
-------------------------------------------------------------------
Mon Jan 6 04:07:50 CET 2003 - mge@suse.de
- update to 1.6.8
-------------------------------------------------------------------
Tue May 21 14:03:25 CEST 2002 - meissner@suse.de
- More %_lib fixes inside package.
-------------------------------------------------------------------
Tue May 21 11:38:41 CEST 2002 - meissner@suse.de
- %_lib fixes
- Added prototype for rb_node_newnode.
-------------------------------------------------------------------
Fri May 17 12:32:52 CEST 2002 - mge@suse.de
- update to 1.6.7
-------------------------------------------------------------------
Mon Apr 15 01:44:30 CEST 2002 - bk@suse.de
- lib64 and new arch fixes: suse_update_config and use %_libdir
-------------------------------------------------------------------
Fri Apr 5 13:29:02 CEST 2002 - schwab@suse.de
- Remove ia64 workaround.
-------------------------------------------------------------------
Tue Aug 21 03:14:46 MEST 2001 - mge@suse.de
- update to 1.6.4
-------------------------------------------------------------------
Sun May 20 21:37:19 MEST 2001 - mge@suse.de
- changes _only_ to spec-file:
- make ruby shared libs built
- cleanup ruby directory structure (drop /usr/share/lib/ruby/)
-------------------------------------------------------------------
Wed May 9 21:53:32 CEST 2001 - mfabian@suse.de
- bzip2 sources
-------------------------------------------------------------------
Thu Mar 22 01:49:00 MET 2001 - mge@suse.de
- update to 1.6.3, merge of rread's SPEC patches
-------------------------------------------------------------------
Mon Mar 19 16:04:24 CET 2001 - schwab@suse.de
- Don't use __builtin_frame_address(2) on ia64.
- Compile with -O0 on ia64 to work around compiler bug.
-------------------------------------------------------------------
Mon Mar 05 00:00:00 CET 2001 - rread@mountainviewdata.com
- introduced build-root
-------------------------------------------------------------------
Fri Feb 23 00:10:25 CET 2001 - ro@suse.de
- added readline/readline-devel to neededforbuild (split from bash)
-------------------------------------------------------------------
Fri Jan 12 18:22:32 MET 2001 - mge@suse.de
- update to 1.6.2
-------------------------------------------------------------------
Wed Dec 13 13:21:15 CET 2000 - schwab@suse.de
- Add %suse_update_config.
- Fix computation of stack limit.
-------------------------------------------------------------------
Mon Dec 4 23:28:15 MET 2000 - mge@suse.de
- update to 1.6.1, manual 1.4.6
-------------------------------------------------------------------
Thu Jul 6 13:30:35 MEST 2000 - mge@suse.de
- initial SuSE RPM

683
ruby.spec Normal file
View File

@ -0,0 +1,683 @@
#
# spec file for package ruby (Version 1.8.5)
#
# Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: ruby
Version: 1.8.5
Release: 8
%define rb_ver %(echo %{version} | sed -e 's/\\\.[0-9]\\\+$//')
#
License: GNU General Public License (GPL) - all versions, Other License(s), see package
Group: Development/Languages/Ruby
#
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: gperf graphviz libjpeg-devel openssl-devel readline-devel tk-devel
%if 0%{?suse_version} < 930
BuildRequires: XFree86-devel XFree86-fonts-scalable
%else
BuildRequires: xorg-x11-devel xorg-x11-fonts-scalable
%endif
Provides: /usr/bin/ruby
#
URL: http://www.ruby-lang.org/
Source0: ruby-%{version}.tar.bz2
Source1: irb.1
Source2: ruby-doc-bundle.tar.bz2
Patch0: ruby-1.8.2-gc.diff
Patch1: ruby-1.8.1-lib64.diff
Patch2: ruby-1.8.4-no-eaccess.diff
Patch4: ruby-1.8.2-tcltk-multilib.patch
Patch7: ruby-socket_ipv6.patch
Patch8: ruby-1.8.4-warnings.patch
Patch9: ruby-1.8.5_linkerflags.patch
Patch10: ruby-1.8.4-fix-insecure-dir-operation.patch
Patch11: ruby-1.8.4-fix-insecure-regexp-modification.patch
Patch12: ruby-1.8.4-fix-alias-safe-level.patch
Patch13: ruby-fix-autoconf-magic-code.patch
Patch15: cgi_multipart_eof_fix.patch
# vendor ruby files taken from:
# http://svn.macports.org/repository/macports/trunk/dports/lang/ruby/
Patch14: ruby-1.8.5-vendor_ruby.patch
Source3: site-specific.rb
Source4: vendor-specific.rb
#
Summary: An Interpreted Object-Oriented Scripting Language
%description
Ruby is an interpreted scripting language for quick and easy
object-oriented programming. It has many features for processing text
files and performing system management tasks (as in Perl). It is
simple, straight-forward, and extensible.
* Ruby features:
- Simple Syntax
- *Normal* Object-Oriented features (class, method calls, for
example)
- *Advanced* Object-Oriented features(Mix-in, Singleton-method, for
example)
- Operator Overloading
- Exception Handling
- Iterators and Closures
- Garbage Collection
- Dynamic Loading of Object Files (on some architectures)
- Highly Portable (works on many UNIX machines; DOS, Windows, Mac,
BeOS, and more)
Authors:
--------
Yukihiro Matsumoto <matz@netlab.co.jp>
%package devel
Group: Development/Languages/Ruby
Summary: Development files to link against Ruby.
Requires: %{name} = %{version}
%description devel
Development files to link against Ruby.
Authors:
--------
Yukihiro Matsumoto <matz@netlab.co.jp>
%package tk
Group: Development/Languages/Ruby
Summary: TCL/TK bindings for Ruby
Requires: %{name} = %{version}
%description tk
TCL/TK bindings for Ruby
Authors:
--------
Yukihiro Matsumoto <matz@netlab.co.jp>
%package doc-ri
Group: Development/Languages/Ruby
Summary: Ruby Interactive Documentation
Requires: %{name} = %{version}
%description doc-ri
This package contains the RI docs for ruby
Authors:
--------
Yukihiro Matsumoto <matz@netlab.co.jp>
%package doc-html
Group: Development/Languages/Ruby
Summary: This package contains the HTML docs for ruby
%description doc-html
This package contains the HTML docs for ruby
Authors:
--------
Yukihiro Matsumoto <matz@netlab.co.jp>
%package examples
Group: Development/Languages/Ruby
Summary: Example scripts for ruby
Requires: %{name} = %{version}
%description examples
Example scripts for ruby
Authors:
--------
Yukihiro Matsumoto <matz@netlab.co.jp>
%package test-suite
Group: Development/Languages/Ruby
Summary: An Interpreted Object-Oriented Scripting Language
%description test-suite
Ruby is an interpreted scripting language for quick and easy
object-oriented programming. It has many features for processing text
files and performing system management tasks (as in Perl). It is
simple, straight-forward, and extensible.
* Ruby features:
- Simple Syntax
- *Normal* Object-Oriented features (class, method calls, for
example)
- *Advanced* Object-Oriented features(Mix-in, Singleton-method, for
example)
- Operator Overloading
- Exception Handling
- Iterators and Closures
- Garbage Collection
- Dynamic Loading of Object Files (on some architectures)
- Highly Portable (works on many UNIX machines; DOS, Windows, Mac,
BeOS, and more)
Authors:
--------
Yukihiro Matsumoto <matz@netlab.co.jp>
%prep
%setup -q -a2
%patch0
%patch1
#%patch2
%patch4
%patch7
#%patch8
%patch9
#%patch10 -p1
#%patch11 -p1
#%patch12 -p1
#%patch13 -p1
%patch14
%patch15
find . -type f | xargs -n 1 sed -i "s@#!\s*/usr/local/bin/ruby@#!/usr/bin/ruby@"
touch parse.y
%build
autoreconf -fi
export CFLAGS="%{optflags} -g -fno-strict-aliasing"
%configure \
--with-default-kcode=none \
--with-mantype=man \
--enable-shared \
--enable-static
%{__make} all
%{__make} -C ext/tk/ all
#
# move the tests out of the way that require an installed ruby
# we dont have that in our build environment.
#
%{__mkdir} unused.test
%{__mv} test/{drb,soap,webrick} unused.test/
%ifarch ppc64 s390x
%{__mv} test/openssl/ unused.test/
%endif
#
# -> LD_LIBRARY_PATH => we need to find libruby.so.%{rb_ver}
# the test suite uses LD_PRELOAD=./libruby.so.%{rb_ver}
# -> RUBYLIB => find needed modules during documentation generation
#
export LD_LIBRARY_PATH="$PWD/"
export RUBYLIB="$PWD:$PWD/lib:$(find $PWD/.ext $PWD/ext/ -type d |tr '\n' ':')."
#
# run the test suites
#
#%{__make} check
#
# TODO:
# the big test suite fails with some weird openssl errors on ppc
# to be reinvestigated
#
# %{__make} check
#
# restore the tests
#
%{__mv} unused.test/{drb,soap,webrick} test/
%ifarch ppc64 s390x
%{__mv} unused.test/openssl/ test/
%endif
#
# TODO: patch the .document files to include all needed modules.
#
./ruby bin/rdoc \
--all --line-numbers --ri-system \
--op=ri/%{rb_ver}/system .
./ruby bin/rdoc \
--all --line-numbers --charset=UTF-8 \
--fmt=html -p --inline-source \
--op=rdoc/html .
%install
%makeinstall
%makeinstall -C ext/tk/
%{__install} -d -m 0755 \
%{buildroot}%{_docdir}/%{name}{,-test-suite} \
%{buildroot}%{_datadir}/emacs/site-lisp \
%{buildroot}%{_datadir}/ri/%{rb_ver}/system/ \
%{buildroot}%{_libdir}/%{name}/vendor_%{name}/%{rb_ver}
#
%{__install} -m 0644 misc/*.el %{buildroot}%{_datadir}/emacs/site-lisp/
%{__install} -m 0644 %{S:1} %{buildroot}%{_mandir}/man1/irb.1
#
%{__install} -m 0644 %{S:3} %{buildroot}%{_libdir}/%{name}/site_%{name}/%{rb_ver}
%{__install} -m 0644 %{S:4} %{buildroot}%{_libdir}/%{name}/vendor_%{name}/%{rb_ver}
#
%{__cp} -rv \
ri/%{rb_ver}/system/* %{buildroot}%{_datadir}/
mv %{buildroot}%{_datadir}{,/ri/%{rb_ver}}/created.rid
%{__cp} -rv \
COPYING COPYING.ja ChangeLog GPL LEGAL \
LGPL README README.EXT README.EXT.ja \
README.ja ToDo doc/NEWS \
%{buildroot}%{_docdir}/%{name}
%{__cp} -rv \
ruby-doc-bundle %{buildroot}%{_docdir}/%{name}
%{__cp} -rv \
rdoc/html %{buildroot}%{_docdir}/%{name}/ruby-library-docs
%{__cp} -rv \
sample %{buildroot}%{_docdir}/%{name}/examples
%{__cp} -r test/ runruby.rb %{buildroot}%{_docdir}/%{name}-test-suite/
%{__ln_s} -f %{_bindir}/%{name} %{buildroot}%{_docdir}/%{name}-test-suite/%{name}
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_bindir}/*
%dir %{_libdir}/%{name}
%dir %{_libdir}/%{name}/%{rb_ver}
%{_libdir}/lib%{name}.so.%{rb_ver}*
%{_datadir}/emacs/site-lisp/*
%{_mandir}/man1/*
%dir %{_libdir}/%{name}/site_%{name}
%dir %{_libdir}/%{name}/site_%{name}/%{rb_ver}
%dir %{_libdir}/%{name}/site_%{name}/%{rb_ver}/%{rb_arch}
%dir %{_libdir}/%{name}/vendor_%{name}
%dir %{_libdir}/%{name}/vendor_%{name}/%{rb_ver}
%dir %{_libdir}/%{name}/vendor_%{name}/%{rb_ver}/%{rb_arch}
%{_libdir}/%{name}/site_%{name}/%{rb_ver}/site-specific.rb
%{_libdir}/%{name}/vendor_%{name}/%{rb_ver}/vendor-specific.rb
%{_libdir}/%{name}/%{rb_ver}/English.rb
%{_libdir}/%{name}/%{rb_ver}/Env.rb
%{_libdir}/%{name}/%{rb_ver}/abbrev.rb
%{_libdir}/%{name}/%{rb_ver}/base64.rb
%{_libdir}/%{name}/%{rb_ver}/benchmark.rb
%{_libdir}/%{name}/%{rb_ver}/cgi*
%{_libdir}/%{name}/%{rb_ver}/complex.rb
%{_libdir}/%{name}/%{rb_ver}/csv.rb
%{_libdir}/%{name}/%{rb_ver}/date.rb
%dir %{_libdir}/%{name}/%{rb_ver}/date
%{_libdir}/%{name}/%{rb_ver}/date/format.rb
%{_libdir}/%{name}/%{rb_ver}/date2.rb
%{_libdir}/%{name}/%{rb_ver}/debug.rb
%{_libdir}/%{name}/%{rb_ver}/delegate.rb
%{_libdir}/%{name}/%{rb_ver}/bigdecimal/
%{_libdir}/%{name}/%{rb_ver}/dl/
%{_libdir}/%{name}/%{rb_ver}/drb*
%{_libdir}/%{name}/%{rb_ver}/e2mmap.rb
%{_libdir}/%{name}/%{rb_ver}/erb.rb
%{_libdir}/%{name}/%{rb_ver}/eregex.rb
%{_libdir}/%{name}/%{rb_ver}/expect.rb
%{_libdir}/%{name}/%{rb_ver}/fileutils.rb
%{_libdir}/%{name}/%{rb_ver}/finalize.rb
%{_libdir}/%{name}/%{rb_ver}/find.rb
%{_libdir}/%{name}/%{rb_ver}/forwardable.rb
%{_libdir}/%{name}/%{rb_ver}/ftools.rb
%{_libdir}/%{name}/%{rb_ver}/generator.rb
%{_libdir}/%{name}/%{rb_ver}/getoptlong.rb
%{_libdir}/%{name}/%{rb_ver}/getopts.rb
%{_libdir}/%{name}/%{rb_ver}/gserver.rb
%{_libdir}/%{name}/%{rb_ver}/importenv.rb
%{_libdir}/%{name}/%{rb_ver}/io/
%{_libdir}/%{name}/%{rb_ver}/ipaddr.rb
%{_libdir}/%{name}/%{rb_ver}/irb*
%{_libdir}/%{name}/%{rb_ver}/jcode.rb
%{_libdir}/%{name}/%{rb_ver}/kconv.rb
%{_libdir}/%{name}/%{rb_ver}/logger.rb
%{_libdir}/%{name}/%{rb_ver}/mailread.rb
%{_libdir}/%{name}/%{rb_ver}/mathn.rb
%{_libdir}/%{name}/%{rb_ver}/matrix.rb
%{_libdir}/%{name}/%{rb_ver}/md5.rb
%{_libdir}/%{name}/%{rb_ver}/mkmf.rb
%{_libdir}/%{name}/%{rb_ver}/monitor.rb
%{_libdir}/%{name}/%{rb_ver}/mutex_m.rb
%{_libdir}/%{name}/%{rb_ver}/net/
%{_libdir}/%{name}/%{rb_ver}/observer.rb
%{_libdir}/%{name}/%{rb_ver}/open-uri.rb
%{_libdir}/%{name}/%{rb_ver}/open3.rb
%{_libdir}/%{name}/%{rb_ver}/openssl*
%{_libdir}/%{name}/%{rb_ver}/optparse*
%{_libdir}/%{name}/%{rb_ver}/ostruct.rb
%{_libdir}/%{name}/%{rb_ver}/parsearg.rb
%{_libdir}/%{name}/%{rb_ver}/parsedate.rb
%{_libdir}/%{name}/%{rb_ver}/pathname.rb
%{_libdir}/%{name}/%{rb_ver}/ping.rb
%{_libdir}/%{name}/%{rb_ver}/pp.rb
%{_libdir}/%{name}/%{rb_ver}/prettyprint.rb
%{_libdir}/%{name}/%{rb_ver}/profile.rb
%{_libdir}/%{name}/%{rb_ver}/profiler.rb
%{_libdir}/%{name}/%{rb_ver}/pstore.rb
%dir %{_libdir}/%{name}/%{rb_ver}/racc
%{_libdir}/%{name}/%{rb_ver}/racc/parser.rb
%{_libdir}/%{name}/%{rb_ver}/rational.rb
%{_libdir}/%{name}/%{rb_ver}/rdoc/
%{_libdir}/%{name}/%{rb_ver}/readbytes.rb
%{_libdir}/%{name}/%{rb_ver}/resolv-replace.rb
%{_libdir}/%{name}/%{rb_ver}/resolv.rb
%{_libdir}/%{name}/%{rb_ver}/rexml/
%{_libdir}/%{name}/%{rb_ver}/rinda/
%{_libdir}/%{name}/%{rb_ver}/rss*
%{_libdir}/%{name}/%{rb_ver}/rubyunit.rb
%{_libdir}/%{name}/%{rb_ver}/runit/
%{_libdir}/%{name}/%{rb_ver}/scanf.rb
%{_libdir}/%{name}/%{rb_ver}/set.rb
%{_libdir}/%{name}/%{rb_ver}/sha1.rb
%{_libdir}/%{name}/%{rb_ver}/shell*
%{_libdir}/%{name}/%{rb_ver}/singleton.rb
%{_libdir}/%{name}/%{rb_ver}/soap/
%{_libdir}/%{name}/%{rb_ver}/sync.rb
%{_libdir}/%{name}/%{rb_ver}/tempfile.rb
%{_libdir}/%{name}/%{rb_ver}/test/
%{_libdir}/%{name}/%{rb_ver}/thread.rb
%{_libdir}/%{name}/%{rb_ver}/thwait.rb
%{_libdir}/%{name}/%{rb_ver}/time.rb
%{_libdir}/%{name}/%{rb_ver}/timeout.rb
%{_libdir}/%{name}/%{rb_ver}/tmpdir.rb
%{_libdir}/%{name}/%{rb_ver}/tracer.rb
%{_libdir}/%{name}/%{rb_ver}/tsort.rb
%{_libdir}/%{name}/%{rb_ver}/un.rb
%{_libdir}/%{name}/%{rb_ver}/uri*
%{_libdir}/%{name}/%{rb_ver}/weakref.rb
%{_libdir}/%{name}/%{rb_ver}/webrick*
%{_libdir}/%{name}/%{rb_ver}/wsdl/
%{_libdir}/%{name}/%{rb_ver}/xmlrpc/
%{_libdir}/%{name}/%{rb_ver}/xsd/
%{_libdir}/%{name}/%{rb_ver}/yaml*
%dir %{_libdir}/%{name}/%{rb_ver}/%{rb_arch}
%{_libdir}/%{name}/%{rb_ver}/%{rb_arch}/rbconfig.rb
%{_libdir}/%{name}/%{rb_ver}/%{rb_arch}/[a-sA-s]*.so
%{_libdir}/%{name}/%{rb_ver}/%{rb_arch}/[u-zU-Z]*.so
%{_libdir}/%{name}/%{rb_ver}/%{rb_arch}/digest/
%{_libdir}/%{name}/%{rb_ver}/%{rb_arch}/io/
%{_libdir}/%{name}/%{rb_ver}/%{rb_arch}/racc/
%dir %{_docdir}/%{name}
%doc %{_docdir}/%{name}/COPYING*
%doc %{_docdir}/%{name}/ChangeLog
%doc %{_docdir}/%{name}/LEGAL
%doc %{_docdir}/%{name}/*GPL
%doc %{_docdir}/%{name}/NEWS
%doc %{_docdir}/%{name}/README*
%doc %{_docdir}/%{name}/ToDo
%files devel
%defattr(-,root,root)
%{_libdir}/lib%{name}.so
%{_libdir}/lib%{name}-static.a
%{_libdir}/%{name}/%{rb_ver}/%{rb_arch}/*.h
%files test-suite
%defattr(-,root,root)
%{_docdir}/%{name}-test-suite
%files tk
%defattr(-,root,root)
%{_libdir}/%{name}/%{rb_ver}/tcltk.rb
%{_libdir}/%{name}/%{rb_ver}/tk*
%{_libdir}/%{name}/%{rb_ver}/%{rb_arch}/tcltklib.so
%{_libdir}/%{name}/%{rb_ver}/%{rb_arch}/tkutil.so
%{_libdir}/%{name}/%{rb_ver}/remote-tk.rb
%{_libdir}/%{name}/%{rb_ver}/multi-tk.rb
%files doc-html
%defattr(-,root,root)
%doc %{_docdir}/%{name}/ruby-library-docs
%doc %{_docdir}/%{name}/ruby-doc-bundle
%files doc-ri
%defattr(-,root,root)
%doc %{_datadir}/ri
%files examples
%defattr(-,root,root)
%doc %{_docdir}/%{name}/examples
%changelog -n ruby
* Mon Oct 30 2006 - mrueckert@suse.de
- added cgi_multipart_eof_fix.patch:
fix for a denial of service condition in cgi.rb CVE-2006-5467
(#214916)
* Fri Oct 20 2006 - mrueckert@suse.de
- run ldconfig
- add site_ruby and vendor_ruby arch directories to the filelist
* Wed Sep 27 2006 - mrueckert@suse.de
- added ruby-1.8.5-vendor_ruby.patch, site-specific.rb, vendor-specific.rb:
add vendor_ruby support. This is a small change for packager.
you can now run 'ruby -rvendor-specific extconf.rb' (or setup.rb)
and it will be automatically installed in
%%{_libdir}/ruby/vendor_ruby.
* Sat Aug 26 2006 - mrueckert@suse.de
- Update to version 1.8.5:
o Non-blocking IO
| - Several methods backported from HEAD have been added:
| - BasicSocket?#recv_nonblock
| - IO#read_nonblock
| - IO#write_nonblock
| - Socket#accept_nonblock
| - Socket#connect_nonblock
| - Socket#recvfrom_nonblock
| - TCPServer#accept_nonblock
| - UDPSocket#recvfrom_nonblock
| - UNIXServer#accept_nonblock
| (see ruby-core:7917, ruby-core:7925).
|
o Process.getrlimit/setrlimit See ruby-dev:28729.
|
o Changes in rdoc/ri
| - lots of documentation added
| - RubyGems support: ri will search gem installation dirs for
| additional documentation
| - new options to limit the search path
|
o RSS
| - added RSS::RootElementMixin?#to_xml (ruby-talk:197284), which
| can be used to convert feeds to a different RSS version as
| follows:
| [[[
| rss10 = RSS::Parser.parse(File.read("1.0.rdf"))
| File.open("2.0.rss", "w") {|f| f.print(rss10.to_xml("2.0"))}
| ]]]
| - Support for taxonomies added to the RSS parser and generator.
| - A number of convenience methods added
| - New style API for RSS generation ruby-talk:197284
| [[[
| The recommended style is nowxxx.new_yyy do |yyy|
| yyy.zzz = zzz
| ...
| end
|
|
| This corresponds to the following in pre-1.8.5:
| yyy = xxx.new_yyy
| yyy.zzz = zzz
| ]]]
o Misc
| - added Kernel.Pathname(path)
| - added Kernel#pretty_inspect
| - changes in the GC subsystem that result in better performance
| in some cases
| - added OptionParser?#getopts
| - the per-object overhead went down to 20 bytes on win32
| (from 24) ruby-core:7474
o What breaks (!!!)
| - Binding.of_caller, and therefore breakpoint (including Rails')
| - several problems in ri reported: the documentation for some
| methods seems to have disappeared, and several methods that
| should not be documented appear in the indices;
| see ruby-core:08709
- removed patches, which are included in 1.8.5:
ruby-1.8.4-fix-insecure-dir-operation.patch
ruby-1.8.4-fix-insecure-regexp-modification.patch
ruby-1.8.4-fix-alias-safe-level.patch
- updated ruby-1.8.4_linkerflags.patch.
new name ruby-1.8.5_linkerflags.patch
* Mon Jul 31 2006 - mrueckert@suse.de
- added ruby-fix-autoconf-magic-code.patch:
Fix for the latest changes in the autoconf code.
* Mon Jul 31 2006 - mrueckert@suse.de
- security fixes [CVE-2006-3694] [#193661]
* added ruby-1.8.4-fix-insecure-dir-operation.patch &
ruby-1.8.4-fix-insecure-regexp-modification.patch:
fix the insecure operations in the certain safe-level
restrictions.
* ruby-1.8.4-fix-alias-safe-level.patch: preserve safe level
restrictions when aliasing a function.
* Mon Apr 10 2006 - mrueckert@suse.de
- build with -fno-strict-aliasing
- enable more tests on ppc
- disable drb tests
* Mon Apr 03 2006 - mrueckert@suse.de
- reworked the ruby-1.8.4-no-eaccess.diff patch
it broke when build on old distros
* Thu Jan 26 2006 - mrueckert@suse.de
- added upstream patch for eaccess
- disabled openssl tests on pcc
* Wed Jan 25 2006 - mrueckert@suse.de
- added ruby-1.8.4_linkerflags.patch
patch removes -L. from the linker flags.
it seems libtool otherwise expands it to -L$PWD.
this leads to trouble with our build system.
* Wed Jan 25 2006 - mls@suse.de
- converted neededforbuild to BuildRequires
* Sun Jan 15 2006 - kukuk@suse.de
- Use eaccess() from glibc [#143291]
* Sun Jan 15 2006 - mrueckert@suse.de
- disabled the big test suite as we trigger
a weird bug in the openssl bindings on ppc64
* Sat Dec 24 2005 - mrueckert@suse.de
- Update to 1.8.4
- dont run with --default-kcode=utf8
triggers a bug in the test suite
* Fri Sep 23 2005 - mrueckert@suse.de
- update to 1.8.3
- updated patches for 1.8.3
- ruby-doc tarball now included as tar.bz2
* Mon Sep 12 2005 - mrueckert@suse.de
- fix path of the RI documentation [Bug #116408]
* Thu Sep 08 2005 - mrueckert@suse.de
- dont make the irb man page executable. [Bug #114849]
* Tue Aug 23 2005 - mrueckert@suse.de
- added directory entries for the site ruby dirs
* Mon Aug 22 2005 - mrueckert@suse.de
- disabled mkmf patch for now. it breaks building the socket
extension.
* Sun Aug 21 2005 - ro@suse.de
- added directories to filelist
- fix typo in filelist
* Fri Aug 19 2005 - mrueckert@suse.de
- Build RI and html documentation. Added subpackages for them.
- moved samples into a sub packages.
- build tcl/tk bindings and move them into their own package.
(ruby-1.8.2-tcltk-multilib.patch)
- disabled optimization on ia64/x86_x64. needs investigation.
- fixed parameter swap in memset call
(ruby-1.8.2-strscan-memset.patch)
- let mkmf create shared libraries (ruby-mkmf-shared.patch)
- splitted of devel files
* Tue Jul 19 2005 - mge@suse.de
- make "make test" run also on x86_64 by disabling
code optimization (-O0), as it is for ia64
- enable "make test" for ppc64 again
* Tue Jul 19 2005 - mge@suse.de
- Fixes #95366, CAN-2005-1992:
arbitrary command execution on XMLRPC server
* Wed Jun 01 2005 - ro@suse.de
- update to 1.8.2
* Mon Jan 03 2005 - mge@suse.de
- added fixes for lib/cgi.rb and lib/cgi/session.rb
from ruby-1.8.2, fixes: #47886 (CAN-2004-0983)
* Thu Nov 18 2004 - ro@suse.de
- fixed file list
* Sat Sep 25 2004 - ro@suse.de
- added cgi_session.diff (from debian, CAN-2004-0755)
* Mon Jul 26 2004 - ro@suse.de
- fix typo in specfile
* Sun Jun 20 2004 - ro@suse.de
- fix find in specfile
* Thu Apr 29 2004 - ro@suse.de
- added missing return value (unreached code)
* Tue Mar 23 2004 - mge@suse.de
- make ruby build on ia64 and ppc64
* Sat Feb 28 2004 - ro@suse.de
- fix makefile rule for regenerating lex.c
* Sat Feb 28 2004 - ro@suse.de
- add gperf to neededforbuild
* Sat Feb 28 2004 - ro@suse.de
- fix requirement for /usr/local/bin
- use no-strict-aliasing
* Mon Feb 02 2004 - mge@suse.de
- update to 1.8.1
also fixes Bug #34226: Readline support missing from ruby
* Sat Jan 10 2004 - adrian@suse.de
- add %%defattr
* Mon Aug 04 2003 - mge@suse.de
- update tp 1.8.0
* Mon Jan 06 2003 - mge@suse.de
- update to 1.6.8
* Tue May 21 2002 - meissner@suse.de
- More %%_lib fixes inside package.
* Tue May 21 2002 - meissner@suse.de
- %%_lib fixes
- Added prototype for rb_node_newnode.
* Fri May 17 2002 - mge@suse.de
- update to 1.6.7
* Mon Apr 15 2002 - bk@suse.de
- lib64 and new arch fixes: suse_update_config and use %%_libdir
* Fri Apr 05 2002 - schwab@suse.de
- Remove ia64 workaround.
* Tue Aug 21 2001 - mge@suse.de
- update to 1.6.4
* Sun May 20 2001 - mge@suse.de
- changes _only_ to spec-file:
- make ruby shared libs built
- cleanup ruby directory structure (drop /usr/share/lib/ruby/)
* Wed May 09 2001 - mfabian@suse.de
- bzip2 sources
* Thu Mar 22 2001 - mge@suse.de
- update to 1.6.3, merge of rread's SPEC patches
* Mon Mar 19 2001 - schwab@suse.de
- Don't use __builtin_frame_address(2) on ia64.
- Compile with -O0 on ia64 to work around compiler bug.
* Mon Mar 05 2001 - rread@mountainviewdata.com
- introduced build-root
* Fri Feb 23 2001 - ro@suse.de
- added readline/readline-devel to neededforbuild (split from bash)
* Fri Jan 12 2001 - mge@suse.de
- update to 1.6.2
* Wed Dec 13 2000 - schwab@suse.de
- Add %%suse_update_config.
- Fix computation of stack limit.
* Mon Dec 04 2000 - mge@suse.de
- update to 1.6.1, manual 1.4.6
* Thu Jul 06 2000 - mge@suse.de
- initial SuSE RPM

14
site-specific.rb Normal file
View File

@ -0,0 +1,14 @@
# $Id: site-specific.rb,v 1.1 2004/04/02 04:47:43 rshaw Exp $
# Default site_ruby install library setting for normal module
# installation. You can force site installation with the following:
#
# ruby -rsite-specific extconf.rb
# or
# ruby -rsite-specific install.rb
#
# This is not required for normal user module installation as they will
# default to site_ruby, it is only provided for consistency. Developers
# creating packages/ports should use the vendor-specific option.
#
VENDOR_SPECIFIC=false

14
vendor-specific.rb Normal file
View File

@ -0,0 +1,14 @@
# $Id: vendor-specific.rb,v 1.1 2004/04/02 04:47:43 rshaw Exp $
# Custom vendor_ruby install library setting for DarwinPorts module
# installation. You can force vendor installation with the following:
#
# ruby -rvendor-specific extconf.rb
# or
# ruby -rvendor-specific install.rb
#
# This causes vendor-specific installation mode. The default without
# this is to do a site-specific installation, which is recommended for
# general user installation of modules.
#
VENDOR_SPECIFIC=true