From: Abhimanyu Vishwakarma Date: Mon, 24 Apr 2017 05:24:45 +0000 (+0530) Subject: genimage.sh: fix calling from BR2_ROOTFS_POST_IMAGE_SCRIPT X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e73cf8a228a15ae11530cd589b11930cf4f4478d;p=buildroot.git 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 Reviewed-by: Arnout Vandecappelle (Essensium/Mind) Tested-by: Rahul Bedarkar Signed-off-by: Peter Korsgaard --- 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