diff options
author | Abhimanyu Vishwakarma <Abhimanyu.V@gmail.com> | 2017-04-24 10:54:45 +0530 |
---|---|---|
committer | Peter Korsgaard <peter@korsgaard.com> | 2017-04-27 22:55:52 +0200 |
commit | e73cf8a228a15ae11530cd589b11930cf4f4478d (patch) | |
tree | 68fc1e48d58e994396296463e4925510f73122de /support/scripts/genimage.sh | |
parent | bb1c63763d862419e22f30b90fcd5179d40a0c5a (diff) | |
download | buildroot-e73cf8a228a15ae11530cd589b11930cf4f4478d.tar.gz buildroot-e73cf8a228a15ae11530cd589b11930cf4f4478d.zip |
genimage.sh: fix calling from BR2_ROOTFS_POST_IMAGE_SCRIPT
When called from BR2_ROOTFS_POST_IMAGE_SCRIPT, this script
ends up with following error:
Error: Missing argument
This is because, an extra positional argument is also passed
along with BR2_ROOTFS_POST_SCRIPT_ARGS. genimage.sh didn't
have support to parse positional and optional arguments
together.
Signed-off-by: Abhimanyu Vishwakarma <Abhimanyu.V@gmail.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Rahul Bedarkar <rahulbedarkar89@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'support/scripts/genimage.sh')
-rwxr-xr-x | support/scripts/genimage.sh | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/support/scripts/genimage.sh b/support/scripts/genimage.sh index 0ed0e8bcc2..6c8d9e5ad3 100755 --- a/support/scripts/genimage.sh +++ b/support/scripts/genimage.sh @@ -5,13 +5,22 @@ die() { exit 1 } +# Parse arguments and put into argument list of the script +opts="$(getopt -n "${0##*/}" -o c: -- "$@")" || exit $? +eval set -- "$opts" + GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp" -while getopts c: OPT ; do - case "${OPT}" in - c) GENIMAGE_CFG="${OPTARG}";; - :) die "option '${OPTARG}' expects a mandatory argument\n";; - \?) die "unknown option '${OPTARG}'\n";; +while true ; do + case "$1" in + -c) + GENIMAGE_CFG="${2}"; + shift 2 ;; + --) # Discard all non-option parameters + shift 1; + break ;; + *) + die "unknown option '${1}'" ;; esac done |