[coreboot-gerrit] Patch set updated for coreboot: board_status: Allow for parsing longopts
David Hendricks (dhendrix@chromium.org)
gerrit at coreboot.org
Fri May 6 00:53:32 CEST 2016
David Hendricks (dhendrix at chromium.org) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/14523
-gerrit
commit 46cf8ce85b24c2cc34e9a84bb2e9692879f513ea
Author: David Hendricks <dhendrix at chromium.org>
Date: Tue Apr 26 14:07:42 2016 -0700
board_status: Allow for parsing longopts
This converts the argument parsing to allow us to add longopts
using GNU getopt(1).
Shortopts should be reserved for general parameters. Longopts can be
used to tweak specific behaviors. For example, we might wish to add
options to set SSH port, timeout, and authentication parameters
with "--ssh-port", "--ssh-timeout", "--ssh-identity", etc.
Change-Id: Idee5579079dbbb7296ad98f5d6025b01aab55452
Signed-off-by: David Hendricks <dhendrix at chromium.org>
---
util/board_status/board_status.sh | 52 +++++++++++++++++++++++++++++----------
1 file changed, 39 insertions(+), 13 deletions(-)
diff --git a/util/board_status/board_status.sh b/util/board_status/board_status.sh
index b315be1..3dca85f 100755
--- a/util/board_status/board_status.sh
+++ b/util/board_status/board_status.sh
@@ -188,31 +188,57 @@ Options
"
}
-while getopts "Chi:r:s:S:u" opt; do
- case "$opt" in
- h)
+getopt -T
+if [ $? -ne 4 ]; then
+ echo "GNU-compatible getopt(1) required."
+ exit $EXIT_FAILURE
+fi
+
+# TODO: add longopts in the quotes after -l
+ARGS=$(getopt -o Chi:r:s:S:u -l "" -n "$0" -- "$@");
+if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
+eval set -- "$ARGS"
+while true ; do
+ case "$1" in
+ -h)
show_help
exit $EXIT_SUCCESS
;;
- C)
+ -C)
CLOBBER_OUTPUT=1
;;
- i)
- COREBOOT_IMAGE="$OPTARG"
+ -i)
+ shift
+ COREBOOT_IMAGE="$1"
;;
- r)
- REMOTE_HOST="$OPTARG"
+ -r)
+ shift
+ REMOTE_HOST="$1"
;;
- s)
- SERIAL_DEVICE="$OPTARG"
+ -s)
+ shift
+ SERIAL_DEVICE="$1"
;;
- S)
- SERIAL_PORT_SPEED="$OPTARG"
+ -S)
+ shift
+ SERIAL_PORT_SPEED="$1"
;;
- u)
+ -u)
UPLOAD_RESULTS=1
;;
+ --)
+ shift
+ if [ -n "$*" ]; then
+ echo "Non-option parameters detected: '$*'"
+ exit $EXIT_FAILURE
+ fi
+ break
+ ;;
+ *)
+ echo "error processing options at '$1'"
+ exit $EXIT_FAILURE
esac
+ shift
done
grep -rH 'coreboot.org' .git/config >/dev/null 2>&1
More information about the coreboot-gerrit
mailing list