aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Fyfe <andrew@fyfe.gb.net>2021-04-16 05:47:31 +0000
committerLars Engels <lme@FreeBSD.org>2021-05-05 08:49:54 +0000
commite48320e2d8b915cad970dcfd01ca48679f07b4f4 (patch)
tree736ef2869c05a32e3f3d3f1e36192c71f9c884db
parentf71e8d541b9c35a2e3f1cb7c883193459fc0d24a (diff)
downloadports-e48320e2d8b915cad970dcfd01ca48679f07b4f4.tar.gz
ports-e48320e2d8b915cad970dcfd01ca48679f07b4f4.zip
sysutils/bsdstats: make reporting opt-in
- disables reporting by default - does not use the pkg-install script to "modify the currently running system" as per the FreeBSD Porters Handbook Chapter 9.2. - does not output noise if monthly_statistics_* variables aren't enabled - add a post-upgrade message informing the user it's now opt-in and may need enabled
-rw-r--r--sysutils/bsdstats/Makefile1
-rw-r--r--sysutils/bsdstats/files/300.statistics.in23
-rw-r--r--sysutils/bsdstats/files/pkg-message.in12
-rw-r--r--sysutils/bsdstats/pkg-install73
4 files changed, 14 insertions, 95 deletions
diff --git a/sysutils/bsdstats/Makefile b/sysutils/bsdstats/Makefile
index e676a52b58d1..86d3ab3d15da 100644
--- a/sysutils/bsdstats/Makefile
+++ b/sysutils/bsdstats/Makefile
@@ -2,6 +2,7 @@
PORTNAME= bsdstats
PORTVERSION= 7.0
+PORTREVISION= 1
CATEGORIES= sysutils
DISTFILES=
diff --git a/sysutils/bsdstats/files/300.statistics.in b/sysutils/bsdstats/files/300.statistics.in
index d24ca2ae2076..1ba18493c600 100644
--- a/sysutils/bsdstats/files/300.statistics.in
+++ b/sysutils/bsdstats/files/300.statistics.in
@@ -67,6 +67,9 @@ fi
#
# global values
#
+monthly_statistics_enable=${monthly_statistics_enable:-"NO"}
+monthly_statistics_report_devices=${$monthly_statistics_report_devices:-"YES"}
+monthly_statistics_report_ports=${monthly_statistics_report_ports:-"YES"}
checkin_server=${monthly_statistics_checkin_server:-"rpt.bsdstats.org"}
bsdstats_log=${monthly_statistics_logfile:-"/var/log/bsdstats"}
id_token_file='/var/db/bsdstats'
@@ -531,27 +534,14 @@ report_all() {
report_devices
report_cpu
;;
- [Nn][Oo])
- echo "Posting monthly device/CPU statistics disabled"
- echo " set monthly_statistics_report_devices=\"YES\" in $periodic_conf"
- ;;
*)
- # opt-out for devices
- report_devices
- report_cpu
;;
esac
case "$monthly_statistics_report_ports" in
[Yy][Ee][Ss])
report_ports
;;
- [Nn][Oo])
- echo "Posting monthly ports statistics disabled"
- echo " set monthly_statistics_report_ports=\"YES\" in $periodic_conf"
- ;;
*)
- # opt-out for ports
- report_ports
;;
esac
# end
@@ -569,14 +559,7 @@ case "$monthly_statistics_enable" in
# explicitly enabled: report it
report_all "$1"
;;
- [Nn][Oo])
- echo "Posting monthly OS statistics disabled"
- echo " set monthly_statistics_enable=\"YES\" in $periodic_conf"
- rc=1
- ;;
*)
- # opt-out: we report when user has BSDstats installed, and user didn't say "NO"
- report_all "$1"
;;
esac
diff --git a/sysutils/bsdstats/files/pkg-message.in b/sysutils/bsdstats/files/pkg-message.in
index 2c504d2252f8..a1e0f6a20c48 100644
--- a/sysutils/bsdstats/files/pkg-message.in
+++ b/sysutils/bsdstats/files/pkg-message.in
@@ -3,8 +3,8 @@
message: <<EOM
You installed BSDstats: script reporting statistics about your machine.
-To disable monthly reporting, add this line to /etc/periodic.conf:
- monthly_statistics_enable="NO"
+To enable monthly reporting, add this line to /etc/periodic.conf:
+ monthly_statistics_enable="YES"
To disable parts of reporting, add these lines to /etc/periodic.conf:
monthly_statistics_report_devices="NO"
@@ -30,4 +30,12 @@ To view current statistics, go to:
@@TOR_MESSAGE@@
EOM
}
+{ type: upgrade
+ maximum_version: "7.0"
+ message: <<EOM
+BSDstats is now disabled by default, to enable monthly reporting, add
+this line to /etc/periodic.conf:
+ monthly_statistics_enable="YES"
+EOM
+}
]
diff --git a/sysutils/bsdstats/pkg-install b/sysutils/bsdstats/pkg-install
deleted file mode 100644
index ae1695356a9a..000000000000
--- a/sysutils/bsdstats/pkg-install
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/sh
-# pkg-install : based off ${PORTSDIR}/mail/courier/files/pkg-install.in
-
-# The default answer to each of the installation questions is "yes". You can
-# override a question's default by setting its environment variable to "no".
-#
-# Environment Variable | Question
-# --------------------------+------------------------------------------------------------------
-# BSDSTATS_MONTHLY_NOW | Would you like to run it now?
-# BSDSTATS_REBOOT_REPORTING | Would you like to enable reporting on bootup in /etc/rc.conf?
-
-if [ -n "$PACKAGE_BUILDING" ]; then
- BSDSTATS_MONTHLY_NOW=${BSDSTATS_MONTHLY_NOW:=no}
- BSDSTATS_REBOOT_REPORTING=${BSDSTATS_REBOOT_REPORTING:=no}
-else
- BSDSTATS_MONTHLY_NOW=${BSDSTATS_MONTHLY_NOW:=yes}
- BSDSTATS_REBOOT_REPORTING=${BSDSTATS_REBOOT_REPORTING:=yes}
-fi
-
-ask() {
- local question default answer
-
- question=$1
- default=$2
- if [ -z "$BATCH" -a -z "$PACKAGE_BUILDING" ]; then
- read -p "$question [$default]? " answer
- fi
- if [ -z "$answer" ]; then
- answer=$default
- fi
- echo $answer
-}
-
-yesno() {
- local question default answer
-
- question=$1
- default=$2
- while :; do
- answer=$(ask "$question" "$default")
- case "$answer" in
- [Yy]*) return 0;;
- [Nn]*) return 1;;
- esac
- echo "Please answer yes or no."
- done
-}
-
-if [ "$2" = "POST-INSTALL" ]; then
- log_file="${INSTALL_PREFIX}/var/log/bsdstats"
- need_to_ask=0
- if [ ! -e ${log_file} ]; then
- need_to_ask=1
- elif [ $(($(date +"%s")-$(stat -f %Sm -t %s ${log_file}))) -gt $((60*60*24*40)) ]; then
- need_to_ask=1
- fi
- if [ $need_to_ask = 1 ]; then
- if yesno "Would you like to run BSDstats now" $BSDSTATS_MONTHLY_NOW; then
- ${INSTALL_PREFIX}${PKG_PREFIX}/etc/periodic/monthly/300.statistics -nodelay
- fi
- fi
- if [ ! -f "/etc/rc.conf" ] || [ -z $(grep bsdstats_enable /etc/rc.conf) ]; then
- echo
- echo "If you're installing BSDstats on a system that won't always be on, such as a"
- echo "desktop or a laptop, it is recommended that you enable it in /etc/rc.conf so"
- echo "that it will run on bootup. This will ensure that, even if your computer is"
- echo "off when \"monthly\" runs, your computer will be counted properly."
- echo
- if yesno "Would you like to enable reporting on bootup in /etc/rc.conf" $BSDSTATS_REBOOT_REPORTING; then
- echo "bsdstats_enable=\"YES\"" >> /etc/rc.conf
- fi
- fi
-fi