Include default gems directories in installed list

This commit is contained in:
Nobuyoshi Nakada 2024-03-09 19:34:36 +09:00
parent e9f77da54e
commit 2976d91aff
No known key found for this signature in database
GPG key ID: 3582D74E1FEE4465

View file

@ -220,15 +220,20 @@ def ln_sf(src, dest)
end end
$made_dirs = {} $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) def makedirs(dirs)
dirs = fu_list(dirs) dirs = fu_list(dirs)
dirs.collect! do |dir| dirs.collect! do |dir|
realdir = with_destdir(dir) realdir = with_destdir(dir)
realdir unless $made_dirs.fetch(dir) do realdir unless dir_creating(dir) {File.directory?(realdir)}
$made_dirs[dir] = true
$installed_list.puts(File.join(dir, "")) if $installed_list
File.directory?(realdir)
end
end.compact! end.compact!
super(dirs, :mode => $dir_mode) unless dirs.empty? super(dirs, :mode => $dir_mode) unless dirs.empty?
end end
@ -667,6 +672,7 @@ module RbInstall
def install def install
spec.post_install_message = nil spec.post_install_message = nil
dir_creating(without_destdir(gem_dir))
RbInstall.no_write(options) {super} RbInstall.no_write(options) {super}
end end