diff options
Diffstat (limited to 'Library/Homebrew')
| -rw-r--r-- | Library/Homebrew/cmd/update-report.rb | 9 | ||||
| -rw-r--r-- | Library/Homebrew/utils/analytics.sh | 21 |
2 files changed, 24 insertions, 6 deletions
diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb index 55b7bdd27..9d0377cb5 100644 --- a/Library/Homebrew/cmd/update-report.rb +++ b/Library/Homebrew/cmd/update-report.rb @@ -13,10 +13,11 @@ module Homebrew def update_report HOMEBREW_REPOSITORY.cd do - key = "homebrew.analyticsmessage" analytics_message_displayed = \ - Utils.popen_read("git", "config", "--local", "--get", key).chuzzle - unless analytics_message_displayed == "true" + Utils.popen_read("git", "config", "--local", "--get", "homebrew.analyticsmessage").chuzzle + analytics_disabled = \ + Utils.popen_read("git", "config", "--local", "--get", "homebrew.analyticsdisabled").chuzzle + if analytics_message_displayed != "true" && analytics_disabled != "true" ENV["HOMEBREW_NO_ANALYTICS"] = "1" ohai "Homebrew has enabled anonymous aggregate user behaviour analytics" puts "Read the analytics documentation (and how to opt-out) here:" @@ -24,7 +25,7 @@ module Homebrew # Consider the message possibly missed if not a TTY. if $stdout.tty? - safe_system "git", "config", "--local", "--replace-all", key, "true" + safe_system "git", "config", "--local", "--replace-all", "homebrew.analyticsmessage", "true" end end end diff --git a/Library/Homebrew/utils/analytics.sh b/Library/Homebrew/utils/analytics.sh index b0041a1d8..e851fec92 100644 --- a/Library/Homebrew/utils/analytics.sh +++ b/Library/Homebrew/utils/analytics.sh @@ -1,9 +1,26 @@ setup-analytics() { - [[ -n "$HOMEBREW_NO_ANALYTICS" ]] && return - # User UUID file. Used for Homebrew user counting. Can be deleted and # recreated with no adverse effect (beyond our user counts being inflated). HOMEBREW_ANALYTICS_USER_UUID_FILE="$HOME/.homebrew_analytics_user_uuid" + + if [[ -n "$HOMEBREW_NO_ANALYTICS" ]] + then + rm -f "$HOMEBREW_ANALYTICS_USER_UUID_FILE" + git config --file="$HOMEBREW_REPOSITORY/.git/config" --replace-all homebrew.analyticsdisabled true + fi + + if [[ "$(git config --file="$HOMEBREW_REPOSITORY/.git/config" --get homebrew.analyticsmessage)" != "true" ]] + then + export HOMEBREW_NO_ANALYTICS="1" + return + fi + + if [[ "$(git config --file="$HOMEBREW_REPOSITORY/.git/config" --get homebrew.analyticsdisabled)" = "true" ]] + then + export HOMEBREW_NO_ANALYTICS="1" + return + fi + if [[ -r "$HOMEBREW_ANALYTICS_USER_UUID_FILE" ]] then HOMEBREW_ANALYTICS_USER_UUID="$(<"$HOMEBREW_ANALYTICS_USER_UUID_FILE")" |
