svn commit: r246966 - user/bugmeister/gnats/tools

Mark Linimon linimon at FreeBSD.org
Tue Feb 19 02:31:55 UTC 2013


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 at FreeBSD.org -oem"
+
+# set this to non-null when testing changes
+#DEVELOPMENT="yes"
+
+if [ -z "$DEVELOPMENT" ]; then
+  # production:
+  TO_BUGMASTER="bugmaster at FreeBSD.org"
+  TO_FREEBSD_BUGS="freebsd-bugs at FreeBSD.org"
+  TO_FREEBSD_DOC="freebsd-doc at FreeBSD.org"
+  TO_FREEBSD_PORTS="freebsd-ports at FreeBSD.org"
+else
+  # development:
+  TO_BUGMASTER="linimon at FreeBSD.org"
+  TO_FREEBSD_BUGS="linimon at FreeBSD.org"
+  TO_FREEBSD_DOC="linimon at FreeBSD.org"
+  TO_FREEBSD_PORTS="linimon at 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 <bugmaster at freebsd.org>"
+  echo "To: FreeBSD bugmaster <bugmaster at freebsd.org>"
+  echo "Subject: open, unassigned, confidential bug PRs in limbo"
+  echo ""
+  ${QUERYPR} -q -C
+) | ${SENDMAIL} ${TO_BUGMASTER}
+
+# misfiled limbo bugs
+(
+  echo "From: FreeBSD bugmaster <bugmaster at freebsd.org>"
+  echo "To: FreeBSD bugmaster <bugmaster at freebsd.org>"
+  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 <bugmaster at freebsd.org>"
+  echo "To: FreeBSD bugs list <freebsd-bugs at freebsd.org>"
+  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 <bugmaster at freebsd.org>"
+  echo "To: FreeBSD ports list <freebsd-ports at freebsd.org>"
+  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 <bugmaster at freebsd.org>"
+  echo "To: FreeBSD doc list <freebsd-doc at freebsd.org>"
+  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 <bugmaster at freebsd.org>"
+    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 <bugmaster at FreeBSD.org>"
+  echo "To: FreeBSD bugs list <freebsd-bugs at FreeBSD.org>"
+  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 <bugmaster at FreeBSD.org>"
+  echo "To: FreeBSD bugs list <freebsd-bugs at FreeBSD.org>"
+  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}
+


More information about the svn-src-user mailing list