ports/170118: [patch] Add pkgng Support to sysutils/bsdstats
A.J. Kehoe IV (Nanoman)
bsdstats at nanoman.ca
Tue Jul 24 20:00:36 UTC 2012
>Number: 170118
>Category: ports
>Synopsis: [patch] Add pkgng Support to sysutils/bsdstats
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Tue Jul 24 20:00:26 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator: A.J. Kehoe IV (Nanoman)
>Release: 9.0
>Organization:
Nanoman's Company
>Environment:
FreeBSD localhost 9.0-RELEASE FreeBSD 9.0-RELEASE #0: Tue Jan 3 07:15:25 UTC 2012 root at obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
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.
>How-To-Repeat:
>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:
--- ports/sysutils/bsdstats/files/300.statistics.in.old 2011-09-25 17:35:26.000000000 -0400
+++ ports/sysutils/bsdstats/files/300.statistics.in 2012-07-24 15:51:16.841357000 -0400
@@ -100,13 +100,63 @@
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
;;
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list