From 27626e791546c9f33f81abb524f0a8b76e10f036 Mon Sep 17 00:00:00 2001 From: The Bundler Bot Date: Sun, 15 Apr 2018 01:43:08 +0000 Subject: Auto merge of #6482 - grosser:grosser/homeless, r=colby-swandale MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Do not blow up when installing on a readonly filesystem without a hom… …e directory fixes https://github.com/bundler/bundler/issues/6461 ``` docker run --read-only ruby ruby -r bundler/cli -e "puts Bundler::VERSION; Bundler::CLI.start(['exec', 'ruby', '-v'], :debug => true)" /usr/local/lib/ruby/site_ruby/2.5.0/bundler.rb:193:in `rescue in tmp_home_path': `/root` is not writable. (Bundler::GenericSystemCallError) Bundler also failed to create a temporary home directory at `/tmp/bundler/home': There was an error accessing `/tmp/bundler/home`. The underlying system error is Errno::EROFS: Read-only file system @ dir_s_mkdir - /tmp/bundler from /usr/local/lib/ruby/site_ruby/2.5.0/bundler.rb:181:in `tmp_home_path' from /usr/local/lib/ruby/site_ruby/2.5.0/bundler.rb:172:in `user_home' from /usr/local/lib/ruby/site_ruby/2.5.0/bundler.rb:197:in `user_bundle_path' from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/plugin.rb:99:in `global_root' from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/plugin/index.rb:73:in `global_index_file' from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/plugin/index.rb:32:in `initialize' from /usr/local/lib/ruby/site_ruby/2.5.0/bundler/plugin.rb:78:in `new' ``` @segiddins (cherry picked from commit 6ce1eea14bc2d9917ea67d0103e0a7f15a0b62ec) --- spec/bundler/plugin/index_spec.rb | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'spec/bundler/plugin/index_spec.rb') diff --git a/spec/bundler/plugin/index_spec.rb b/spec/bundler/plugin/index_spec.rb index 163b563b2a..ca3476ea2a 100644 --- a/spec/bundler/plugin/index_spec.rb +++ b/spec/bundler/plugin/index_spec.rb @@ -175,4 +175,12 @@ RSpec.describe Bundler::Plugin::Index do include_examples "it cleans up" end end + + describe "readonly disk without home" do + it "ignores being unable to create temp home dir" do + expect_any_instance_of(Bundler::Plugin::Index).to receive(:global_index_file). + and_raise(Bundler::GenericSystemCallError.new("foo", "bar")) + Bundler::Plugin::Index.new + end + end end -- cgit v1.2.1