* common.mk (INSTRUBY_ARGS): pass mode to install. [ruby-dev:33766]

* instruby.rb (parse_args): added --data-mode and --prog-mode options.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2008-02-13 15:49:56 +00:00
parent a707f6249f
commit c9c655bf2c
4 changed files with 42 additions and 24 deletions

View File

@ -1,3 +1,9 @@
Thu Feb 14 00:49:53 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* common.mk (INSTRUBY_ARGS): pass mode to install. [ruby-dev:33766]
* instruby.rb (parse_args): added --data-mode and --prog-mode options.
Thu Feb 14 00:02:19 2008 Yusuke Endoh <mame@tsg.ne.jp> Thu Feb 14 00:02:19 2008 Yusuke Endoh <mame@tsg.ne.jp>
* eval.c (eval): allow to eval in a binding that has a singleton method. * eval.c (eval): allow to eval in a binding that has a singleton method.

View File

@ -84,11 +84,15 @@ GOLFOBJS = goruby.$(OBJEXT) golf_prelude.$(OBJEXT)
SCRIPT_ARGS = --dest-dir="$(DESTDIR)" \ SCRIPT_ARGS = --dest-dir="$(DESTDIR)" \
--extout="$(EXTOUT)" \ --extout="$(EXTOUT)" \
--make="$(MAKE)" \
--mflags="$(MFLAGS)" \ --mflags="$(MFLAGS)" \
--make-flags="$(MAKEFLAGS)" --make-flags="$(MAKEFLAGS)"
EXTMK_ARGS = $(SCRIPT_ARGS) --extension $(EXTS) --extstatic $(EXTSTATIC) -- EXTMK_ARGS = $(SCRIPT_ARGS) --extension $(EXTS) --extstatic $(EXTSTATIC) --
INSTRUBY_ARGS = $(SCRIPT_ARGS) --installed-list $(INSTALLED_LIST) INSTRUBY_ARGS = $(SCRIPT_ARGS) \
--data-mode=$(INSTALL_DATA_MODE) \
--prog-mode=$(INSTALL_PROG_MODE) \
--installed-list $(INSTALLED_LIST)
INSTALL_PROG_MODE = 0755
INSTALL_DATA_MODE = 0644
PRE_LIBRUBY_UPDATE = $(MINIRUBY) -e 'ARGV[1] or File.unlink(ARGV[0]) rescue nil' -- \ PRE_LIBRUBY_UPDATE = $(MINIRUBY) -e 'ARGV[1] or File.unlink(ARGV[0]) rescue nil' -- \
$(LIBRUBY_EXTS) $(LIBRUBY_SO_UPDATE) $(LIBRUBY_EXTS) $(LIBRUBY_SO_UPDATE)

View File

@ -24,6 +24,8 @@ def parse_args()
$installed_list = nil $installed_list = nil
$dryrun = false $dryrun = false
$rdocdir = nil $rdocdir = nil
$data_mode = 0644
$prog_mode = 0755
opt = OptionParser.new opt = OptionParser.new
opt.on('-n') {$dryrun = true} opt.on('-n') {$dryrun = true}
opt.on('--dest-dir=DIR') {|dir| $destdir = dir} opt.on('--dest-dir=DIR') {|dir| $destdir = dir}
@ -40,6 +42,12 @@ def parse_args()
[:local, :bin, :lib, :man, :ext, :"ext-arch", :"ext-comm", :rdoc]) do |ins| [:local, :bin, :lib, :man, :ext, :"ext-arch", :"ext-comm", :rdoc]) do |ins|
$install << ins $install << ins
end end
opt.on('--data-mode=OCTAL-MODE', OptionParser::OctalInteger) do |mode|
$data_mode = mode
end
opt.on('--prog-mode=OCTAL-MODE', OptionParser::OctalInteger) do |mode|
$prog_mode = mode
end
opt.on('--installed-list [FILENAME]') {|name| $installed_list = name} opt.on('--installed-list [FILENAME]') {|name| $installed_list = name}
opt.on('--rdoc-output [DIR]') {|dir| $rdocdir = dir} opt.on('--rdoc-output [DIR]') {|dir| $rdocdir = dir}
@ -119,7 +127,7 @@ def makedirs(dirs)
File.directory?(realdir) File.directory?(realdir)
end end
end.compact! end.compact!
super(dirs, :mode => 0755) unless dirs.empty? super(dirs, :mode => $prog_mode) unless dirs.empty?
end end
def install_recursive(srcdir, dest, options = {}) def install_recursive(srcdir, dest, options = {})
@ -191,22 +199,22 @@ install?(:local, :arch, :bin) do
makedirs [bindir, libdir, archlibdir] makedirs [bindir, libdir, archlibdir]
install ruby_install_name+exeext, bindir, :mode => 0755 install ruby_install_name+exeext, bindir, :mode => $prog_mode
if rubyw_install_name and !rubyw_install_name.empty? if rubyw_install_name and !rubyw_install_name.empty?
install rubyw_install_name+exeext, bindir, :mode => 0755 install rubyw_install_name+exeext, bindir, :mode => $prog_mode
end end
if File.exist? goruby_install_name+exeext if File.exist? goruby_install_name+exeext
install goruby_install_name+exeext, bindir, :mode => 0755 install goruby_install_name+exeext, bindir, :mode => $prog_mode
end end
if enable_shared and dll != lib if enable_shared and dll != lib
install dll, bindir, :mode => 0755 install dll, bindir, :mode => $prog_mode
end end
install lib, libdir, :mode => 0755 unless lib == arc install lib, libdir, :mode => $prog_mode unless lib == arc
install arc, libdir, :mode => 0644 install arc, libdir, :mode => $data_mode
install "rbconfig.rb", archlibdir, :mode => 0644 install "rbconfig.rb", archlibdir, :mode => $data_mode
if CONFIG["ARCHFILE"] if CONFIG["ARCHFILE"]
for file in CONFIG["ARCHFILE"].split for file in CONFIG["ARCHFILE"].split
install file, archlibdir, :mode => 0644 install file, archlibdir, :mode => $data_mode
end end
end end
@ -225,15 +233,15 @@ if $extout
if noinst = CONFIG["no_install_files"] and noinst.empty? if noinst = CONFIG["no_install_files"] and noinst.empty?
noinst = nil noinst = nil
end end
install_recursive("#{extout}/#{CONFIG['arch']}", archlibdir, :no_install => noinst, :mode => 0755) install_recursive("#{extout}/#{CONFIG['arch']}", archlibdir, :no_install => noinst, :mode => $prog_mode)
install_recursive("#{extout}/include/#{CONFIG['arch']}", archhdrdir, :glob => "*.h", :mode => 0644) install_recursive("#{extout}/include/#{CONFIG['arch']}", archhdrdir, :glob => "*.h", :mode => $data_mode)
end end
install?(:ext, :comm, :'ext-comm') do install?(:ext, :comm, :'ext-comm') do
puts "installing extension scripts" puts "installing extension scripts"
hdrdir = rubyhdrdir + "/ruby" hdrdir = rubyhdrdir + "/ruby"
makedirs [rubylibdir, sitelibdir, vendorlibdir, hdrdir] makedirs [rubylibdir, sitelibdir, vendorlibdir, hdrdir]
install_recursive("#{extout}/common", rubylibdir, :mode => 0644) install_recursive("#{extout}/common", rubylibdir, :mode => $data_mode)
install_recursive("#{extout}/include/ruby", hdrdir, :glob => "*.h", :mode => 0644) install_recursive("#{extout}/include/ruby", hdrdir, :glob => "*.h", :mode => $data_mode)
end end
end end
@ -244,7 +252,7 @@ install?(:rdoc) do
ridatadir = File.join(CONFIG['datadir'], 'ri/$(MAJOR).$(MINOR).$(TEENY)/system') ridatadir = File.join(CONFIG['datadir'], 'ri/$(MAJOR).$(MINOR).$(TEENY)/system')
Config.expand(ridatadir) Config.expand(ridatadir)
makedirs [ridatadir] makedirs [ridatadir]
install_recursive($rdocdir, ridatadir, :mode => 0644) install_recursive($rdocdir, ridatadir, :mode => $data_mode)
end end
end end
@ -265,7 +273,7 @@ install?(:local, :comm, :bin) do
name = ruby_install_name.sub(/ruby/, File.basename(src)) name = ruby_install_name.sub(/ruby/, File.basename(src))
dest = File.join(bindir, name) dest = File.join(bindir, name)
install src, dest, :mode => 0755 install src, dest, :mode => $prog_mode
next if $dryrun next if $dryrun
@ -311,7 +319,7 @@ install?(:local, :comm, :lib) do
for f in Dir["lib/**/*{.rb,help-message}"] for f in Dir["lib/**/*{.rb,help-message}"]
dir = File.dirname(f).sub!(/\Alib/, rubylibdir) || rubylibdir dir = File.dirname(f).sub!(/\Alib/, rubylibdir) || rubylibdir
makedirs dir makedirs dir
install f, dir, :mode => 0644 install f, dir, :mode => $data_mode
end end
end end
@ -325,7 +333,7 @@ install?(:local, :arch, :lib) do
noinst << "win32.h" noinst << "win32.h"
end end
noinst = nil if noinst.empty? noinst = nil if noinst.empty?
install_recursive("include", rubyhdrdir, :no_install => noinst, :glob => "*.h", :mode => 0644) install_recursive("include", rubyhdrdir, :no_install => noinst, :glob => "*.h", :mode => $data_mode)
end end
install?(:local, :comm, :man) do install?(:local, :comm, :man) do
@ -341,7 +349,7 @@ install?(:local, :comm, :man) do
makedirs destdir makedirs destdir
if $mantype == "doc" if $mantype == "doc"
install mdoc, destfile, :mode => 0644 install mdoc, destfile, :mode => $data_mode
else else
require 'mdoc2man.rb' require 'mdoc2man.rb'
@ -353,7 +361,7 @@ install?(:local, :comm, :man) do
w.close w.close
install w.path, destfile, :mode => 0644 install w.path, destfile, :mode => $data_mode
end end
end end
end end

View File

@ -1,7 +1,7 @@
#define RUBY_VERSION "1.9.0" #define RUBY_VERSION "1.9.0"
#define RUBY_RELEASE_DATE "2008-02-13" #define RUBY_RELEASE_DATE "2008-02-14"
#define RUBY_VERSION_CODE 190 #define RUBY_VERSION_CODE 190
#define RUBY_RELEASE_CODE 20080213 #define RUBY_RELEASE_CODE 20080214
#define RUBY_PATCHLEVEL 0 #define RUBY_PATCHLEVEL 0
#define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MAJOR 1
@ -9,7 +9,7 @@
#define RUBY_VERSION_TEENY 0 #define RUBY_VERSION_TEENY 0
#define RUBY_RELEASE_YEAR 2008 #define RUBY_RELEASE_YEAR 2008
#define RUBY_RELEASE_MONTH 2 #define RUBY_RELEASE_MONTH 2
#define RUBY_RELEASE_DAY 13 #define RUBY_RELEASE_DAY 14
#ifdef RUBY_EXTERN #ifdef RUBY_EXTERN
RUBY_EXTERN const char ruby_version[]; RUBY_EXTERN const char ruby_version[];