diff options
author | Eric Andersen <andersen@codepoet.org> | 2000-07-21 01:57:11 +0400 |
---|---|---|
committer | Eric Andersen <andersen@codepoet.org> | 2000-07-21 01:57:11 +0400 |
commit | 51154bacbe34d160f089c4ab4bbb51766030233d (patch) | |
tree | d4cc96083ccdfb95c031f92aacfb1b3f8c08dc97 /install.sh | |
parent | 3950596e1e13d3593d06ab3cf1e48a07d5bd80c9 (diff) |
Adjusted install.sh to use relative symlinks, and to optionally
create hardlinks. Added a makefile target to create hardlinks.
-Erik
Diffstat (limited to 'install.sh')
-rwxr-xr-x | install.sh | 44 |
1 files changed, 37 insertions, 7 deletions
diff --git a/install.sh b/install.sh index 65190f59d..236f62a56 100755 --- a/install.sh +++ b/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 |