ports/163516: FreeBSD Port sysutils/bsdstats Defaults Override Patch
A.J. Kehoe IV (Nanoman)
4JT9aHfQ at nanoman.ca
Wed Dec 21 20:50:11 UTC 2011
>Number: 163516
>Category: ports
>Synopsis: FreeBSD Port sysutils/bsdstats Defaults Override Patch
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Dec 21 20:50:08 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: A.J. Kehoe IV (Nanoman)
>Release: 8.2
>Organization:
Nanoman's Company
>Environment:
FreeBSD localhost 8.2-RELEASE-p3 FreeBSD 8.2-RELEASE-p3 #0: Tue Sep 27 18:07:27 UTC 2011 root at i386-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC i386
>Description:
Installing the FreeBSD port sysutils/bsdstats requires user interaction to answer questions about whether or not to enable monthly reporting, reporting on reboot, et cetera. The default options will be used if the PACKAGE_BUILDING environment variable is defined, but there are currently no environment variables to override the default options.
>How-To-Repeat:
cd /usr/ports/sysutils/bsdstats
PACKAGE_BUILDING="yes" make install
>Fix:
I've attached a patch for the pkg-install file that allows you to override the default options with the following environment variables:
- BSDSTATS_MONTHLY_ENABLE for "Would you like to activate monthly reporting in /etc/periodic.conf?", which is set to "no" by default
- BSDSTATS_MONTHLY_DEVICES for "Would you like to send a list of installed hardware as well?", which is set to "no" by default
- BSDSTATS_MONTHLY_PORTS for "Would you like to send a list of installed ports as well?", which is set to "no" by default
- BSDSTATS_MONTHLY_NOW for "Would you like to run it now?", which is set to "yes" by default
- BSDSTATS_REBOOT_REPORTING for "Would you like to activate reporting on reboot in /etc/rc.conf?", which is set to "no" by default
This patch also simplifies the pkg-install file a little.
Patch attached with submission follows:
--- ports/sysutils/bsdstats/pkg-install.old 2007-12-19 23:39:11.000000000 -0500
+++ ports/sysutils/bsdstats/pkg-install 2011-12-21 15:31:41.000000000 -0500
@@ -2,7 +2,31 @@
#
# pkg-install : based off ${PORTSDIR}/mail/courier/files/pkg-install.in
#
-LOCALBASE=${LOCALBASE:=/usr/local}
+
+# The default answer to "Would you like to activate monthly reporting in
+# /etc/periodic.conf?" is "no", which you can override by setting the
+# BSDSTATS_MONTHLY_ENABLE environment variable to "yes".
+#
+# The default answer to "Would you like to send a list of installed hardware
+# as well?" is "no", which you can override by setting the
+# BSDSTATS_MONTHLY_DEVICES environment variable to "yes".
+#
+# The default answer to "Would you like to send a list of installed ports as
+# well?" is "no", which you can override by setting the BSDSTATS_MONTHLY_PORTS
+# environment variable to "yes".
+#
+# The default answer to "Would you like to run it now?" is "yes", which you can
+# override by setting the BSDSTATS_MONTHLY_NOW environment variable to "no".
+#
+# The default answer to "Would you like to activate reporting on reboot in
+# /etc/rc.conf?" is "no", which you can override by setting the
+# BSDSTATS_REBOOT_REPORTING environment variable to "yes".
+
+BSDSTATS_MONTHLY_ENABLE=${BSDSTATS_MONTHLY_ENABLE:=no}
+BSDSTATS_MONTHLY_DEVICES=${BSDSTATS_MONTHLY_DEVICES:=no}
+BSDSTATS_MONTHLY_PORTS=${BSDSTATS_MONTHLY_PORTS:=no}
+BSDSTATS_MONTHLY_NOW=${BSDSTATS_MONTHLY_NOW:=yes}
+BSDSTATS_REBOOT_REPORTING=${BSDSTATS_REBOOT_REPORTING:=no}
ask() {
local question default answer
@@ -33,50 +57,22 @@
done
}
-if [ ":$2" = ":POST-INSTALL" ]; then
- if [ -f "/etc/periodic.conf" ]; then
- if [ `grep monthly_statistics /etc/periodic.conf | wc -l` = 0 ]; then
- if yesno "Would you like to activate monthly reporting in /etc/periodic.conf" n; then
- echo "monthly_statistics_enable=\"YES\"" >> /etc/periodic.conf
- if yesno "Would you like to send a list of installed hardware as well" n; then
- echo "monthly_statistics_report_devices=\"YES\"" >> /etc/periodic.conf
- fi
- if yesno "Would you like to send a list of installed ports as well" n; then
- echo "monthly_statistics_report_ports=\"YES\"" >> /etc/periodic.conf
- fi
- if yesno "Would you like to run it now" y; then
- ${PKG_PREFIX}/etc/periodic/monthly/300.statistics -nodelay
- fi
- fi
- fi
- elif [ ! -f "/etc/periodic.conf" ]; then
- if yesno "Would you like to activate monthly reporting in /etc/periodic.conf" n; then
+if [ "$2" = "POST-INSTALL" ]; then
+ if [ -f "/etc/periodic.conf" -a -z "`grep monthly_statistics /etc/periodic.conf`" ] || [ ! -f "/etc/periodic.conf" ]; then
+ if yesno "Would you like to activate monthly reporting in /etc/periodic.conf" ${BSDSTATS_MONTHLY_ENABLE}; then
echo "monthly_statistics_enable=\"YES\"" >> /etc/periodic.conf
- if yesno "Would you like to send a list of installed hardware as well" n; then
+ if yesno "Would you like to send a list of installed hardware as well" ${BSDSTATS_MONTHLY_DEVICES}; then
echo "monthly_statistics_report_devices=\"YES\"" >> /etc/periodic.conf
fi
- if yesno "Would you like to send a list of installed ports as well" n; then
+ if yesno "Would you like to send a list of installed ports as well" ${BSDSTATS_MONTHLY_PORTS}; then
echo "monthly_statistics_report_ports=\"YES\"" >> /etc/periodic.conf
fi
- if yesno "Would you like to run it now" y; then
+ if yesno "Would you like to run it now" ${BSDSTATS_MONTHLY_NOW}; then
${PKG_PREFIX}/etc/periodic/monthly/300.statistics -nodelay
fi
fi
fi
- if [ -f "/etc/rc.conf" ]; then
- if [ `grep bsdstats_enable /etc/rc.conf | wc -l` = 0 ]; then
- echo ""
- echo "If running as a desktop, or on a laptop, it is recommended that you"
- echo "enable bsdstats within /etc/rc.conf, so that it will run on reboot."
- echo ""
- echo "This will ensure that even if your computer is off when monthly runs,"
- echo "your computer will be properly counted."
- echo ""
- if yesno "Would you like to activate reporting on reboot in /etc/rc.conf" n; then
- echo "bsdstats_enable=\"YES\"" >> /etc/rc.conf
- fi
- fi
- elif [ ! -f "/etc/rc.conf" ]; then
+ if [ -f "/etc/rc.conf" -a -z "`grep bsdstats_enable /etc/rc.conf`" ] || [ ! -f "/etc/rc.conf" ]; then
echo ""
echo "If running as a desktop, or on a laptop, it is recommended that you"
echo "enable bsdstats within /etc/rc.conf, so that it will run on reboot."
@@ -84,7 +80,7 @@
echo "This will ensure that even if your computer is off when monthly runs,"
echo "your computer will be properly counted."
echo ""
- if yesno "Would you like to activate reporting on reboot in /etc/rc.conf" n; then
+ if yesno "Would you like to activate reporting on reboot in /etc/rc.conf" ${BSDSTATS_REBOOT_REPORTING}; then
echo "bsdstats_enable=\"YES\"" >> /etc/rc.conf
fi
fi
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list