Contents of /trunk/mkinitrd-magellan/busybox/applets/install.sh
Parent Directory | Revision Log
Revision 532 -
(show annotations)
(download)
(as text)
Sat Sep 1 22:45:15 2007 UTC (16 years, 8 months ago) by niro
File MIME type: application/x-sh
File size: 1998 byte(s)
Sat Sep 1 22:45:15 2007 UTC (16 years, 8 months ago) by niro
File MIME type: application/x-sh
File size: 1998 byte(s)
-import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd
1 | #!/bin/sh |
2 | |
3 | export LC_ALL=POSIX |
4 | export LC_CTYPE=POSIX |
5 | |
6 | prefix=${1} |
7 | if [ -z "$prefix" ]; then |
8 | echo "usage: applets/install.sh DESTINATION [--symlinks/--hardlinks]" |
9 | exit 1; |
10 | fi |
11 | h=`sort busybox.links | uniq` |
12 | cleanup="0" |
13 | noclobber="0" |
14 | case "$2" in |
15 | --hardlinks) linkopts="-f";; |
16 | --symlinks) linkopts="-fs";; |
17 | --cleanup) cleanup="1";; |
18 | --noclobber) noclobber="1";; |
19 | "") h="";; |
20 | *) echo "Unknown install option: $2"; exit 1;; |
21 | esac |
22 | |
23 | if [ -n "$DO_INSTALL_LIBS" ] && [ "$DO_INSTALL_LIBS" != "n" ]; then |
24 | # get the target dir for the libs |
25 | # assume it starts with lib |
26 | libdir=$($CC -print-file-name=libc.so | \ |
27 | sed -n 's%^.*\(/lib[^\/]*\)/libc.so%\1%p') |
28 | if test -z "$libdir"; then |
29 | libdir=/lib |
30 | fi |
31 | |
32 | mkdir -p $prefix/$libdir || exit 1 |
33 | for i in $DO_INSTALL_LIBS; do |
34 | rm -f $prefix/$libdir/$i || exit 1 |
35 | if [ -f $i ]; then |
36 | cp -a $i $prefix/$libdir/ || exit 1 |
37 | chmod 0644 $prefix/$libdir/$i || exit 1 |
38 | fi |
39 | done |
40 | fi |
41 | |
42 | if [ "$cleanup" = "1" ] && [ -e "$prefix/bin/busybox" ]; then |
43 | inode=`ls -i "$prefix/bin/busybox" | awk '{print $1}'` |
44 | sub_shell_it=` |
45 | cd "$prefix" |
46 | for d in usr/sbin usr/bin sbin bin ; do |
47 | pd=$PWD |
48 | if [ -d "$d" ]; then |
49 | cd $d |
50 | ls -iL . | grep "^ *$inode" | awk '{print $2}' | env -i xargs rm -f |
51 | fi |
52 | cd "$pd" |
53 | done |
54 | ` |
55 | fi |
56 | |
57 | rm -f $prefix/bin/busybox || exit 1 |
58 | mkdir -p $prefix/bin || exit 1 |
59 | install -m 755 busybox $prefix/bin/busybox || exit 1 |
60 | |
61 | for i in $h ; do |
62 | appdir=`dirname $i` |
63 | mkdir -p $prefix/$appdir || exit 1 |
64 | if [ "$2" = "--hardlinks" ]; then |
65 | bb_path="$prefix/bin/busybox" |
66 | else |
67 | case "$appdir" in |
68 | /) |
69 | bb_path="bin/busybox" |
70 | ;; |
71 | /bin) |
72 | bb_path="busybox" |
73 | ;; |
74 | /sbin) |
75 | bb_path="../bin/busybox" |
76 | ;; |
77 | /usr/bin|/usr/sbin) |
78 | bb_path="../../bin/busybox" |
79 | ;; |
80 | *) |
81 | echo "Unknown installation directory: $appdir" |
82 | exit 1 |
83 | ;; |
84 | esac |
85 | fi |
86 | if [ "$noclobber" = "0" ] || [ ! -e "$prefix$i" ]; then |
87 | echo " $prefix$i -> $bb_path" |
88 | ln $linkopts $bb_path $prefix$i || exit 1 |
89 | else |
90 | echo " $prefix$i already exists" |
91 | fi |
92 | done |
93 | |
94 | exit 0 |
Properties
Name | Value |
---|---|
svn:executable | * |