aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/update-report.rb9
-rw-r--r--Library/Homebrew/utils/analytics.sh21
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")"