X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=install.sh;h=8cfae3740cd9afc2dafc8517fe4e753d5f3824c7;hb=d58ff8731ce635a75406cc8b9629f1041bb4ed32;hp=65190f59d85b10ed6f1bd18c4c63f13b1c5505c2;hpb=9a8195cc03516b9f376b0f965d9f05fa326ac5d2;p=oweals%2Fbusybox.git diff --git a/install.sh b/install.sh index 65190f59d..8cfae3740 100755 --- a/install.sh +++ b/install.sh @@ -1,21 +1,49 @@ #!/bin/sh -set -e - -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 -mkdir -p $1/bin -install -m 755 busybox $1/bin/busybox exit 0