aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--lib/rubygems/installer.rb1
-rw-r--r--test/rubygems/test_gem_installer.rb18
3 files changed, 25 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 78843449ac..592431c8bb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Tue Feb 19 08:14:40 2013 Eric Hodel <drbrain@segment7.net>
+
+ * 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 06:04:06 2013 NARUSE, Yui <naruse@ruby-lang.org>
* vm_dump: FreeBSD ports' libexecinfo's backtrace(3) can't trace
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