| OLD | NEW |
| 1 #!/bin/bash | 1 #!/bin/bash |
| 2 | 2 |
| 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. | 3 # Copyright (c) 2009 The Chromium OS Authors. All rights reserved. |
| 4 # Use of this source code is governed by a BSD-style license that can be | 4 # Use of this source code is governed by a BSD-style license that can be |
| 5 # found in the LICENSE file. | 5 # found in the LICENSE file. |
| 6 | 6 |
| 7 # Script to report issues from the command line | 7 # Script to report issues from the command line |
| 8 | 8 |
| 9 # Load common constants. This should be the first executable line. | 9 # --- BEGIN COMMON.SH BOILERPLATE --- |
| 10 # The path to common.sh should be relative to your script's location. | 10 # Load common CrOS utilities. Inside the chroot this file is installed in |
| 11 . "$(dirname "$0")/common.sh" | 11 # /usr/lib/crosutils. Outside the chroot we find it relative to the script's |
| 12 # location. |
| 13 find_common_sh() { |
| 14 local common_paths=(/usr/lib/crosutils $(dirname "$(readlink -f "$0")")) |
| 15 local path |
| 16 |
| 17 SCRIPT_ROOT= |
| 18 for path in "${common_paths[@]}"; do |
| 19 if [ -r "${path}/common.sh" ]; then |
| 20 SCRIPT_ROOT=${path} |
| 21 break |
| 22 fi |
| 23 done |
| 24 } |
| 25 |
| 26 find_common_sh |
| 27 . "${SCRIPT_ROOT}/common.sh" || (echo "Unable to load common.sh" && exit 1) |
| 28 # --- END COMMON.SH BOILERPLATE --- |
| 12 | 29 |
| 13 # Script must be run outside the chroot | 30 # Script must be run outside the chroot |
| 14 assert_outside_chroot | 31 assert_outside_chroot |
| 15 | 32 |
| 16 # Define command line flags | 33 # Define command line flags |
| 17 # See http://code.google.com/p/shflags/wiki/Documentation10x | 34 # See http://code.google.com/p/shflags/wiki/Documentation10x |
| 18 DEFINE_string author "$USER" "author" "a" | 35 DEFINE_string author "$USER" "author" "a" |
| 19 DEFINE_string description "" "description" "d" | 36 DEFINE_string description "" "description" "d" |
| 20 DEFINE_string owner "$USER@chromium.org" "owner" "o" | 37 DEFINE_string owner "$USER@chromium.org" "owner" "o" |
| 21 DEFINE_string password "" "password" "p" | 38 DEFINE_string password "" "password" "p" |
| 22 DEFINE_integer priority "2" "priority" "r" | 39 DEFINE_integer priority "2" "priority" "r" |
| 23 DEFINE_string status "Untriaged" "status (see below)" "s" | 40 DEFINE_string status "Untriaged" "status (see below)" "s" |
| 24 DEFINE_string title "" "title" "t" | 41 DEFINE_string title "" "title" "t" |
| 25 DEFINE_string type "Bug" "type" "y" | 42 DEFINE_string type "Bug" "type" "y" |
| 26 DEFINE_string username "$USER@chromium.org" "username" "u" | 43 DEFINE_string username "$USER@chromium.org" "username" "u" |
| 27 DEFINE_boolean verbose false "verbose" "v" | 44 DEFINE_boolean verbose false "verbose" "v" |
| 28 | 45 |
| 29 FLAGS_HELP=" | 46 FLAGS_HELP=" |
| 30 Description accepts html formatting characters. | 47 Description accepts html formatting characters. |
| 31 | 48 |
| 32 Open Statuses: | 49 Open Statuses: |
| 33 Unconfirmed = New, has not been verified or reproduced | 50 Unconfirmed = New, has not been verified or reproduced |
| 34 Untriaged = Confirmed, not reviewed for priority and assignment | 51 Untriaged = Confirmed, not reviewed for priority and assignment |
| 35 Available = Triaged, but no owner assigned | 52 Available = Triaged, but no owner assigned |
| 36 Assigned = In someone's queue, but not started | 53 Assigned = In someone's queue, but not started |
| 37 Started = Work in progress | 54 Started = Work in progress |
| 38 Upstream = Issue has been reported to another project | 55 Upstream = Issue has been reported to another project |
| 39 | 56 |
| 40 Closed Statuses: | 57 Closed Statuses: |
| 41 Fixed = Work completed, needs verification | 58 Fixed = Work completed, needs verification |
| 42 Verified = Test or reporter verified that the fix works | 59 Verified = Test or reporter verified that the fix works |
| 43 Duplicate = Same root cause as another issue | 60 Duplicate = Same root cause as another issue |
| 44 WontFix = Cannot reproduce, works as intended, or obsolete | 61 WontFix = Cannot reproduce, works as intended, or obsolete |
| 45 FixUnreleased = Security bug fixed on all branches, not released | 62 FixUnreleased = Security bug fixed on all branches, not released |
| 46 Invalid = Not a valid issue report | 63 Invalid = Not a valid issue report |
| 47 | 64 |
| 48 Types: | 65 Types: |
| 49 Bug = Software not working correctly | 66 Bug = Software not working correctly |
| 50 Feature = Request for new or improved feature | 67 Feature = Request for new or improved feature |
| 51 Task = Project or work that doesn't change code | 68 Task = Project or work that doesn't change code |
| 52 Cleanup = Code maintenance unrelated to bugs | 69 Cleanup = Code maintenance unrelated to bugs |
| 53 | 70 |
| 54 Priority: | 71 Priority: |
| 55 0 = Critical. Resolve now. Blocks other work or users need immediate update. | 72 0 = Critical. Resolve now. Blocks other work or users need immediate update. |
| 56 1 = High. Required for the specified milestone release. | 73 1 = High. Required for the specified milestone release. |
| 57 2 = Normal. Desired for, but does not block, the specified milestone release
. | 74 2 = Normal. Desired for, but does not block, the specified milestone release
. |
| 58 3 = Low. Nice to have, but not important enough to start work on yet. | 75 3 = Low. Nice to have, but not important enough to start work on yet. |
| 59 " | 76 " |
| 60 | 77 |
| 61 # parse the command-line | 78 # parse the command-line |
| 62 FLAGS "$@" || exit 1 | 79 FLAGS "$@" || exit 1 |
| 63 eval set -- "${FLAGS_ARGV}" | 80 eval set -- "${FLAGS_ARGV}" |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 117 if [ -z "${AUTH}" ]; then | 134 if [ -z "${AUTH}" ]; then |
| 118 echo "Authentication Failure" >&2 | 135 echo "Authentication Failure" >&2 |
| 119 exit 1 | 136 exit 1 |
| 120 fi | 137 fi |
| 121 | 138 |
| 122 echo $BODY | curl --silent -X POST -H "Authorization: GoogleLogin auth=$AUTH" \ | 139 echo $BODY | curl --silent -X POST -H "Authorization: GoogleLogin auth=$AUTH" \ |
| 123 -H "content-type: application/atom+xml" \ | 140 -H "content-type: application/atom+xml" \ |
| 124 -H "content-length: ${#BODY}" \ | 141 -H "content-length: ${#BODY}" \ |
| 125 -T - http://code.google.com/feeds/issues/p/chromium-os/issues/full | 142 -T - http://code.google.com/feeds/issues/p/chromium-os/issues/full |
| 126 | 143 |
| OLD | NEW |