Adjusted install.sh to use relative symlinks, and to optionally
authorEric Andersen <andersen@codepoet.org>
Thu, 20 Jul 2000 21:57:11 +0000 (21:57 -0000)
committerEric Andersen <andersen@codepoet.org>
Thu, 20 Jul 2000 21:57:11 +0000 (21:57 -0000)
create hardlinks.  Added a makefile target to create hardlinks.
 -Erik

Makefile
applets/install.sh
install.sh

index f4df9c702b679fcbf559442ba61fb1f74cd1a0c8..a17225c0f6ea3f842c0f92f4bffb4098190ff8b9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -23,6 +23,9 @@ VERSION   := 0.46
 BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z")
 export VERSION
 
+# If you want a static binary, turn this on.
+DOSTATIC = false
+
 # Set the following to `true' to make a debuggable build.
 # Leave this set to `false' for production use.
 # eg: `make DODEBUG=true tests'
@@ -37,9 +40,6 @@ DODEBUG = false
 # Do not enable this for production builds...
 DODMALLOC = false
 
-# If you want a static binary, turn this on.
-DOSTATIC = false
-
 # If you are running a cross compiler, you may want to set this
 # to something more interesting...
 CROSS =
@@ -182,6 +182,9 @@ distclean: clean
 install: busybox busybox.links
        ./install.sh $(PREFIX)
 
+install-hardlinks: busybox busybox.links
+       ./install.sh $(PREFIX) --hardlinks
+
 dist release: distclean doc
        cd ..;                                  \
        rm -rf busybox-$(VERSION);              \
index 65190f59d85b10ed6f1bd18c4c63f13b1c5505c2..236f62a568e32c71d2426b0a36a0d755fdd05177 100755 (executable)
@@ -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
index 65190f59d85b10ed6f1bd18c4c63f13b1c5505c2..236f62a568e32c71d2426b0a36a0d755fdd05177 100755 (executable)
@@ -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