Initialize Tizen 2.3
[external/prelink.git] / debian / prelink.sh
1 #!/bin/bash 
2 #
3 # Prelink wrapper script
4 # Author: Andres Roldan <aroldan@debian.org>
5
6 # Needed to avoid annoying message in coreutils >= 6.0
7 export LC_ALL='C'
8
9 # Recommended minimun free space, 50MB
10 min_size=50000
11
12 will_prelink="$(for i in $(awk '! /#/ && ! /^-b/ && NF >= 1 {print $NF}' < /etc/prelink.conf); do test -e "$i" && echo "$i"; done)"
13 have_warn=0
14
15 df -P $will_prelink | sort | uniq | {
16     have_warn=0
17     while read part x x size x mount_point; do
18         if $(echo $part | grep -qv "^/"); then
19             continue;
20         fi
21
22         if [ $size -le "$min_size" ]; then
23             echo "Partition $part ($mount_point) has only $size KB free." >&2
24             have_warn=1
25         fi
26     done
27     
28     exit $have_warn     # Exit from piped subshell
29 }
30
31 if [ "$?" -eq "1" ]; then
32     answer="No"
33     if [ -t 1 ]; then
34         echo
35             echo "!! WARNING !!"
36             echo "It's recommended to have at least $min_size KB of disk space."
37             echo "Prelink would _really_ damage the ELF files on those partitions."
38             read -t 20 -p "Do you really want to run prelink? (yes/No): " answer
39     fi
40     
41     if [ "$answer" = "yes" ]; then
42         echo "You were warned. Running prelink..."
43         exec /usr/sbin/prelink.bin "$@"
44     else
45         echo
46         echo "Aborting prelink."
47         exit 1
48     fi
49 fi >&2
50
51 exec /usr/sbin/prelink.bin "$@"
52