aboutsummaryrefslogtreecommitdiffstats
path: root/tool
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2024-03-09 19:34:36 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2024-03-09 19:34:36 +0900
commit2976d91aff4b6dd47d24df92ace6758593b00a3f (patch)
tree06d730ec4e4e76aa9858b547aff2ac128a96ec60 /tool
parente9f77da54e777129f294afa0923027aa6bf653b8 (diff)
downloadruby-2976d91aff4b6dd47d24df92ace6758593b00a3f.tar.gz
Include default gems directories in installed list
Diffstat (limited to 'tool')
-rwxr-xr-xtool/rbinstall.rb16
1 files changed, 11 insertions, 5 deletions
diff --git a/tool/rbinstall.rb b/tool/rbinstall.rb
index e94146e11a..c72a93f948 100755
--- a/tool/rbinstall.rb
+++ b/tool/rbinstall.rb
@@ -220,15 +220,20 @@ def ln_sf(src, dest)
end
$made_dirs = {}
+
+def dir_creating(dir)
+ $made_dirs.fetch(dir) do
+ $made_dirs[dir] = true
+ $installed_list.puts(File.join(dir, "")) if $installed_list
+ yield if defined?(yield)
+ end
+end
+
def makedirs(dirs)
dirs = fu_list(dirs)
dirs.collect! do |dir|
realdir = with_destdir(dir)
- realdir unless $made_dirs.fetch(dir) do
- $made_dirs[dir] = true
- $installed_list.puts(File.join(dir, "")) if $installed_list
- File.directory?(realdir)
- end
+ realdir unless dir_creating(dir) {File.directory?(realdir)}
end.compact!
super(dirs, :mode => $dir_mode) unless dirs.empty?
end
@@ -667,6 +672,7 @@ module RbInstall
def install
spec.post_install_message = nil
+ dir_creating(without_destdir(gem_dir))
RbInstall.no_write(options) {super}
end