The FreeBSD port sysutils/bsdstats supports pkg_* tools, but does not support pkgng. pkgng will soon become the default package management system in FreeBSD, whereas pkg_* tools will soon become unsupported. Thank you to Anton Shterenlikht for reporting this problem. Fix: I've attached a patch for the port's files/300.statistics.in file. The patch adds support for pkgng while preserving support for pkg_* tools. The patch also includes instructions for removing pkg_* tools support when it's officially discontinued. Patch attached with submission follows:
Responsible Changed From-To: freebsd-ports-bugs->scheidell I'll take it.
State Changed From-To: open->closed Committed. Thanks!
Author: scheidell Date: Sat Jul 28 12:27:28 2012 New Revision: 301654 URL: http://svn.freebsd.org/changeset/ports/301654 Log: - Add pkgng support PR: ports/170118 Submitted by: bsdstats@nanoman.ca (maintainer) Modified: head/sysutils/bsdstats/files/300.statistics.in head/sysutils/bsdstats/pkg-install Modified: head/sysutils/bsdstats/files/300.statistics.in ============================================================================== --- head/sysutils/bsdstats/files/300.statistics.in Sat Jul 28 12:21:10 2012 (r301653) +++ head/sysutils/bsdstats/files/300.statistics.in Sat Jul 28 12:27:28 2012 (r301654) @@ -100,13 +100,63 @@ send_devices () { send_ports () { case $(uname) in FreeBSD ) - for line in `/usr/sbin/pkg_info | /usr/bin/awk '{print $1}' ` - do - category=`grep "@comment ORIGIN" /var/db/pkg/${line}/+CONTENTS | sed -E 's/^\@comment ORIGIN:(.+)\/.+/\1/g'` - line=$(uri_escape $line) - category=$(uri_escape $category) - query_string=$query_string`echo \&port[]=${category}:${line}` - done + + ############################################################################ + # At the time of this writing (2012-07-24), FreeBSD is switching from + # pkg_* tools to pkgng. Starting in FreeBSD 9.1, pkgng will become the + # default tool for package management. + # + # Until pkg_* tools are officially declared unsupported, they will need + # legacy support in ports like this one. When the need for this support is + # officially discontinued, please do the following: + # + # 1. Delete the contents of this "LEGACY" section: + # + #-----BEGIN LEGACY----- + # Detect pkgng + if [ -e /var/db/pkg/local.sqlite ]; then + + # Use pkgng + + for line in `pkg info | awk '{ print $1 }'` + do + category=`pkg info -q -o ${line} | sed 's/\/.*//g'` + line=$(uri_escape $line) + category=$(uri_escape $category) + query_string=$query_string`echo \&port[]=${category}:${line}` + done + + else + + # Use pkg_* tools + + for line in `pkg_info | awk '{ print $1 }'` + do + category=`grep "@comment ORIGIN" /var/db/pkg/${line}/+CONTENTS | sed -E 's/^\@comment ORIGIN:(.+)\/.+/\1/g'` + line=$(uri_escape $line) + category=$(uri_escape $category) + query_string=$query_string`echo \&port[]=${category}:${line}` + done + + fi + #-----END LEGACY----- + # + # 2. Uncomment the contents of this "PKGNG" section: + # + #-----BEGIN PKGNG----- +# for line in `pkg info | awk '{ print $1 }'` +# do +# category=`pkg info -q -o ${line} | sed 's/\/.*//g'` +# line=$(uri_escape $line) +# category=$(uri_escape $category) +# query_string=$query_string`echo \&port[]=${category}:${line}` +# done + #-----END PKGNG----- + # + # 3. Delete these comments. + # + # Thank you! + ############################################################################ report_ports ;; Modified: head/sysutils/bsdstats/pkg-install ============================================================================== --- head/sysutils/bsdstats/pkg-install Sat Jul 28 12:21:10 2012 (r301653) +++ head/sysutils/bsdstats/pkg-install Sat Jul 28 12:27:28 2012 (r301654) @@ -85,4 +85,3 @@ if [ "$2" = "POST-INSTALL" ]; then fi fi fi - _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"