Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Apr 2020 23:32:18 +0000 (UTC)
From:      Lorenzo Salvadore <salvadore@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r533478 - in head/sysutils/bsdstats: . files
Message-ID:  <202004302332.03UNWIqn077664@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: salvadore
Date: Thu Apr 30 23:32:18 2020
New Revision: 533478
URL: https://svnweb.freebsd.org/changeset/ports/533478

Log:
  sysutils/bsdstats: Update to 7.0
  
  - Use pkg query %n:%v:%o instead of pkg info -o “*” to get list of
    installed packages. This simplifies processing and accuracy of split for
    version numbers on the report server by not having to guess where that
    split is.
  - Check for existence of %%PREFIX%%/etc/bsdstats.conf and if it exists,
    restrict ports submitted to those listed in there.
  - Add a note to pkg-message.in about %%PREFIX%%/etc/bsdstats.conf
  - Get rid of the LIMITED config option: LIMITED is enabled if and only if
    %%PREFIX%%/etc/bsdstats.conf exists.
  
  While here, also modernize the port using option helpers.
  
  Submitted by:	scrappy
  Approved by:	gerald (mentor)
  Differential Revision:	https://reviews.freebsd.org/D24644

Modified:
  head/sysutils/bsdstats/Makefile
  head/sysutils/bsdstats/files/300.statistics.in
  head/sysutils/bsdstats/files/pkg-message.in

Modified: head/sysutils/bsdstats/Makefile
==============================================================================
--- head/sysutils/bsdstats/Makefile	Thu Apr 30 21:38:37 2020	(r533477)
+++ head/sysutils/bsdstats/Makefile	Thu Apr 30 23:32:18 2020	(r533478)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	bsdstats
-PORTVERSION=	6.2
+PORTVERSION=	7.0
 CATEGORIES=	sysutils
 DISTFILES=
 
@@ -17,28 +17,23 @@ SUB_FILES=	300.statistics bsdstats-send pkg-message
 SUB_LIST+=	VERSION=${PORTVERSION}
 NO_ARCH=	YES
 
-OPTIONS_DEFINE=	TOR
-TOR_DESC=	Submit securely through TOR anonymity network
-
 PLIST_FILES=	bin/bsdstats-send \
 		etc/periodic/monthly/300.statistics
 
-.include <bsd.port.pre.mk>
+OPTIONS_DEFINE=	TOR
+TOR_DESC=	Submit securely through TOR anonymity network
 
-.if ${PORT_OPTIONS:MTOR}
-RUN_DEPENDS+=	tor:security/tor
-.endif
+TOR_RUN_DEPENDS=	tor:security/tor
 
-pre-install:
-.if ${PORT_OPTIONS:MTOR}
+pre-install-TOR-on:
 	@${REINPLACE_CMD} -e 's|USE_TOR=NO|USE_TOR=YES|' ${WRKDIR}/300.statistics
 	@${REINPLACE_CMD} -e 's|# REQUIRE: LOGIN|# REQUIRE: LOGIN tor|' ${WRKDIR}/bsdstats
 	@${REINPLACE_CMD} -e 's|@@TOR_MESSAGE@@|Statistics will be submitted anonymously through the TOR network|' \
 	    ${WRKDIR}/pkg-message
-.else
+
+pre-install-TOR-off:
 	@${REINPLACE_CMD} -e 's|@@TOR_MESSAGE@@|You can build bsdstats with TOR port option to submit anonymously|' \
 	    ${WRKDIR}/pkg-message
-.endif
 
 do-install:
 	${MKDIR} ${STAGEDIR}${PREFIX}/etc/periodic/monthly
@@ -47,4 +42,4 @@ do-install:
 	${INSTALL_SCRIPT} ${WRKDIR}/bsdstats-send \
 		${STAGEDIR}${PREFIX}/bin/bsdstats-send
 
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>

Modified: head/sysutils/bsdstats/files/300.statistics.in
==============================================================================
--- head/sysutils/bsdstats/files/300.statistics.in	Thu Apr 30 21:38:37 2020	(r533477)
+++ head/sysutils/bsdstats/files/300.statistics.in	Thu Apr 30 23:32:18 2020	(r533478)
@@ -387,13 +387,20 @@ report_ports() {
         # Use pkgng
         case $(${UNAME}) in
           MidnightBSD)
+            report_uri="/scripts/report_ports.php"
             query_string="${query_string}$( get_mports | ${SED} -E -e 's/\+/%2b/g' -e 's/,/%2c/g' -e 's/^([^ ]+) +([^\/]+)\/.+$/\&port[]=\2:\1/g' | tr -d '\n')"
             ;;
           *)
-            query_string="${query_string}$( pkg info -o "*" | ${SED} -E -e 's/\+/%2b/g' -e 's/,/%2c/g' -e 's/^([^ ]+) +([^\/]+)\/.+$/\&port[]=\2:\1/g' | tr -d '\n')"
+            report_uri="/scripts/report_ports_v2.php"
+            if [ -f %%PREFIX%%/etc/bsdstats.conf -a "0" = "0`grep ^all-ports /usr/local/etc/bsdstats.conf`" ]; then
+              query_string=$( pkg query %n:%v:%o | fgrep -f %%PREFIX%%/etc/bsdstats.conf | awk -F\/ '{print $1}' | sed -E -e 's/\+/%2b/g' -e 's/,/%2c/g' | awk '{printf"&port[]=%s", $1}' )
+            else
+              query_string=$( pkg query %n:%v:%o | awk -F\/ '{print $1}' | sed -E -e 's/\+/%2b/g' -e 's/,/%2c/g' | awk '{printf"&port[]=%s", $1}' )
+            fi
             ;;
         esac
       else
+        report_uri="/scripts/report_ports.php"
     #-----BEGIN LEGACY: to delete when FreeBSD with pkg_ tools is out of support period (!!! don't forget to clarify what does DragonFly use before removing !!!) -----
         # Use obsolete pkg_* tools
         local line
@@ -406,7 +413,7 @@ report_ports() {
     #-----END LEGACY-----
       fi
       echo_begin "Posting port statistics to ${checkin_server_description}"
-      do_http_request_check_status "POST" "/scripts/report_ports.php" \
+      do_http_request_check_status "POST" $report_uri \
         "token=${TOKEN}&key=${KEY}${query_string}" "application/x-www-form-urlencoded" "ports submission"
       echo_end_success
       log "INFO" "Posted port statistics to ${checkin_server_description}"

Modified: head/sysutils/bsdstats/files/pkg-message.in
==============================================================================
--- head/sysutils/bsdstats/files/pkg-message.in	Thu Apr 30 21:38:37 2020	(r533477)
+++ head/sysutils/bsdstats/files/pkg-message.in	Thu Apr 30 23:32:18 2020	(r533478)
@@ -1,7 +1,7 @@
 [
 { type: install
   message: <<EOM
-You installed BSDstats: script reporting statistics about your machine
+You installed BSDstats: script reporting statistics about your machine.
 
 To disable monthly reporting, add this line to /etc/periodic.conf:
 	monthly_statistics_enable="NO"
@@ -9,6 +9,14 @@ To disable monthly reporting, add this line to /etc/pe
 To disable parts of reporting, add these lines to /etc/periodic.conf:
 	monthly_statistics_report_devices="NO"
 	monthly_statistics_report_ports="NO"
+
+To limit which ports are being submitted:
+	create /usr/local/etc/bsdstats.conf and list ports to report in
+	the form ${category}/${portname}, one entry per line. It is also
+	possible to use the special self explanatory keyword "all-ports".
+Example:
+	sysutils/bsdstats
+	ports-mgmt/pkg
 
 To enable reporting on bootup, add this line to /etc/rc.conf:
 	bsdstats_enable="YES"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202004302332.03UNWIqn077664>