summary refs log tree commit diff
path: root/fleet/pkgs/permission-warnings-only-when-necessary.patch
diff options
context:
space:
mode:
Diffstat (limited to 'fleet/pkgs/permission-warnings-only-when-necessary.patch')
-rw-r--r--fleet/pkgs/permission-warnings-only-when-necessary.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/fleet/pkgs/permission-warnings-only-when-necessary.patch b/fleet/pkgs/permission-warnings-only-when-necessary.patch
new file mode 100644
index 0000000..4a557a5
--- /dev/null
+++ b/fleet/pkgs/permission-warnings-only-when-necessary.patch
@@ -0,0 +1,50 @@
+SPDX-FileCopyrightText: David Rodríguez <deivid.rodriguez@riseup.net>
+SPDX-License-Identifier: MIT
+--- a/lib/bundler.rb
++++ b/lib/bundler.rb
+@@ -236,8 +236,9 @@ def user_home
+         end
+ 
+         if warning
+-          user_home = tmp_home_path(warning)
+-          Bundler.ui.warn "#{warning}\nBundler will use `#{user_home}' as your home directory temporarily.\n"
++          Bundler.ui.warn "#{warning}\n"
++          user_home = tmp_home_path
++          Bundler.ui.warn "Bundler will use `#{user_home}' as your home directory temporarily.\n"
+           user_home
+         else
+           Pathname.new(home)
+@@ -684,15 +685,13 @@ def configure_gem_home
+       Bundler.rubygems.clear_paths
+     end
+ 
+-    def tmp_home_path(warning)
++    def tmp_home_path
+       Kernel.send(:require, "tmpdir")
+       SharedHelpers.filesystem_access(Dir.tmpdir) do
+         path = Bundler.tmp
+         at_exit { Bundler.rm_rf(path) }
+         path
+       end
+-    rescue RuntimeError => e
+-      raise e.exception("#{warning}\nBundler also failed to create a temporary home directory':\n#{e}")
+     end
+ 
+     # @param env [Hash]
+
+--- a/lib/bundler/settings.rb
++++ b/lib/bundler/settings.rb
+@@ -428,12 +428,8 @@ def printable_value(value, key)
+     def global_config_file
+       if ENV["BUNDLE_CONFIG"] && !ENV["BUNDLE_CONFIG"].empty?
+         Pathname.new(ENV["BUNDLE_CONFIG"])
+-      else
+-        begin
+-          Bundler.user_bundle_path("config")
+-        rescue PermissionError, GenericSystemCallError
+-          nil
+-        end
++      elsif Bundler.rubygems.user_home && !Bundler.rubygems.user_home.empty?
++        Pathname.new(Bundler.rubygems.user_home).join(".bundle/config")
+       end
+     end