homebrew-cask: google-cloud-sdk broken after update to v425 PR#144555

Verification

Description of issue

google-cloud-sdk cask is broken after https://github.com/Homebrew/homebrew-cask/pull/144555

It is complaining about a not empty directory.

Error: Directory not empty @ dir_s_rmdir - /usr/local/Caskroom/google-cloud-sdk/425.0.0/google-cloud-sdk

I reviewed https://github.com/orgs/Homebrew/discussions/633 but none of the suggestions have resolved the issue.

Things tried

  1. brew update-reset
  2. sudo chown -R “$USER” “$(brew --prefix)/Cellar”
  3. rm -rf /usr/local/Caskroom/google-cloud-sdk
  4. verified that find /usr/local/Cellar -user root returns nothing

Note this was the original command that triggered the issue

brew upgrade --ignore-pinned && brew cleanup && brew doctor
Running it the first time returned

==> Downloading https://formulae.brew.sh/api/formula.jws.json
######################################################################## 100.0%
==> No packages to upgrade
==> Downloading https://formulae.brew.sh/api/cask.jws.json
######################################################################## 100.0%
==> Casks with 'auto_updates true' or 'version :latest' will not be upgraded; pass `--greedy` to upgrade them.
==> Upgrading 1 outdated package:
google-cloud-sdk latest -> 425.0.0
==> Upgrading google-cloud-sdk
==> Caveats
To add gcloud components to your PATH, add this to your profile:

  for bash users
    source "/usr/local/share/google-cloud-sdk/path.bash.inc"

  for zsh users
    source "/usr/local/share/google-cloud-sdk/path.zsh.inc"

  for fish users
    source "/usr/local/share/google-cloud-sdk/path.fish.inc"

==> Downloading https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
######################################################################## 100.0%
All formula dependencies satisfied.
==> Removing files:
/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk
Password:
Sorry, try again.
Password:
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/.install/.backup/platform/gsutil: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/.install/.backup/platform: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/.install/.backup: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/.install: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/third_party: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk: Permission denied
==> Purging files for version 425.0.0 of Cask google-cloud-sdk
Error: google-cloud-sdk: Failure while executing; `/usr/bin/sudo -E -- /usr/bin/xargs -0 -- /bin/rm -r -f --` exited with 1. Here's the output:
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/.install/.backup/platform/gsutil: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/.install/.backup/platform: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/.install/.backup: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/.install: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/googlecloudsdk: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib/third_party: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/lib: Permission denied
rm: /usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk: Permission denied

Running it the 2nd time returned

==> Downloading https://formulae.brew.sh/api/formula.jws.json
######################################################################## 100.0%
==> No packages to upgrade
==> Downloading https://formulae.brew.sh/api/cask.jws.json
######################################################################## 100.0%
==> Casks with 'auto_updates true' or 'version :latest' will not be upgraded; pass `--greedy` to upgrade them.
==> Upgrading 1 outdated package:
google-cloud-sdk latest -> 425.0.0
==> Upgrading google-cloud-sdk
==> Caveats
To add gcloud components to your PATH, add this to your profile:

  for bash users
    source "/usr/local/share/google-cloud-sdk/path.bash.inc"

  for zsh users
    source "/usr/local/share/google-cloud-sdk/path.zsh.inc"

  for fish users
    source "/usr/local/share/google-cloud-sdk/path.fish.inc"

==> Downloading https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
Already downloaded: /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
All formula dependencies satisfied.
==> Removing files:
/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk
==> Unlinking Binary '/usr/local/bin/anthoscli'
==> Unlinking Binary '/usr/local/bin/docker-credential-gcloud'
==> Unlinking Binary '/usr/local/bin/gcloud'
==> Unlinking Binary '/usr/local/bin/git-credential-gcloud'
==> Unlinking Binary '/usr/local/bin/gsutil'
==> Unlinking Binary '/usr/local/etc/bash_completion.d/google-cloud-sdk'
==> Unlinking Binary '/usr/local/share/zsh/site-functions/_google-cloud-sdk'
==> Unlinking Binary '/usr/local/bin/bq'
==> Purging files for version 425.0.0 of Cask google-cloud-sdk
==> Purging files for version 425.0.0 of Cask google-cloud-sdk
Warning: Reverting upgrade for Cask google-cloud-sdk
Error: google-cloud-sdk: Not a directory @ rb_file_s_rename - (/usr/local/Caskroom/google-cloud-sdk/latest.upgrading, /usr/local/Caskroom/google-cloud-sdk/latest)

Running it the 3rd time returned

==> No packages to upgrade
==> Casks with 'auto_updates true' or 'version :latest' will not be upgraded; pass `--greedy` to upgrade them.
==> Upgrading 1 outdated package:
google-cloud-sdk latest -> 425.0.0
==> Upgrading google-cloud-sdk
==> Caveats
To add gcloud components to your PATH, add this to your profile:

  for bash users
    source "/usr/local/share/google-cloud-sdk/path.bash.inc"

  for zsh users
    source "/usr/local/share/google-cloud-sdk/path.zsh.inc"

  for fish users
    source "/usr/local/share/google-cloud-sdk/path.fish.inc"

==> Downloading https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
Already downloaded: /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
All formula dependencies satisfied.
==> Removing files:
/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk
==> Purging files for version 425.0.0 of Cask google-cloud-sdk
Error: google-cloud-sdk: Is a directory @ rb_file_s_rename - (/usr/local/Caskroom/google-cloud-sdk/latest, /usr/local/Caskroom/google-cloud-sdk/latest.upgrading)

After this I ran open /usr/local/Caskroom/ and removed the google-cloud-sdk and am now reporting the bug about install / reinstall google-cloud-sdk

Command that failed

brew install google-cloud-sdk --verbose --debug -f

Output of command with --verbose --debug

==> Downloading https://formulae.brew.sh/api/formula.jws.json
/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --user-agent Homebrew/4.0.11-70-g61efc70\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.3\)\ curl/7.87.0 --header Accept-Language:\ en --fail --location --remote-time --output /Users/ryrichmond/Library/Caches/Homebrew/api/formula.jws.json --time-cond /Users/ryrichmond/Library/Caches/Homebrew/api/formula.jws.json --compressed --speed-limit 100 --speed-time 5 https://formulae.brew.sh/api/formula.jws.json
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
==> Downloading https://formulae.brew.sh/api/cask.jws.json
/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --user-agent Homebrew/4.0.11-70-g61efc70\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.3\)\ curl/7.87.0 --header Accept-Language:\ en --fail --location --remote-time --output /Users/ryrichmond/Library/Caches/Homebrew/api/cask.jws.json --time-cond /Users/ryrichmond/Library/Caches/Homebrew/api/cask.jws.json --compressed --speed-limit 100 --speed-time 5 https://formulae.brew.sh/api/cask.jws.json
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
/usr/local/Homebrew/Library/Homebrew/brew.rb (Cask::CaskLoader::FromAPILoader): loading google-cloud-sdk
==> Cask::Installer#install
==> Printing caveats
==> Caveats
To add gcloud components to your PATH, add this to your profile:

  for bash users
    source "/usr/local/share/google-cloud-sdk/path.bash.inc"

  for zsh users
    source "/usr/local/share/google-cloud-sdk/path.zsh.inc"

  for fish users
    source "/usr/local/share/google-cloud-sdk/path.fish.inc"

==> Cask::Installer#fetch
/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.0.11-70-g61efc70\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.3\)\ curl/7.87.0 --header Accept-Language:\ en --retry 3 --fail https://raw.githubusercontent.com/Homebrew/homebrew-cask/131c01a350d6bfcc5a07f9890e0d7188315d35af/Casks/google-cloud-sdk.rb
==> Downloading https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
/usr/bin/env /usr/local/Homebrew/Library/Homebrew/shims/shared/curl --disable --cookie /dev/null --globoff --show-error --user-agent Homebrew/4.0.11-70-g61efc70\ \(Macintosh\;\ Intel\ Mac\ OS\ X\ 13.3\)\ curl/7.87.0 --header Accept-Language:\ en --retry 3 --location --silent --head --request GET https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
Already downloaded: /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
==> Checking quarantine support
/usr/bin/env /usr/bin/xattr -h
/usr/bin/env /usr/bin/swift -target x86_64-apple-macosx13 /usr/local/Homebrew/Library/Homebrew/cask/utils/quarantine.swift
==> Quarantine is available.
==> Verifying Gatekeeper status of /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
/usr/bin/env /usr/bin/xattr -p com.apple.quarantine /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
==> /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz is quarantined
==> Verifying checksum for cask 'google-cloud-sdk'
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::AliasAPILoader): loading python@3.11 from API
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading mpdecimal from API
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading openssl@1.1 from API
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading sqlite from API
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading xz from API
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading ca-certificates from API
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::FormulaAPILoader): loading readline from API
/usr/bin/env tar --list --file /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
All formula dependencies satisfied.
==> Installing Cask google-cloud-sdk
==> Cask::Installer#stage
==> Extracting primary container
==> Using container class UnpackStrategy::Tar for /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
/usr/bin/env tar --extract --no-same-owner --file /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz --directory /private/tmp/d20230405-6186-64h0yb
/usr/bin/env cp -pR /private/tmp/d20230405-6186-64h0yb/google-cloud-sdk/. /usr/local/Caskroom/google-cloud-sdk/425.0.0/google-cloud-sdk
==> Verifying Gatekeeper status of /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
/usr/bin/env /usr/bin/xattr -p com.apple.quarantine /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
==> /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz is quarantined
==> Propagating quarantine from /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz to /usr/local/Caskroom/google-cloud-sdk/425.0.0
/usr/bin/env /usr/bin/xattr -p com.apple.quarantine /Users/ryrichmond/Library/Caches/Homebrew/downloads/29471ce406f951475bbfdefcd6aade4675fd2b3dc41f87ba2e18046b72676afd--google-cloud-cli-425.0.0-darwin-x86_64.tar.gz
/usr/bin/env /usr/bin/xargs -0 -- /bin/chmod -h u\+w
/usr/bin/env /usr/bin/xargs -0 -- /usr/bin/xattr -w com.apple.quarantine 0181\;642d9e2e\;Homebrew\\x20Cask\;13DE00DE-BD1E-45FA-99D6-22AA49216DC9
==> Creating metadata directory: /usr/local/Caskroom/google-cloud-sdk/.metadata/425.0.0/20230405171613.332
==> Creating metadata subdirectory: /usr/local/Caskroom/google-cloud-sdk/.metadata/425.0.0/20230405171613.332/Casks
==> Installing artifacts
==> Installing artifact of class Cask::Artifact::PreflightBlock
==> Purging files for version 425.0.0 of Cask google-cloud-sdk
Error: Directory not empty @ dir_s_rmdir - /usr/local/Caskroom/google-cloud-sdk/425.0.0/google-cloud-sdk
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1432:in `rmdir'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1432:in `block in remove_dir1'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1443:in `platform_support'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1431:in `remove_dir1'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1424:in `remove'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:760:in `block in remove_entry'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1481:in `ensure in postorder_traverse'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:1481:in `postorder_traverse'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:758:in `remove_entry'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:610:in `block in rm_r'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:606:in `each'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/fileutils.rb:606:in `rm_r'
/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/pathname.rb:589:in `rmtree'
/usr/local/Homebrew/Library/Homebrew/cask/cask_loader.rb:101:in `block (2 levels) in load'
/usr/local/Homebrew/Library/Homebrew/cask/artifact/abstract_flight_block.rb:49:in `instance_eval'
/usr/local/Homebrew/Library/Homebrew/cask/artifact/abstract_flight_block.rb:49:in `abstract_phase'
/usr/local/Homebrew/Library/Homebrew/cask/artifact/abstract_flight_block.rb:28:in `install_phase'
/usr/local/Homebrew/Library/Homebrew/cask/installer.rb:237:in `block in install_artifacts'
/usr/local/Homebrew/Library/Homebrew/cask/artifact_set.rb:14:in `each'
/usr/local/Homebrew/Library/Homebrew/cask/artifact_set.rb:14:in `each'
/usr/local/Homebrew/Library/Homebrew/cask/installer.rb:230:in `install_artifacts'
/usr/local/Homebrew/Library/Homebrew/cask/installer.rb:113:in `install'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/install.rb:109:in `block in install_casks'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/install.rb:108:in `each'
/usr/local/Homebrew/Library/Homebrew/cask/cmd/install.rb:108:in `install_casks'
/usr/local/Homebrew/Library/Homebrew/cmd/install.rb:188:in `install'
/usr/local/Homebrew/Library/Homebrew/brew.rb:94:in `<main>'

Output of brew doctor and brew config

brew doctor

Please note that these warnings are just used to help the Homebrew maintainers
with debugging if you file an issue. If everything you use Homebrew for is
working fine: please don't worry or file an issue; just ignore this. Thanks!

Warning: You have unlinked kegs in your Cellar.
Leaving kegs unlinked can lead to build-trouble and cause formulae that depend on
those kegs to fail to run properly once built. Run `brew link` on these:
  kubernetes-cli
  virtualenv
  protobuf

brew config

HOMEBREW_VERSION: 4.0.11-70-g61efc70
ORIGIN: https://github.com/Homebrew/brew
HEAD: 61efc7076d0dc641b4fa06a95bf17410ad7f04c9
Last commit: 3 hours ago
Core tap origin: https://github.com/Homebrew/homebrew-core
Core tap HEAD: 7bfcbcfa57365584c4a7c509a47c78d0c2717073
Core tap last commit: 2 hours ago
Core tap branch: master
Core tap JSON: 05 Apr 17:24 UTC
HOMEBREW_PREFIX: /usr/local
HOMEBREW_CASK_OPTS: []
HOMEBREW_EDITOR: nano
HOMEBREW_MAKE_JOBS: 16
Homebrew Ruby: 2.6.10 => /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
CPU: 16-core 64-bit kabylake
Clang: 14.0.3 build 1403
Git: 2.40.0 => /usr/local/bin/git
Curl: 7.87.0 => /usr/bin/curl
macOS: 13.3-x86_64
CLT: 14.3.0.0.1.1679647830
Xcode: 14.3

Output of brew tap

brew tap                                                                                                                                                                                                                                                          homebrew/bundle
homebrew/cask
homebrew/cask-fonts
homebrew/command-not-found
homebrew/core

About this issue

  • Original URL
  • State: closed
  • Created a year ago
  • Reactions: 2
  • Comments: 19 (11 by maintainers)

Most upvoted comments

but the directory doesn’t exist when I go to inspect after the error

That’s expected since Homebrew removes everything again if the installation fails.