summaryrefslogtreecommitdiff
blob: 1c8c4dc34f9115fe10c504e882fcea811540d938 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Fix a mismatch between our use of a sandbox while installing and
rubygems' assumptions on where to find already installed gems.
Patch by a3li@g.o.

diff -ru a/lib/rubygems/dependency_installer.rb b/lib/rubygems/dependency_installer.rb
--- a/lib/rubygems/dependency_installer.rb	2009-03-05 02:07:04.000000000 +0100
+++ b/lib/rubygems/dependency_installer.rb	2009-05-08 23:41:53.000000000 +0200
@@ -44,7 +44,7 @@
   # :wrappers:: See Gem::Installer::new
 
   def initialize(options = {})
-    if options[:install_dir] then
+    if options[:install_dir] and not options[:sandbox_fix] then
       spec_dir = options[:install_dir], 'specifications'
       @source_index = Gem::SourceIndex.from_gems_in spec_dir
     else
diff -ru a/lib/rubygems/install_update_options.rb b/lib/rubygems/install_update_options.rb
--- a/lib/rubygems/install_update_options.rb	2009-03-14 00:01:10.000000000 +0100
+++ b/lib/rubygems/install_update_options.rb	2009-05-08 23:43:05.000000000 +0200
@@ -86,6 +86,11 @@
       options[:include_dependencies] = value
     end
 
+    add_option(:"Install/Update",       '--sandbox-fix',
+               'Fix specifications lookup path [Gentoo patch]') do |value, options|
+      options[:sandbox_fix] = true
+    end
+
     add_option(:"Install/Update",       '--[no-]format-executable',
                'Make installed executable names match ruby.',
                'If ruby is ruby18, foo_exec will be',