BSDStats - What is involved ... ?
Antony Mawer
fbsd-arch at mawer.org
Mon Aug 28 02:07:56 UTC 2006
On 28/08/2006 11:59 AM, Marc G. Fournier wrote:
> On Sun, 27 Aug 2006, Ricardo Nabinger Sanchez wrote:
>> That would be even easier if the dropping of 2 lines was carried out
>> automatically. I know people lazy enough to deinstall a port if they
>> must
>> do any post-config for themselves ("make deinstall" is easier than
>> thinking
>> for a few seconds).
>
> There are several things I want to work on when I get back onto a 'real
> network' next week ... Matt @ Dragonfly has asked for some 'network
> detection' code to be added, to check if there is even a network
> connected, before he'll add it to there base system ... and someone else
> suggested adding code similar to postfix's port to have *it* prompt and
> auto-add the appropriate lines to /etc/periodic.conf ...
That may have been me :-) Here's a patch that implements something along
those lines... anyone care to review/comment on the attached patch? I've
only tested it very briefly but it appears to do the desired job...
One thing that would be nice to do is to update any existing lines for
the stats, rather than always adding new lines if the user answers
'y'... detecting existing lines could easily be done by sourcing the
periodic.conf:
. /etc/periodic.conf
at the top of the file, but I'm not sure the preferred way on how you'd
update any existng lines if changes were required... perhaps some
grep/sed-foo magic? :-)
Cheers
Antony
-------------- next part --------------
diff -Nru bsdstats.old/Makefile bsdstats/Makefile
--- bsdstats.old/Makefile Mon Aug 28 11:46:22 2006
+++ bsdstats/Makefile Mon Aug 28 12:01:14 2006
@@ -26,5 +26,14 @@
${CP} ${FILESDIR}/300.statistics ${LOCALBASE}/etc/periodic/monthly
post-install:
${CAT} ${PKGMESSAGE}
+.if defined(BATCH) || defined(PACKAGE_BUILDING)
+ @${ECHO_MSG} " To activate monthly statistics reporting in /etc/periodic.conf,"
+ @${ECHO_MSG} " execute the following as root user:"
+ @${ECHO_MSG}
+ @${ECHO_MSG} "PKG_PREFIX=\"${PREFIX}\" ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL"
+ @${ECHO_MSG}
+.else
+ @PKG_PREFIX="${PREFIX}" ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+.endif
.include <bsd.port.post.mk>
diff -Nru bsdstats.old/pkg-install bsdstats/pkg-install
--- bsdstats.old/pkg-install Thu Jan 1 10:00:00 1970
+++ bsdstats/pkg-install Mon Aug 28 11:59:55 2006
@@ -0,0 +1,43 @@
+#!/bin/sh
+#
+# pkg-install : based off /usr/ports/mail/courier/files/pkg-install.in
+#
+
+ask() {
+ local question default answer
+
+ question=$1
+ default=$2
+ if [ -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
+ 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
+ fi
+fi
+
More information about the freebsd-arch
mailing list