X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=install.sh;h=8cfae3740cd9afc2dafc8517fe4e753d5f3824c7;hb=d58ff8731ce635a75406cc8b9629f1041bb4ed32;hp=4a0b83254c36d518e11b64518bc8d218c637b222;hpb=eded54bd96ed0394844f9ba23c5ab54dff8a917f;p=oweals%2Fbusybox.git diff --git a/install.sh b/install.sh index 4a0b83254..8cfae3740 100755 --- a/install.sh +++ b/install.sh @@ -1,17 +1,49 @@ #!/bin/sh -if [ "$1" == "" ]; then - echo "No installation directory. aborting." +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` + -h=`cat busybox.links` +rm -f $prefix/bin/busybox || exit 1 +mkdir -p $prefix/bin || exit 1 +install -m 755 busybox $prefix/bin/busybox || exit 1 -mkdir -p $1/bin for i in $h ; do - mkdir -p $1/`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' ` - (cd $1/bin ; ln -s busybox `echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' ` ) + 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