mirror of
				https://github.com/qemu/qemu.git
				synced 2025-10-31 12:07:31 +00:00 
			
		
		
		
	 aa2192bf14
			
		
	
	
		aa2192bf14
		
	
	
	
	
		
			
			Various shell files contain a mix between obsolete `` and modern $(); It would be nice to convert to using $() everywhere. Signed-off-by: Mao Zhongyi <maozhongyi@cmss.chinamobile.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
		
			
				
	
	
		
			92 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/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
 |