Adjusted install.sh to use relative symlinks, and to optionally
create hardlinks. Added a makefile target to create hardlinks. -Erik
This commit is contained in:
parent
3950596e1e
commit
51154bacbe
9
Makefile
9
Makefile
@ -23,6 +23,9 @@ VERSION := 0.46
|
|||||||
BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z")
|
BUILDTIME := $(shell TZ=UTC date --utc "+%Y.%m.%d-%H:%M%z")
|
||||||
export VERSION
|
export VERSION
|
||||||
|
|
||||||
|
# If you want a static binary, turn this on.
|
||||||
|
DOSTATIC = false
|
||||||
|
|
||||||
# Set the following to `true' to make a debuggable build.
|
# Set the following to `true' to make a debuggable build.
|
||||||
# Leave this set to `false' for production use.
|
# Leave this set to `false' for production use.
|
||||||
# eg: `make DODEBUG=true tests'
|
# eg: `make DODEBUG=true tests'
|
||||||
@ -37,9 +40,6 @@ DODEBUG = false
|
|||||||
# Do not enable this for production builds...
|
# Do not enable this for production builds...
|
||||||
DODMALLOC = false
|
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
|
# If you are running a cross compiler, you may want to set this
|
||||||
# to something more interesting...
|
# to something more interesting...
|
||||||
CROSS =
|
CROSS =
|
||||||
@ -182,6 +182,9 @@ distclean: clean
|
|||||||
install: busybox busybox.links
|
install: busybox busybox.links
|
||||||
./install.sh $(PREFIX)
|
./install.sh $(PREFIX)
|
||||||
|
|
||||||
|
install-hardlinks: busybox busybox.links
|
||||||
|
./install.sh $(PREFIX) --hardlinks
|
||||||
|
|
||||||
dist release: distclean doc
|
dist release: distclean doc
|
||||||
cd ..; \
|
cd ..; \
|
||||||
rm -rf busybox-$(VERSION); \
|
rm -rf busybox-$(VERSION); \
|
||||||
|
@ -1,21 +1,51 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
set -x
|
||||||
if [ "$1" = "" ]; then
|
if [ "$1" = "" ]; then
|
||||||
echo "No installation directory, aborting."
|
echo "No installation directory, aborting."
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
if [ "$2" = "--hardlinks" ]; then
|
||||||
|
linkopts="-f"
|
||||||
|
else
|
||||||
|
linkopts="-fs"
|
||||||
|
fi
|
||||||
|
prefix=$1
|
||||||
h=`sort busybox.links | uniq`
|
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
|
rm -f $1/bin/busybox
|
||||||
mkdir -p $1/bin
|
mkdir -p $1/bin
|
||||||
install -m 755 busybox $1/bin/busybox
|
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
|
exit 0
|
||||||
|
44
install.sh
44
install.sh
@ -1,21 +1,51 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
set -x
|
||||||
if [ "$1" = "" ]; then
|
if [ "$1" = "" ]; then
|
||||||
echo "No installation directory, aborting."
|
echo "No installation directory, aborting."
|
||||||
exit 1;
|
exit 1;
|
||||||
fi
|
fi
|
||||||
|
if [ "$2" = "--hardlinks" ]; then
|
||||||
|
linkopts="-f"
|
||||||
|
else
|
||||||
|
linkopts="-fs"
|
||||||
|
fi
|
||||||
|
prefix=$1
|
||||||
h=`sort busybox.links | uniq`
|
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
|
rm -f $1/bin/busybox
|
||||||
mkdir -p $1/bin
|
mkdir -p $1/bin
|
||||||
install -m 755 busybox $1/bin/busybox
|
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
|
exit 0
|
||||||
|
Loading…
Reference in New Issue
Block a user