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>
This commit is contained in:
Abhimanyu Vishwakarma 2017-04-24 10:54:45 +05:30 committed by Peter Korsgaard
parent bb1c63763d
commit e73cf8a228

View File

@ -5,13 +5,22 @@ die() {
exit 1 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" GENIMAGE_TMP="${BUILD_DIR}/genimage.tmp"
while getopts c: OPT ; do while true ; do
case "${OPT}" in case "$1" in
c) GENIMAGE_CFG="${OPTARG}";; -c)
:) die "option '${OPTARG}' expects a mandatory argument\n";; GENIMAGE_CFG="${2}";
\?) die "unknown option '${OPTARG}'\n";; shift 2 ;;
--) # Discard all non-option parameters
shift 1;
break ;;
*)
die "unknown option '${1}'" ;;
esac esac
done done