openpkg/etc.prereq.sh

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

mercurial