From ccd431e2e0d66c83a0dfc589e082fa1348d6ff77 Mon Sep 17 00:00:00 2001 From: drbrain Date: Tue, 19 Feb 2013 05:09:18 +0000 Subject: * backport r39307 from trunk. [Bug #7880] * lib/rubygems/installer.rb: Fixed placement of executables with --user-install. [ruby-trunk - Bug #7779] * test/rubygems/test_gem_installer.rb: Test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 9 +++++++++ lib/rubygems/installer.rb | 1 + test/rubygems/test_gem_installer.rb | 18 ++++++++++++++++++ 3 files changed, 28 insertions(+) diff --git a/ChangeLog b/ChangeLog index 8a5781e03c..7b9b702eef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +Tue Feb 19 14:08:46 2013 Eric Hodel + + * backport r39307 from trunk. [Bug #7880] + + * lib/rubygems/installer.rb: Fixed placement of executables with + --user-install. [ruby-trunk - Bug #7779] + + * test/rubygems/test_gem_installer.rb: Test for above. + Tue Feb 19 13:57:26 2013 Eric Hodel * backport r39247 from trunk. [Bug #7853] diff --git a/lib/rubygems/installer.rb b/lib/rubygems/installer.rb index 780a88b04c..a9ab4c7a5b 100644 --- a/lib/rubygems/installer.rb +++ b/lib/rubygems/installer.rb @@ -110,6 +110,7 @@ class Gem::Installer if options[:user_install] and not options[:unpack] then @gem_home = Gem.user_dir + @bin_dir = Gem.bindir gem_home unless options[:bin_dir] check_that_user_bin_dir_is_in_path end end diff --git a/test/rubygems/test_gem_installer.rb b/test/rubygems/test_gem_installer.rb index 40345048ac..fc8d1a7782 100644 --- a/test/rubygems/test_gem_installer.rb +++ b/test/rubygems/test_gem_installer.rb @@ -661,6 +661,24 @@ load Gem.bin_path('a', 'executable', version) installer = Gem::Installer.new gem assert_equal File.join(@gemhome, 'gems', spec.full_name), installer.gem_dir + assert_equal File.join(@gemhome, 'bin'), installer.bin_dir + end + + def test_initialize_user_install + installer = Gem::Installer.new @gem, :user_install => true + + assert_equal File.join(Gem.user_dir, 'gems', @spec.full_name), + installer.gem_dir + assert_equal Gem.bindir(Gem.user_dir), installer.bin_dir + end + + def test_initialize_user_install_bin_dir + installer = + Gem::Installer.new @gem, :user_install => true, :bin_dir => @tempdir + + assert_equal File.join(Gem.user_dir, 'gems', @spec.full_name), + installer.gem_dir + assert_equal @tempdir, installer.bin_dir end def test_install -- cgit v1.2.3