X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=install.sh;h=8cfae3740cd9afc2dafc8517fe4e753d5f3824c7;hb=d58ff8731ce635a75406cc8b9629f1041bb4ed32;hp=29c9e26d9e28acc2f90ca3f5be645e4ebeb257ed;hpb=a9c95ea6551eb3d894fcc56822c8aa394972b699;p=oweals%2Fbusybox.git diff --git a/install.sh b/install.sh index 29c9e26d9..8cfae3740 100755 --- a/install.sh +++ b/install.sh @@ -1,22 +1,49 @@ #!/bin/sh -set -e - -if [ "$1" == "" ]; then +prefix=$1 +if [ "$prefix" = "" ]; then echo "No installation directory, aborting." exit 1; fi - -# can't just use cat, rmdir is not unique -#h=`cat busybox.links` +if [ "$2" = "--hardlinks" ]; then + linkopts="-f" +else + linkopts="-fs" +fi h=`sort busybox.links | uniq` -mkdir -p $1/bin + +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 - [ ${verbose} ] && echo " making link to $i" - mkdir -p $1/`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' ` - ln -s busybox $1/bin/`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