diff options
author | Eric Andersen | 2000-07-20 21:57:11 +0000 |
---|---|---|
committer | Eric Andersen | 2000-07-20 21:57:11 +0000 |
commit | 51154bacbe34d160f089c4ab4bbb51766030233d (patch) | |
tree | d4cc96083ccdfb95c031f92aacfb1b3f8c08dc97 /applets/install.sh | |
parent | 3950596e1e13d3593d06ab3cf1e48a07d5bd80c9 (diff) | |
download | busybox-51154bacbe34d160f089c4ab4bbb51766030233d.zip busybox-51154bacbe34d160f089c4ab4bbb51766030233d.tar.gz |
Adjusted install.sh to use relative symlinks, and to optionally
create hardlinks. Added a makefile target to create hardlinks.
-Erik
Diffstat (limited to 'applets/install.sh')
-rwxr-xr-x | applets/install.sh | 44 |
1 files changed, 37 insertions, 7 deletions
diff --git a/applets/install.sh b/applets/install.sh index 65190f5..236f62a 100755 --- a/applets/install.sh +++ b/applets/install.sh @@ -1,21 +1,51 @@ #!/bin/sh set -e - +set -x if [ "$1" = "" ]; then echo "No installation directory, aborting." exit 1; fi - +if [ "$2" = "--hardlinks" ]; then + linkopts="-f" +else + linkopts="-fs" +fi +prefix=$1 h=`sort busybox.links | uniq` -for i in $h ; do - echo " $1$i -> /bin/busybox" - mkdir -p $1/`echo $i | sed -e 's/\/[^\/]*$//' ` - ln -fs /bin/busybox $1$i -done + rm -f $1/bin/busybox mkdir -p $1/bin install -m 755 busybox $1/bin/busybox +for i in $h ; do + appdir=`dirname $i` + mkdir -p $prefix/$appdir + 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 -> /bin/busybox" + ln $linkopts $bb_path $prefix$i +done + exit 0 |