summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Rules.mak12
-rwxr-xr-xapplets/install.sh11
-rw-r--r--sysdeps/linux/Config.in29
3 files changed, 47 insertions, 5 deletions
diff --git a/Rules.mak b/Rules.mak
index fdac364..c1a61e3 100644
--- a/Rules.mak
+++ b/Rules.mak
@@ -205,4 +205,16 @@ endif
# have a chance of winning.
CFLAGS += $(CFLAGS_EXTRA)
+#------------------------------------------------------------
+# Installation options
+ifeq ($(strip $(CONFIG_INSTALL_APPLET_HARDLINKS)),y)
+INSTALL_OPTS=--hardlinks
+endif
+ifeq ($(strip $(CONFIG_INSTALL_APPLET_SYMLINKS)),y)
+INSTALL_OPTS=--symlinks
+endif
+ifeq ($(strip $(CONFIG_INSTALL_APPLET_DONT)),y)
+INSTALL_OPTS=
+endif
+
.PHONY: dummy
diff --git a/applets/install.sh b/applets/install.sh
index d163a2e..2fcd2ae 100755
--- a/applets/install.sh
+++ b/applets/install.sh
@@ -8,12 +8,13 @@ if [ "$prefix" = "" ]; then
echo "No installation directory, aborting."
exit 1;
fi
-if [ "$2" = "--hardlinks" ]; then
- linkopts="-f"
-else
- linkopts="-fs"
-fi
h=`sort busybox.links | uniq`
+case "$2" in
+ --hardlinks) linkopts="-f";;
+ --symlinks) linkopts="-fs";;
+ "") h="";;
+ *) echo "Unknown install option: $2"; exit 1;;
+esac
rm -f $prefix/bin/busybox || exit 1
diff --git a/sysdeps/linux/Config.in b/sysdeps/linux/Config.in
index fb97c8f..3501ff7 100644
--- a/sysdeps/linux/Config.in
+++ b/sysdeps/linux/Config.in
@@ -229,6 +229,35 @@ config CONFIG_INSTALL_NO_USR
Disable use of /usr. Don't activate this option if you don't know
that you really want this behaviour.
+choice
+ prompt "Applets links"
+ default CONFIG_INSTALL_APPLET_SYMLINKS
+ help
+ Choose how you install applets links.
+
+config CONFIG_INSTALL_APPLET_SYMLINKS
+ bool "as soft-links"
+ help
+ Install applets as soft-links to the busybox binary. This needs some
+ free inodes on the filesystem, but might help with filesystem
+ generators that can't cope with hard-links.
+
+config CONFIG_INSTALL_APPLET_HARDLINKS
+ bool "as hard-links"
+ help
+ Install applets as hard-links to the busybox binary. This might count
+ on a filesystem with few inodes.
+
+config CONFIG_INSTALL_APPLET_DONT
+ bool
+ prompt "not installed"
+ depends on CONFIG_FEATURE_INSTALLER || CONFIG_FEATURE_SH_STANDALONE_SHELL
+ help
+ Do not install applets links. Usefull when using the -install feature
+ or a standalone shell for rescue pruposes.
+
+endchoice
+
config PREFIX
string "BusyBox installation prefix"
default "./_install"