diff options
Diffstat (limited to 'applets')
-rwxr-xr-x | applets/install.sh | 44 |
1 files changed, 37 insertions, 7 deletions
diff --git a/applets/install.sh b/applets/install.sh index 65190f59d..236f62a56 100755 --- a/applets/install.sh +++ b/applets/install.sh @@ -1,21 +1,51 @@ #!/bin/sh set -e - +set -x if [ "$1" = "" ]; then echo "No installation directory, aborting." exit 1; fi - +if [ "$2" = "--hardlinks" ]; then + linkopts="-f" +else + linkopts="-fs" +fi +prefix=$1 h=`sort busybox.links | uniq` -for i in $h ; do - echo " $1$i -> /bin/busybox" - mkdir -p $1/`echo $i | sed -e 's/\/[^\/]*$//' ` - ln -fs /bin/busybox $1$i -done + rm -f $1/bin/busybox mkdir -p $1/bin install -m 755 busybox $1/bin/busybox +for i in $h ; do + appdir=`dirname $i` + mkdir -p $prefix/$appdir + if [ "$2" = "--hardlinks" ]; then + bb_path="$prefix/bin/busybox" + else + case "$appdir" in + /) + bb_path="bin/busybox" + ;; + /bin) + bb_path="busybox" + ;; + /sbin) + bb_path="../bin/busybox" + ;; + /usr/bin|/usr/sbin) + bb_path="../../bin/busybox" + ;; + *) + echo "Unknown installation directory: $appdir" + exit 1 + ;; + esac + fi + echo " $prefix$i -> /bin/busybox" + ln $linkopts $bb_path $prefix$i +done + exit 0 |