Skip to content

Commit

Permalink
Merge pull request #16993 from Homebrew/cask_chmod_etc_stderr
Browse files Browse the repository at this point in the history
cask/utils: quieten down when fixing permissions fails.
  • Loading branch information
MikeMcQuaid committed Apr 1, 2024
2 parents 865d38a + 7e35ae2 commit bd1155b
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 6 deletions.
4 changes: 4 additions & 0 deletions Library/Homebrew/cask/utils.rb
Expand Up @@ -68,15 +68,19 @@ def self.gain_permissions(path, command_args, command)
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
Expand Down
7 changes: 1 addition & 6 deletions Library/Homebrew/test/cask/artifact/app_spec.rb
Expand Up @@ -171,12 +171,7 @@
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}'
Expand Down

0 comments on commit bd1155b

Please sign in to comment.