X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=applets%2Finstall.sh;h=d163a2ef84303034728339ebffa4e19cb68ab32e;hb=f51d2069ff3a38be49a86212e1d62f2fd89c5943;hp=769d1f4a3d70e473fda45b6cda89ab56b8d0d3fe;hpb=d00c2628474b9e6a3fe34c988fe197cf2425ff1a;p=oweals%2Fbusybox.git diff --git a/applets/install.sh b/applets/install.sh index 769d1f4a3..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