openpkg/aux.prereq.sh

changeset 13
cb59d6afeb61
     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 +

mercurial