X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=applets%2Finstall.sh;h=d163a2ef84303034728339ebffa4e19cb68ab32e;hb=f51d2069ff3a38be49a86212e1d62f2fd89c5943;hp=100b26bad28e48a8ac7d0eae807a3b045018b0b6;hpb=9ffdaa647ee57263247e047e6c67c5a7fa1f2a6c;p=oweals%2Fbusybox.git diff --git a/applets/install.sh b/applets/install.sh index 100b26bad..d163a2ef8 100755 --- a/applets/install.sh +++ b/applets/install.sh @@ -1,20 +1,52 @@ #!/bin/sh -set -e +export LC_ALL=POSIX +export LC_CTYPE=POSIX -if [ "$1" = "" ]; then +prefix=$1 +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` + +rm -f $prefix/bin/busybox || exit 1 +mkdir -p $prefix/bin || exit 1 +install -m 755 busybox $prefix/bin/busybox || exit 1 + for i in $h ; do - echo " $1$i -> /bin/busybox" - mkdir -p $1/`echo $i | sed -e 's/\/[^\/]*$//' ` - ln -fs /bin/busybox $1$i + appdir=`dirname $i` + mkdir -p $prefix/$appdir || exit 1 + 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 -> $bb_path" + ln $linkopts $bb_path $prefix$i || exit 1 done -rm -f $1/bin/busybox -install -m 755 busybox $1/bin/busybox exit 0