[#28561] Ruby::DL vs Ruby::FFI — Aston <blackapache512-ticket@...>

Ruby.DL and FFI libraries are great for programmers like me who are not internet programmers, but are more interested in scientific and number processing etc.

11 messages 2010/03/08

[#28686] trunk (26947) build fail with msys/mingw/vista — Jon <jon.forums@...>

I get the following build failure when msysgit's "c:\git\cmd" dir is on PATH.

8 messages 2010/03/16

[#28687] [Bug #2973] rb_bug - Segmentation fault - error.c:213 — rudolf gavlas <redmine@...>

Bug #2973: rb_bug - Segmentation fault - error.c:213

10 messages 2010/03/16

[#28735] [Bug #2982] Ruby tries to link with both openssl and readline — Lucas Nussbaum <redmine@...>

Bug #2982: Ruby tries to link with both openssl and readline

16 messages 2010/03/18

[#28736] [Bug #2983] Ruby (GPLv2 only) tries to link to with readline (now GPLv3) — Lucas Nussbaum <redmine@...>

Bug #2983: Ruby (GPLv2 only) tries to link to with readline (now GPLv3)

10 messages 2010/03/18

[#28907] [Bug #3000] Open SSL Segfaults — Christian Höltje <redmine@...>

Bug #3000: Open SSL Segfaults

19 messages 2010/03/23

[#28924] [Bug #3005] Ruby core dump - [BUG] rb_sys_fail() - errno == 0 — Sebastian YEPES <redmine@...>

Bug #3005: Ruby core dump - [BUG] rb_sys_fail() - errno == 0

10 messages 2010/03/24

[#28954] [Feature #3010] slow require gems in ruby 1.9.1 — Miao Jiang <redmine@...>

Feature #3010: slow require gems in ruby 1.9.1

15 messages 2010/03/24

[#29179] [Bug #3071] Convert rubygems and rdoc to use psych — Aaron Patterson <redmine@...>

Bug #3071: Convert rubygems and rdoc to use psych

10 messages 2010/03/31

[ruby-core:29158] [Bug:1.9] gem unpack fails

From: Nobuyoshi Nakada <nobu@...>
Date: 2010-03-31 06:34:03 UTC
List: ruby-core #29158
Hi

`gem unpack something.gem' fails by following error.

ERROR:  While executing gem ... (Gem::FilePermissionError)
   You don't have write permissions into the /opt/local/lib/ruby/gems/1.9.1 directory.

I consider it regression.

This is a workaround, but I suspect why unpack method is
defined in Installer class.


diff --git i/lib/rubygems/installer.rb w/lib/rubygems/installer.rb
index 50f8d20..9be87fa 100644
--- i/lib/rubygems/installer.rb
+++ w/lib/rubygems/installer.rb
@@ -132,9 +132,6 @@ class Gem::Installer
       end
     end
 
-    FileUtils.mkdir_p @gem_home
-    raise Gem::FilePermissionError, @gem_home unless File.writable? @gem_home
-
     @spec = @format.spec
 
     @gem_dir = File.join(@gem_home, "gems", @spec.full_name).untaint
@@ -187,6 +184,7 @@ class Gem::Installer
     end
 
     FileUtils.mkdir_p @gem_home unless File.directory? @gem_home
+    raise Gem::FilePermissionError, @gem_home unless File.writable? @gem_home
 
     Gem.ensure_gem_subdirectories @gem_home
 
diff --git i/test/rubygems/test_gem_install_update_options.rb w/test/rubygems/test_gem_install_update_options.rb
index 385fd9d..6735f0b 100644
--- i/test/rubygems/test_gem_install_update_options.rb
+++ w/test/rubygems/test_gem_install_update_options.rb
@@ -56,8 +56,9 @@ class TestGemInstallUpdateOptions < GemInstallerTestCase
       File.chmod 0755, @userhome
       FileUtils.chmod 0000, @gemhome
 
+      @installer = Gem::Installer.new @gem, @cmd.options
       assert_raises(Gem::FilePermissionError) do
-        @installer = Gem::Installer.new @gem, @cmd.options
+        @installer.install
       end
     end
   ensure


-- 
Nobu Nakada

In This Thread

Prev Next