1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/openpkg/aux.prereq.sh Tue Jan 06 23:40:39 2009 +0100 1.3 @@ -0,0 +1,87 @@ 1.4 +#!/bin/sh 1.5 +## 1.6 +## aux.prereq.sh -- Platform Pre-Requisite Checks 1.7 +## Copyright (c) 2000-2007 OpenPKG Foundation e.V. <http://openpkg.net/> 1.8 +## Copyright (c) 2000-2007 Ralf S. Engelschall <http://engelschall.com/> 1.9 +## 1.10 +## Permission to use, copy, modify, and distribute this software for 1.11 +## any purpose with or without fee is hereby granted, provided that 1.12 +## the above copyright notice and this permission notice appear in all 1.13 +## copies. 1.14 +## 1.15 +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED 1.16 +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 1.17 +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 1.18 +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR 1.19 +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 1.20 +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 1.21 +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF 1.22 +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 1.23 +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 1.24 +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 1.25 +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 1.26 +## SUCH DAMAGE. 1.27 +## 1.28 +## Usage: aux.prereq.sh source|binary 1.29 +## 1.30 + 1.31 +mode="$1" 1.32 + 1.33 +# CHECK: determine platform ids 1.34 +platform_prod=`sh ./shtool platform -n -L -S "" -C "+" -F "%<ap>-%<sp>"` 1.35 +platform_tech=`sh ./shtool platform -n -L -S "" -C "+" -F "%<at>-%<st>"` 1.36 +echo "++ platform product: $platform_prod" 1.37 +echo "++ platform technology: $platform_tech" 1.38 + 1.39 +# 1.40 +# CHECK: diskspace requirement 1.41 +# 1.42 +if [ ".$mode" = .source ]; then 1.43 + fs_path="${TMPDIR-/tmp}" 1.44 + fs_need=150000 1.45 +else 1.46 + fs_path="" # FIXME 1.47 + fs_need=0 # FIXME 1.48 +fi 1.49 +fs_free="" 1.50 +case "$platform_tech" in 1.51 + *-freebsd* | *-linux* | *-sunos* ) 1.52 + fs_free=`cd $fs_path && /bin/df -k . | sed -n -e '$p' | sed -e 's;^[^ ]*;;' -e 's; *;;' | awk '{ print $3; }'` 1.53 + ;; 1.54 +esac 1.55 +if [ ".$fs_free" != . ]; then 1.56 + if [ $fs_free -lt $fs_need ]; then 1.57 + if [ ".$mode" = .source ]; then 1.58 + echo "ERROR: temporary directory \"$fs_path\" has to reside on a partition" 1>&2 1.59 + echo " with at least $fs_need KB of free disk space. Set \$TMPDIR to" 1>&2 1.60 + echo " a directory on a partition with enough free disk space, please." 1>&2 1.61 + else 1.62 + echo "ERROR: installation directory \"$fs_path\" has to reside on a partition" 1>&2 1.63 + echo " with at least $fs_need KB of free disk space. Make \"$fs_path\" a" 1>&2 1.64 + echo " symbolic link to a directory on a partition with enough free" 1>&2 1.65 + echo " disk space, please." 1>&2 1.66 + fi 1.67 + exit 1 1.68 + fi 1.69 +fi 1.70 + 1.71 +# 1.72 +# CHECK: available vendor packages 1.73 +# 1.74 +# ...FIXME... 1.75 + 1.76 +# 1.77 +# CHECK: available tools in $PATH 1.78 +# 1.79 +# ...FIXME... 1.80 + 1.81 +# 1.82 +# CHECK: available devices /dev/random, etc. 1.83 +# 1.84 +# ...FIXME... 1.85 + 1.86 +# 1.87 +# CHECK: consistency check for /prefix (symlink!) 1.88 +# 1.89 +# ...FIXME... 1.90 +