create hardlinks. Added a makefile target to create hardlinks.
-Erik
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'
# 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 =
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); \
#!/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
#!/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