From c032dfb5cbd844a8474a1397e65b4e04203d0ddd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Mon, 11 Dec 2023 17:28:10 +0100 Subject: [PATCH] [rubygems/rubygems] Fix installing from source when same bundler version already a default gem https://github.com/rubygems/rubygems/commit/620119308e --- lib/rubygems/commands/setup_command.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/rubygems/commands/setup_command.rb b/lib/rubygems/commands/setup_command.rb index 78eae2200d7867..52f0e542364ab9 100644 --- a/lib/rubygems/commands/setup_command.rb +++ b/lib/rubygems/commands/setup_command.rb @@ -373,12 +373,12 @@ def install_default_bundler_gem(bin_dir) target_specs_dir end - bundler_spec = Dir.chdir("bundler") { Gem::Specification.load("bundler.gemspec") } - full_name = bundler_spec.full_name + new_bundler_spec = Dir.chdir("bundler") { Gem::Specification.load("bundler.gemspec") } + full_name = new_bundler_spec.full_name gemspec_path = "#{full_name}.gemspec" default_spec_path = File.join(specs_dir, gemspec_path) - Gem.write_binary(default_spec_path, bundler_spec.to_ruby) + Gem.write_binary(default_spec_path, new_bundler_spec.to_ruby) bundler_spec = Gem::Specification.load(default_spec_path) @@ -395,16 +395,16 @@ def install_default_bundler_gem(bin_dir) each {|default_gem| rm_r File.join(bundler_spec.gems_dir, default_gem) } end - bundler_bin_dir = bundler_spec.bin_dir + bundler_bin_dir = new_bundler_spec.bin_dir mkdir_p bundler_bin_dir, mode: 0o755 bundler_spec.executables.each do |e| - cp File.join("bundler", bundler_spec.bindir, e), File.join(bundler_bin_dir, e) + cp File.join("bundler", new_bundler_spec.bindir, e), File.join(bundler_bin_dir, e) end require_relative "../installer" Dir.chdir("bundler") do - built_gem = Gem::Package.build(bundler_spec) + built_gem = Gem::Package.build(new_bundler_spec) begin Gem::Installer.at( built_gem, @@ -421,9 +421,9 @@ def install_default_bundler_gem(bin_dir) end end - bundler_spec.executables.each {|executable| bin_file_names << target_bin_path(bin_dir, executable) } + new_bundler_spec.executables.each {|executable| bin_file_names << target_bin_path(bin_dir, executable) } - say "Bundler #{bundler_spec.version} installed" + say "Bundler #{new_bundler_spec.version} installed" end def make_destination_dirs