summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYann E. MORIN2017-12-28 23:49:48 +0100
committerDenys Vlasenko2018-01-04 14:43:46 +0100
commit952d5a6024e7b2a6d5a351a8d1329bd985da3c76 (patch)
tree1f94c51d3ea2a212d7e4fc7b50869950fbf3b5f5
parent84be5ce0d814780918771727e494fe4a2eb46636 (diff)
downloadbusybox-952d5a6024e7b2a6d5a351a8d1329bd985da3c76.zip
busybox-952d5a6024e7b2a6d5a351a8d1329bd985da3c76.tar.gz
applets/install: accept more than one install option
Currently, it is impossible to pass more than one option to the isntall script, so it totally prevents using --noclobber. Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rwxr-xr-xapplets/install.sh28
1 files changed, 16 insertions, 12 deletions
diff --git a/applets/install.sh b/applets/install.sh
index 4b70df9..ae99381 100755
--- a/applets/install.sh
+++ b/applets/install.sh
@@ -8,6 +8,7 @@ if [ -z "$prefix" ]; then
echo "usage: applets/install.sh DESTINATION [--symlinks/--hardlinks/--binaries/--scriptwrapper]"
exit 1
fi
+shift # Keep only remaining options
# Source the configuration
. ./.config
@@ -21,18 +22,21 @@ scriptwrapper="n"
binaries="n"
cleanup="0"
noclobber="0"
-case "$2" in
- --hardlinks) linkopts="-f";;
- --symlinks) linkopts="-fs";;
- --binaries) binaries="y";;
- --scriptwrapper) scriptwrapper="y";swrapall="y";;
- --sw-sh-hard) scriptwrapper="y";linkopts="-f";;
- --sw-sh-sym) scriptwrapper="y";linkopts="-fs";;
- --cleanup) cleanup="1";;
- --noclobber) noclobber="1";;
- "") h="";;
- *) echo "Unknown install option: $2"; exit 1;;
-esac
+while [ ${#} -gt 0 ]; do
+ case "$1" in
+ --hardlinks) linkopts="-f";;
+ --symlinks) linkopts="-fs";;
+ --binaries) binaries="y";;
+ --scriptwrapper) scriptwrapper="y"; swrapall="y";;
+ --sw-sh-hard) scriptwrapper="y"; linkopts="-f";;
+ --sw-sh-sym) scriptwrapper="y"; linkopts="-fs";;
+ --cleanup) cleanup="1";;
+ --noclobber) noclobber="1";;
+ "") h="";;
+ *) echo "Unknown install option: $1"; exit 1;;
+ esac
+ shift
+done
if [ -n "$DO_INSTALL_LIBS" ] && [ "$DO_INSTALL_LIBS" != "n" ]; then
# get the target dir for the libs