From owner-svn-src-user@FreeBSD.ORG Tue Feb 19 02:31:55 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 58A106E5; Tue, 19 Feb 2013 02:31:55 +0000 (UTC) (envelope-from linimon@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 3B960698; Tue, 19 Feb 2013 02:31:55 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id r1J2VtAk018211; Tue, 19 Feb 2013 02:31:55 GMT (envelope-from linimon@svn.freebsd.org) Received: (from linimon@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id r1J2VtS1018210; Tue, 19 Feb 2013 02:31:55 GMT (envelope-from linimon@svn.freebsd.org) Message-Id: <201302190231.r1J2VtS1018210@svn.freebsd.org> From: Mark Linimon Date: Tue, 19 Feb 2013 02:31:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r246966 - user/bugmeister/gnats/tools X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 19 Feb 2013 02:31:55 -0000 Author: linimon (doc,ports committer) Date: Tue Feb 19 02:31:54 2013 New Revision: 246966 URL: http://svnweb.freebsd.org/changeset/base/246966 Log: Script to send GNATS weekly reminder-mails. Added: user/bugmeister/gnats/tools/gnatsreport.sh (contents, props changed) Added: user/bugmeister/gnats/tools/gnatsreport.sh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/bugmeister/gnats/tools/gnatsreport.sh Tue Feb 19 02:31:54 2013 (r246966) @@ -0,0 +1,142 @@ +#! /bin/sh +# +# Script to do weekly reminders of extant bug reports +# +# last modified by: linimon +# + +PATH=${PATH}:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin +export PATH + +QUERYPR=/home/gnats/tools/query-pr-summary.cgi +TAGS=/home/gnats/tools/getalltags.short + +SENDMAIL="/usr/sbin/sendmail -odi -fowner-bugmaster@FreeBSD.org -oem" + +# set this to non-null when testing changes +#DEVELOPMENT="yes" + +if [ -z "$DEVELOPMENT" ]; then + # production: + TO_BUGMASTER="bugmaster@FreeBSD.org" + TO_FREEBSD_BUGS="freebsd-bugs@FreeBSD.org" + TO_FREEBSD_DOC="freebsd-doc@FreeBSD.org" + TO_FREEBSD_PORTS="freebsd-ports@FreeBSD.org" +else + # development: + TO_BUGMASTER="linimon@FreeBSD.org" + TO_FREEBSD_BUGS="linimon@FreeBSD.org" + TO_FREEBSD_DOC="linimon@FreeBSD.org" + TO_FREEBSD_PORTS="linimon@FreeBSD.org" +fi + +RESP=`query-pr --skip-closed | grep '^>Responsible:' | awk '{print $2}' | perl -pe 's/\@freebsd.org//i' | tr '[A-Z]' '[a-z]' | egrep -v 'gnats-|freebsd-(bugs|ports-bugs|doc|ports)' | sort -u` + +# open confidential bugs report +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD bugmaster " + echo "Subject: open, unassigned, confidential bug PRs in limbo" + echo "" + ${QUERYPR} -q -C +) | ${SENDMAIL} ${TO_BUGMASTER} + +# misfiled limbo bugs +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD bugmaster " + echo "Subject: open PRs (mis)filed to gnats-admin and in limbo" + echo "" + ${QUERYPR} -q -c -r gnats-admin +) | ${SENDMAIL} ${TO_BUGMASTER} + +# complete bugs report +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD bugs list " + echo "Subject: Current problem reports" + echo "" + echo "(Note: an HTML version of this report is available at" + echo "http://www.freebsd.org/cgi/query-pr-summary.cgi .)" + echo "" + ${QUERYPR} +) | ${SENDMAIL} ${TO_FREEBSD_BUGS} + +# unassigned ports report +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD ports list " + echo "Subject: Current unassigned ports problem reports" + echo "" + echo "(Note: an HTML version of this report is available at" + echo "http://www.freebsd.org/cgi/query-pr-summary.cgi?category=ports .)" + echo "" + ${QUERYPR} -r freebsd-ports +) | ${SENDMAIL} ${TO_FREEBSD_PORTS} + +# unassigned doc report +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD doc list " + echo "Subject: Current unassigned doc problem reports" + echo "" + echo "(Note: an HTML version of this report is available at" + echo "http://www.freebsd.org/cgi/query-pr-summary.cgi?category=doc .)" + echo "" + ${QUERYPR} -r freebsd-doc +) | ${SENDMAIL} ${TO_FREEBSD_DOC} + +# per user reports +for user in ${RESP} +do + targ=`echo ${user} | grep @` + if [ "${targ}" = "" ]; then + targ=${user}@FreeBSD.org + else + targ=${user} + fi + if [ -z "$DEVELOPMENT" ]; then + mail_to=${targ} + else + mail_to=${TO_BUGMASTER} + fi + ( + echo "From: FreeBSD bugmaster " + echo "To: ${user}" + echo "Subject: Current problem reports assigned to ${targ}" + echo "" + echo "Note: to view an individual PR, use:" + echo " http://www.freebsd.org/cgi/query-pr.cgi?pr=(number)." + echo "" + ${QUERYPR} -c -r ^${user}\$ + ) | ${SENDMAIL} ${mail_to} +done + +# PRs with patches +( + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD bugs list " + echo "Subject: Current problem reports containing patches" + echo "" + echo "(Note: an HTML version of this report is available at" + echo "http://people.freebsd.org/~linimon/studies/prs/prs_for_tag_patch.html .)" + echo "" + ${QUERYPR} -q -t patch +) | ${SENDMAIL} ${TO_FREEBSD_BUGS} + +# PRs sorted by tag +( + tags=`${TAGS} | sort | uniq` + echo "From: FreeBSD bugmaster " + echo "To: FreeBSD bugs list " + echo "Subject: Current problem reports sorted by tag" + echo "" + echo "(Note: a better version of this report is available at" + echo "http://people.freebsd.org/~linimon/studies/prs/pr_tag_index.html .)" + echo "" + for tag in $tags; do + echo "Problem reports for tag '$tag':" + ${QUERYPR} -q -T $tag + done +) | ${SENDMAIL} ${TO_FREEBSD_BUGS} +