From caf7df5840d9507ff99fcf8385ffa1f42ada6e2d Mon Sep 17 00:00:00 2001 From: "L. E. Segovia" <13498015+amyspark@users.noreply.github.com> Date: Tue, 1 Oct 2019 11:17:27 +0000 Subject: [PATCH] Cask: add doctor check for xattr CC: Homebrew/homebrew-cask#69660 --- Library/Homebrew/cask/cmd/doctor.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/Library/Homebrew/cask/cmd/doctor.rb b/Library/Homebrew/cask/cmd/doctor.rb index 0a6a015bba..48d432453d 100644 --- a/Library/Homebrew/cask/cmd/doctor.rb +++ b/Library/Homebrew/cask/cmd/doctor.rb @@ -25,6 +25,7 @@ module Cask def run check_software_versions + check_xattr check_quarantine_support check_install_location check_staging_location @@ -121,6 +122,29 @@ module Cask (locale_variables + environment_variables).sort.each(&method(:render_env_var)) end + def check_xattr + ohai "xattr issues" + result = system_command "/usr/bin/xattr" + + if result.status.success? + puts none_string + elsif result.stderr.match? "ImportError: No module named pkg_resources" + result = system_command "/usr/bin/python", "--version" + + if result.stdout.match? "Python 2.7" + add_error "Your Python installation has a broken version of setuptools." + add_error "To fix, reinstall macOS or run 'sudo /usr/bin/python -m pip install -I setuptools'." + else + add_error "The system Python version is wrong." + add_error "To fix, run 'defaults write com.apple.versioner.python Version 2.7'." + end + elsif result.stderr.match? "pkg_resources.DistributionNotFound" + add_error "Your Python installation is unable to find xattr." + else + add_error "unknown xattr error: #{result.stderr.first}" + end + end + def check_quarantine_support ohai "Gatekeeper support"