applets/install: don't try to install nothing

Commit 952d5a6024 (applets/install: accept more than one install
option) changed the way we handle install options: before that commit, a
missing install type would mean to install nothing; after, we would
iterate over options, so we would never notice there was a mising
option.

Fix that by introducing an explicit --none option to specify to install
nothing.

Reported-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: Aaro Koskinen <aaro.koskinen@iki.fi>
Cc: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Yann E. MORIN 2018-04-15 10:55:30 +02:00 committed by Denys Vlasenko
parent d4461ef9fb
commit 296381ff4f
2 changed files with 7 additions and 2 deletions

View File

@ -11,6 +11,9 @@ busybox.cfg.nosuid: $(srctree)/applets/busybox.mksuid $(objtree)/include/autocon
$(Q)-SUID="DROP" $(SHELL) $^ > $@ $(Q)-SUID="DROP" $(SHELL) $^ > $@
.PHONY: install .PHONY: install
ifeq ($(CONFIG_INSTALL_APPLET_DONT),y)
INSTALL_OPTS:= --none
endif
ifeq ($(CONFIG_INSTALL_APPLET_SYMLINKS),y) ifeq ($(CONFIG_INSTALL_APPLET_SYMLINKS),y)
INSTALL_OPTS:= --symlinks INSTALL_OPTS:= --symlinks
endif endif

View File

@ -5,7 +5,9 @@ export LC_CTYPE=POSIX
prefix=$1 prefix=$1
if [ -z "$prefix" ]; then if [ -z "$prefix" ]; then
echo "usage: applets/install.sh DESTINATION [--symlinks/--hardlinks/--binaries/--scriptwrapper]" echo "usage: applets/install.sh DESTINATION TYPE [OPTS ...]"
echo " TYPE is one of: --symlinks --hardlinks --binaries --scriptwrapper --none"
echo " OPTS is one or more of: --cleanup --noclobber"
exit 1 exit 1
fi fi
shift # Keep only remaining options shift # Keep only remaining options
@ -32,7 +34,7 @@ while [ ${#} -gt 0 ]; do
--sw-sh-sym) scriptwrapper="y"; linkopts="-fs";; --sw-sh-sym) scriptwrapper="y"; linkopts="-fs";;
--cleanup) cleanup="1";; --cleanup) cleanup="1";;
--noclobber) noclobber="1";; --noclobber) noclobber="1";;
"") h="";; --none) h="";;
*) echo "Unknown install option: $1"; exit 1;; *) echo "Unknown install option: $1"; exit 1;;
esac esac
shift shift