diff options
author | Richard Jones <rjones@redhat.com> | 2010-05-15 08:43:02 +0100 |
---|---|---|
committer | Richard Jones <rjones@redhat.com> | 2010-05-15 08:43:02 +0100 |
commit | 002dc21cba1469cc5b1ce5ef4a7984a733b44a1f (patch) | |
tree | 689b873be109fdf1340a5396e49cc020d0d6b8fa /update-bugs | |
parent | 5d5565ca24b95719461b0c0aebdb0651dd2671ca (diff) | |
download | libguestfs-002dc21cba1469cc5b1ce5ef4a7984a733b44a1f.tar.gz libguestfs-002dc21cba1469cc5b1ce5ef4a7984a733b44a1f.tar.xz libguestfs-002dc21cba1469cc5b1ce5ef4a7984a733b44a1f.zip |
Generate BUGS file from Red Hat Bugzilla database.
Add a script which generates the 'BUGS' file from Red Hat Bugzilla.
This is run whenever we do 'make dist' and deliberately stored in git.
Diffstat (limited to 'update-bugs')
-rwxr-xr-x | update-bugs | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/update-bugs b/update-bugs new file mode 100755 index 00000000..73c1e1d2 --- /dev/null +++ b/update-bugs @@ -0,0 +1,95 @@ +#!/bin/bash - +# update-bugs +# Copyright (C) 2009-2010 Red Hat Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +# In 'make dist' this is used to update the top level 'BUGS' file with +# the current bug list from Red Hat Bugzilla (bugzilla.redhat.com). + +# First of all fetch the bugs from the database. This might fail, +# eg. if there is no net access or no 'bugzilla' program, but if that +# happens just exit and leave the BUGS file alone. + +bugzilla query -c libguestfs --outputformat='%{bug_id} %{bug_status} %{short_desc}' > .bugs.tmp || exit 0 + +# Any errors from now on are fatal. +set -e + +# Print prologue. +echo 'NOTE: This file is automatically generated from build-aux/update-bugs.' +echo -n 'Last updated: ' ; date +'%Y-%m-%d %H:%M:%S' +echo ' +This contains a local list of the bugs that are open against +libguestfs. Bugs are tracked in the Red Hat Bugzilla database +at https://bugzilla.redhat.com/ and to report a new bug you +should follow this link: + +https://bugzilla.redhat.com/enter_bug.cgi?component=libguestfs&product=Virtualization+Tools + +When reporting a new bug, please check: + + - That the bug has not been reported already. + - That you are testing a recent version. + - Describe the bug accurately, and give a way to reproduce it. + - Include the version of libguestfs, distro version and any other + relevant information. + - Attach the complete output of "libguestfs-test-tool". +' + +lastclass=X +while read bugno status summary; do + # Ignore CLOSED bugs in this list. + if [ "$status" = "CLOSED" ]; then continue; fi + + # Treat ASSIGNED the same as NEW. + # Treat MODIFIED, POST and ON_QA as the same. + case "$status" in + ASSIGNED) bugclass=NEW ;; + POST|ON_QA) bugclass=MODIFIED ;; + *) bugclass=$status ;; + esac + + # 'bugzilla' command returns the bugs sorted by status, NEW, ASSIGNED, + # MODIFIED, ..., CLOSED. Therefore start a new section when the + # status field changes. + if [ "$bugclass" != "$lastclass" ]; then + echo '--------------------------------------------------' + case "$bugclass" in + NEW) + echo 'Bugs in NEW or ASSIGNED state are open and waiting for someone to fix.' ;; + NEEDINFO) + echo 'Bugs in NEEDINFO state require additional information.' ;; + MODIFIED) + echo 'Bugs in MODIFIED, POST or ON_QA state are fixed.' + echo 'You can help by testing the fixes.' + ;; + *) + echo "These bugs are in the $status state." ;; + esac + echo + fi + lastclass=$bugclass + + # Display the bug. + echo "$bugno $status https://bugzilla.redhat.com/show_bug.cgi?id=$bugno" + echo " $summary" + echo +done < .bugs.tmp + +echo "End of BUGS file." + +# Clean up temporary file. +rm .bugs.tmp |