diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-04-11 12:20:21 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-04-11 12:20:21 +0000 |
commit | 7965327d1380f4fe7d7bc3f99545fe6581e22ff6 (patch) | |
tree | c8b1dda6fe47ecb0d73d69881d431da91e989246 /tool/rbinstall.rb | |
parent | 8913e2946e768d9d6c9af47305fe38b9930468d2 (diff) |
Install only files explicitly referenced by bundled gems.
[Bug #13417]
[Fix GH-1580]
Author: Vít Ondruch <vondruch@redhat.com>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'tool/rbinstall.rb')
-rwxr-xr-x | tool/rbinstall.rb | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb index c6f869f88b..4385ec9662 100755 --- a/tool/rbinstall.rb +++ b/tool/rbinstall.rb @@ -678,10 +678,12 @@ module RbInstall return if path == destination_dir File.chmod(0700, destination_dir) mode = pattern == "bin/*" ? $script_mode : $data_mode - install_recursive(path, without_destdir(destination_dir), - :glob => pattern, - :no_install => "*.gemspec", - :mode => mode) + spec.files.each do |f| + src = File.join(path, f) + dest = File.join(without_destdir(destination_dir), f) + makedirs(dest[/.*(?=\/)/m]) + install src, dest, :mode => mode + end File.chmod($dir_mode, destination_dir) end end |