From 05772f8ccfa16ca27e75fa22b7e590241a19b03e Mon Sep 17 00:00:00 2001 From: Misty De Meo Date: Wed, 9 Jan 2013 17:04:02 -0600 Subject: [PATCH] doctor: use -V for python version `python --version` doesn't work in some (very) old versions of python. While I doubt this is going to come up very often, it's theoretically possible someone has an old python first in their path. (python -V works on all versions I'm aware of, including python3, and comes before --version in the --help anyway.) Also skips the warning in case the regexp matches nothing, which probably shouldn't happen. But if it does we shouldn't produce the wrong warning. --- Library/Homebrew/cmd/doctor.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/cmd/doctor.rb b/Library/Homebrew/cmd/doctor.rb index 76f35bb122..9ab3c46f8c 100644 --- a/Library/Homebrew/cmd/doctor.rb +++ b/Library/Homebrew/cmd/doctor.rb @@ -890,8 +890,10 @@ end def check_for_bad_python_symlink return unless which "python" - # Indeed Python --version outputs to stderr (WTF?) - `python --version 2>&1` =~ /Python (\d+)\./ + # Indeed Python -V outputs to stderr (WTF?) + `python -V 2>&1` =~ /Python (\d+)\./ + # This won't be the right warning if we matched nothing at all + return if $1.nil? unless $1 == "2" then <<-EOS.undent python is symlinked to python#$1 This will confuse build scripts and in general lead to subtle breakage.