| |
1 #!/bin/sh |
| |
2 ## |
| |
3 ## aux.prereq.sh -- Platform Pre-Requisite Checks |
| |
4 ## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/> |
| |
5 ## Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/> |
| |
6 ## |
| |
7 ## Permission to use, copy, modify, and distribute this software for |
| |
8 ## any purpose with or without fee is hereby granted, provided that |
| |
9 ## the above copyright notice and this permission notice appear in all |
| |
10 ## copies. |
| |
11 ## |
| |
12 ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
| |
13 ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
| |
14 ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
| |
15 ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
| |
16 ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
| |
17 ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
| |
18 ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
| |
19 ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
| |
20 ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
| |
21 ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
| |
22 ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
| |
23 ## SUCH DAMAGE. |
| |
24 ## |
| |
25 ## Usage: aux.prereq.sh source|binary |
| |
26 ## |
| |
27 |
| |
28 mode="$1" |
| |
29 |
| |
30 # CHECK: determine platform ids |
| |
31 platform_prod=`sh ./shtool platform -n -L -S "" -C "+" -F "%<ap>-%<sp>"` |
| |
32 platform_tech=`sh ./shtool platform -n -L -S "" -C "+" -F "%<at>-%<st>"` |
| |
33 echo "++ platform product: $platform_prod" |
| |
34 echo "++ platform technology: $platform_tech" |
| |
35 |
| |
36 # |
| |
37 # CHECK: diskspace requirement |
| |
38 # |
| |
39 if [ ".$mode" = .source ]; then |
| |
40 fs_path="${TMPDIR-/tmp}" |
| |
41 fs_need=150000 |
| |
42 else |
| |
43 fs_path="" # FIXME |
| |
44 fs_need=0 # FIXME |
| |
45 fi |
| |
46 fs_free="" |
| |
47 case "$platform_tech" in |
| |
48 *-freebsd* | *-linux* | *-sunos* ) |
| |
49 fs_free=`cd $fs_path && /bin/df -k . | sed -n -e '$p' | sed -e 's;^[^ ]*;;' -e 's; *;;' | awk '{ print $3; }'` |
| |
50 ;; |
| |
51 esac |
| |
52 if [ ".$fs_free" != . ]; then |
| |
53 if [ $fs_free -lt $fs_need ]; then |
| |
54 if [ ".$mode" = .source ]; then |
| |
55 echo "ERROR: temporary directory \"$fs_path\" has to reside on a partition" 1>&2 |
| |
56 echo " with at least $fs_need KB of free disk space. Set \$TMPDIR to" 1>&2 |
| |
57 echo " a directory on a partition with enough free disk space, please." 1>&2 |
| |
58 else |
| |
59 echo "ERROR: installation directory \"$fs_path\" has to reside on a partition" 1>&2 |
| |
60 echo " with at least $fs_need KB of free disk space. Make \"$fs_path\" a" 1>&2 |
| |
61 echo " symbolic link to a directory on a partition with enough free" 1>&2 |
| |
62 echo " disk space, please." 1>&2 |
| |
63 fi |
| |
64 exit 1 |
| |
65 fi |
| |
66 fi |
| |
67 |
| |
68 # |
| |
69 # CHECK: available vendor packages |
| |
70 # |
| |
71 # ...FIXME... |
| |
72 |
| |
73 # |
| |
74 # CHECK: available tools in $PATH |
| |
75 # |
| |
76 # ...FIXME... |
| |
77 |
| |
78 # |
| |
79 # CHECK: available devices /dev/random, etc. |
| |
80 # |
| |
81 # ...FIXME... |
| |
82 |
| |
83 # |
| |
84 # CHECK: consistency check for /prefix (symlink!) |
| |
85 # |
| |
86 # ...FIXME... |
| |
87 |