summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-19 05:09:18 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-19 05:09:18 +0000
commitccd431e2e0d66c83a0dfc589e082fa1348d6ff77 (patch)
tree0fa1f69c62e38b95316402aaa367556b355d7550
parent463c1ad110719f293476a325bcbdc462ececec0f (diff)
* 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
-rw-r--r--ChangeLog9
-rw-r--r--lib/rubygems/installer.rb1
-rw-r--r--test/rubygems/test_gem_installer.rb18
3 files changed, 28 insertions, 0 deletions
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 <drbrain@segment7.net>
+
+ * 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 <drbrain@segment7.net>
* 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