|
@@ -1,91 +0,0 @@
|
|
|
-#!/bin/sh
|
|
|
-
|
|
|
-# This script checks the git log for URLs to the QEMU launchpad bugtracker
|
|
|
-# and optionally checks whether the corresponding bugs are not closed yet.
|
|
|
-
|
|
|
-show_help () {
|
|
|
- echo "Usage:"
|
|
|
- echo " -s <commit> : Start searching at this commit"
|
|
|
- echo " -e <commit> : End searching at this commit"
|
|
|
- echo " -c : Check if bugs are still open"
|
|
|
- echo " -b : Open bugs in browser"
|
|
|
-}
|
|
|
-
|
|
|
-while getopts "s:e:cbh" opt; do
|
|
|
- case "$opt" in
|
|
|
- s) start="$OPTARG" ;;
|
|
|
- e) end="$OPTARG" ;;
|
|
|
- c) check_if_open=1 ;;
|
|
|
- b) show_in_browser=1 ;;
|
|
|
- h) show_help ; exit 0 ;;
|
|
|
- *) echo "Use -h for help." ; exit 1 ;;
|
|
|
- esac
|
|
|
-done
|
|
|
-
|
|
|
-if [ "x$start" = "x" ]; then
|
|
|
- start=$(git tag -l 'v[0-9]*\.[0-9]*\.0' | tail -n 2 | head -n 1)
|
|
|
-fi
|
|
|
-if [ "x$end" = "x" ]; then
|
|
|
- end=$(git tag -l 'v[0-9]*\.[0-9]*\.0' | tail -n 1)
|
|
|
-fi
|
|
|
-
|
|
|
-if [ "x$start" = "x" ] || [ "x$end" = "x" ]; then
|
|
|
- echo "Could not determine start or end revision ... Please note that this"
|
|
|
- echo "script must be run from a checked out git repository of QEMU."
|
|
|
- exit 1
|
|
|
-fi
|
|
|
-
|
|
|
-echo "Searching git log for bugs in the range $start..$end"
|
|
|
-
|
|
|
-urlstr='https://bugs.launchpad.net/\(bugs\|qemu/+bug\)/'
|
|
|
-bug_urls=$(git log $start..$end \
|
|
|
- | sed -n '\,'"$urlstr"', s,\(.*\)\('"$urlstr"'\)\([0-9]*\).*,\2\4,p' \
|
|
|
- | sort -u)
|
|
|
-
|
|
|
-echo Found bug URLs:
|
|
|
-for i in $bug_urls ; do echo " $i" ; done
|
|
|
-
|
|
|
-if [ "x$check_if_open" = "x1" ]; then
|
|
|
- echo
|
|
|
- echo "Checking which ones are still open..."
|
|
|
- for i in $bug_urls ; do
|
|
|
- if ! curl -s -L "$i" | grep "value status" | grep -q "Fix Released" ; then
|
|
|
- echo " $i"
|
|
|
- final_bug_urls="$final_bug_urls $i"
|
|
|
- fi
|
|
|
- done
|
|
|
-else
|
|
|
- final_bug_urls=$bug_urls
|
|
|
-fi
|
|
|
-
|
|
|
-if [ "x$final_bug_urls" = "x" ]; then
|
|
|
- echo "No open bugs found."
|
|
|
-elif [ "x$show_in_browser" = "x1" ]; then
|
|
|
- # Try to determine which browser we should use
|
|
|
- if [ "x$BROWSER" != "x" ]; then
|
|
|
- bugbrowser="$BROWSER"
|
|
|
- elif command -v xdg-open >/dev/null 2>&1; then
|
|
|
- bugbrowser=xdg-open
|
|
|
- elif command -v gnome-open >/dev/null 2>&1; then
|
|
|
- bugbrowser=gnome-open
|
|
|
- elif [ "$(uname)" = "Darwin" ]; then
|
|
|
- bugbrowser=open
|
|
|
- elif command -v sensible-browser >/dev/null 2>&1; then
|
|
|
- bugbrowser=sensible-browser
|
|
|
- else
|
|
|
- echo "Please set the BROWSER variable to the browser of your choice."
|
|
|
- exit 1
|
|
|
- fi
|
|
|
- # Now show the bugs in the browser
|
|
|
- first=1
|
|
|
- for i in $final_bug_urls; do
|
|
|
- "$bugbrowser" "$i"
|
|
|
- if [ $first = 1 ]; then
|
|
|
- # if it is the first entry, give the browser some time to start
|
|
|
- # (to avoid messages like "Firefox is already running, but is
|
|
|
- # not responding...")
|
|
|
- sleep 4
|
|
|
- first=0
|
|
|
- fi
|
|
|
- done
|
|
|
-fi
|