Andreas Boll | ca79b72 | 2013-04-17 18:14:44 +0200 | [diff] [blame] | 1 | #!/bin/bash |
| 2 | |
| 3 | # This script is used to generate the list of fixed bugs that |
| 4 | # appears in the release notes files, with HTML formatting. |
| 5 | # |
| 6 | # Note: This script could take a while until all details have |
| 7 | # been fetched from bugzilla. |
| 8 | # |
| 9 | # Usage examples: |
| 10 | # |
| 11 | # $ bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 |
| 12 | # $ bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 > bugfixes |
| 13 | # $ bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 | tee bugfixes |
| 14 | # $ DRYRUN=yes bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 |
| 15 | # $ DRYRUN=yes bin/bugzilla_mesa.sh mesa-9.0.2..mesa-9.0.3 | wc -l |
| 16 | |
| 17 | |
Emil Velikov | c505064 | 2015-07-13 20:01:39 +0100 | [diff] [blame] | 18 | # regex pattern: trim before bug number |
| 19 | trim_before='s/.*show_bug.cgi?id=\([0-9]*\).*/\1/' |
Andreas Boll | ca79b72 | 2013-04-17 18:14:44 +0200 | [diff] [blame] | 20 | |
Emil Velikov | c505064 | 2015-07-13 20:01:39 +0100 | [diff] [blame] | 21 | # regex pattern: reconstruct the url |
| 22 | use_after='s,^,https://bugs.freedesktop.org/show_bug.cgi?id=,' |
Andreas Boll | ca79b72 | 2013-04-17 18:14:44 +0200 | [diff] [blame] | 23 | |
| 24 | # extract fdo urls from commit log |
Emil Velikov | c505064 | 2015-07-13 20:01:39 +0100 | [diff] [blame] | 25 | urls=$(git log $* | grep 'bugs.freedesktop.org/show_bug' | sed -e $trim_before | sort -n -u | sed -e $use_after) |
Andreas Boll | ca79b72 | 2013-04-17 18:14:44 +0200 | [diff] [blame] | 26 | |
| 27 | # if DRYRUN is set to "yes", simply print the URLs and don't fetch the |
| 28 | # details from fdo bugzilla. |
| 29 | #DRYRUN=yes |
| 30 | |
| 31 | if [ "x$DRYRUN" = xyes ]; then |
| 32 | for i in $urls |
| 33 | do |
| 34 | echo $i |
| 35 | done |
| 36 | else |
| 37 | echo "<ul>" |
| 38 | echo "" |
| 39 | |
| 40 | for i in $urls |
| 41 | do |
| 42 | id=$(echo $i | cut -d'=' -f2) |
| 43 | summary=$(wget --quiet -O - $i | grep -e '<title>.*</title>' | sed -e 's/ *<title>Bug [0-9]\+ – \(.*\)<\/title>/\1/') |
| 44 | echo "<li><a href=\"$i\">Bug $id</a> - $summary</li>" |
| 45 | echo "" |
| 46 | done |
| 47 | |
| 48 | echo "</ul>" |
| 49 | fi |