diff options
author | Yann E. MORIN <yann.morin.1998@free.fr> | 2017-12-28 23:49:48 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2018-01-04 14:43:46 +0100 |
commit | 952d5a6024e7b2a6d5a351a8d1329bd985da3c76 (patch) | |
tree | 1f94c51d3ea2a212d7e4fc7b50869950fbf3b5f5 | |
parent | 84be5ce0d814780918771727e494fe4a2eb46636 (diff) | |
download | 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-x | applets/install.sh | 28 |
1 files changed, 16 insertions, 12 deletions
diff --git a/applets/install.sh b/applets/install.sh index 4b70df96e..ae99381d7 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 |