summaryrefslogtreecommitdiff
path: root/instruby.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-02-13 15:49:56 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-02-13 15:49:56 +0000
commitc9c655bf2c758a3e9dc74b6ecebab6b109bf3ccb (patch)
tree16ce36a848154badbfebe1594fd0790e5917ada9 /instruby.rb
parenta707f6249f82cdd5183b18d115c25a765e6a82a8 (diff)
* 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
Diffstat (limited to 'instruby.rb')
-rwxr-xr-xinstruby.rb46
1 files changed, 27 insertions, 19 deletions
diff --git a/instruby.rb b/instruby.rb
index 9b07951e89..39c68681a4 100755
--- a/instruby.rb
+++ b/instruby.rb
@@ -24,6 +24,8 @@ def parse_args()
$installed_list = nil
$dryrun = false
$rdocdir = nil
+ $data_mode = 0644
+ $prog_mode = 0755
opt = OptionParser.new
opt.on('-n') {$dryrun = true}
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|
$install << ins
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('--rdoc-output [DIR]') {|dir| $rdocdir = dir}
@@ -119,7 +127,7 @@ def makedirs(dirs)
File.directory?(realdir)
end
end.compact!
- super(dirs, :mode => 0755) unless dirs.empty?
+ super(dirs, :mode => $prog_mode) unless dirs.empty?
end
def install_recursive(srcdir, dest, options = {})
@@ -191,22 +199,22 @@ install?(:local, :arch, :bin) do
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?
- install rubyw_install_name+exeext, bindir, :mode => 0755
+ install rubyw_install_name+exeext, bindir, :mode => $prog_mode
end
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
if enable_shared and dll != lib
- install dll, bindir, :mode => 0755
+ install dll, bindir, :mode => $prog_mode
end
- install lib, libdir, :mode => 0755 unless lib == arc
- install arc, libdir, :mode => 0644
- install "rbconfig.rb", archlibdir, :mode => 0644
+ install lib, libdir, :mode => $prog_mode unless lib == arc
+ install arc, libdir, :mode => $data_mode
+ install "rbconfig.rb", archlibdir, :mode => $data_mode
if CONFIG["ARCHFILE"]
for file in CONFIG["ARCHFILE"].split
- install file, archlibdir, :mode => 0644
+ install file, archlibdir, :mode => $data_mode
end
end
@@ -225,15 +233,15 @@ if $extout
if noinst = CONFIG["no_install_files"] and noinst.empty?
noinst = nil
end
- install_recursive("#{extout}/#{CONFIG['arch']}", archlibdir, :no_install => noinst, :mode => 0755)
- install_recursive("#{extout}/include/#{CONFIG['arch']}", archhdrdir, :glob => "*.h", :mode => 0644)
+ install_recursive("#{extout}/#{CONFIG['arch']}", archlibdir, :no_install => noinst, :mode => $prog_mode)
+ install_recursive("#{extout}/include/#{CONFIG['arch']}", archhdrdir, :glob => "*.h", :mode => $data_mode)
end
install?(:ext, :comm, :'ext-comm') do
puts "installing extension scripts"
hdrdir = rubyhdrdir + "/ruby"
makedirs [rubylibdir, sitelibdir, vendorlibdir, hdrdir]
- install_recursive("#{extout}/common", rubylibdir, :mode => 0644)
- install_recursive("#{extout}/include/ruby", hdrdir, :glob => "*.h", :mode => 0644)
+ install_recursive("#{extout}/common", rubylibdir, :mode => $data_mode)
+ install_recursive("#{extout}/include/ruby", hdrdir, :glob => "*.h", :mode => $data_mode)
end
end
@@ -244,7 +252,7 @@ install?(:rdoc) do
ridatadir = File.join(CONFIG['datadir'], 'ri/$(MAJOR).$(MINOR).$(TEENY)/system')
Config.expand(ridatadir)
makedirs [ridatadir]
- install_recursive($rdocdir, ridatadir, :mode => 0644)
+ install_recursive($rdocdir, ridatadir, :mode => $data_mode)
end
end
@@ -265,7 +273,7 @@ install?(:local, :comm, :bin) do
name = ruby_install_name.sub(/ruby/, File.basename(src))
dest = File.join(bindir, name)
- install src, dest, :mode => 0755
+ install src, dest, :mode => $prog_mode
next if $dryrun
@@ -311,7 +319,7 @@ install?(:local, :comm, :lib) do
for f in Dir["lib/**/*{.rb,help-message}"]
dir = File.dirname(f).sub!(/\Alib/, rubylibdir) || rubylibdir
makedirs dir
- install f, dir, :mode => 0644
+ install f, dir, :mode => $data_mode
end
end
@@ -325,7 +333,7 @@ install?(:local, :arch, :lib) do
noinst << "win32.h"
end
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
install?(:local, :comm, :man) do
@@ -341,7 +349,7 @@ install?(:local, :comm, :man) do
makedirs destdir
if $mantype == "doc"
- install mdoc, destfile, :mode => 0644
+ install mdoc, destfile, :mode => $data_mode
else
require 'mdoc2man.rb'
@@ -353,7 +361,7 @@ install?(:local, :comm, :man) do
w.close
- install w.path, destfile, :mode => 0644
+ install w.path, destfile, :mode => $data_mode
end
end
end