Merge pull request #16993 from Homebrew/cask_chmod_etc_stderr
cask/utils: quieten down when fixing permissions fails.
This commit is contained in:
commit
bd1155be8f
@ -68,15 +68,19 @@ module Cask
|
||||
rescue
|
||||
# in case of permissions problems
|
||||
unless tried_permissions
|
||||
print_stderr = Context.current.debug? || Context.current.verbose?
|
||||
# TODO: Better handling for the case where path is a symlink.
|
||||
# The -h and -R flags cannot be combined, and behavior is
|
||||
# dependent on whether the file argument has a trailing
|
||||
# slash. This should do the right thing, but is fragile.
|
||||
command.run("/usr/bin/chflags",
|
||||
print_stderr:,
|
||||
args: command_args + ["--", "000", path])
|
||||
command.run("/bin/chmod",
|
||||
print_stderr:,
|
||||
args: command_args + ["--", "u+rwx", path])
|
||||
command.run("/bin/chmod",
|
||||
print_stderr:,
|
||||
args: command_args + ["-N", path])
|
||||
tried_permissions = true
|
||||
retry # rmtree
|
||||
|
||||
@ -171,12 +171,7 @@ RSpec.describe Cask::Artifact::App, :cask do
|
||||
end
|
||||
|
||||
it "overwrites the existing app" do
|
||||
expect(command).to receive(:run).with("/usr/bin/chflags",
|
||||
args: ["-R", "--", "000", target_path]).and_call_original
|
||||
expect(command).to receive(:run).with("/bin/chmod",
|
||||
args: ["-R", "--", "u+rwx", target_path]).and_call_original
|
||||
expect(command).to receive(:run).with("/bin/chmod",
|
||||
args: ["-R", "-N", target_path]).and_call_original
|
||||
expect(command).to receive(:run).and_call_original.at_least(:once)
|
||||
|
||||
stdout = <<~EOS
|
||||
==> Removing App '#{target_path}'
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user