#!/bin/sh TYPE=none SCORE_VERSION=7.Beta.4 querysize=0 show= usage() { echo "usage: bininstall (-compute|-server) -querysize" exit 1; } rpmpat() { rpmpat= for arg do file=`echo $arg` if [ "$arg" != "$file" ];then rpmpat="$rpmpat $file" fi done } scorerpm() { scorerpm= for arg do rpmpfilepat=score$SCORE_VERSION-$arg-$SCORE_VERSION\*.$ARCH.rpm rpmpat "$rpmpfilepat" if [ -z "$rpmpat" ]; then echo bininstall: WARNING: $arg not found continue fi scorerpm="$scorerpm $rpmpat" done } # SCore rpm scorecommon="common mpilib mpiimpl benchmark stg libioc xabclib mpi-adapters" scorecomp="comp" # other rpm j2rerpmpat="" case `uname -m` in i?86) ARCH=i386;; ia64) ARCH=ia64;; x86_64) ARCH=x86_64;; *) echo unknown platform. support only i386, ia64 and x86-64; exit 1;; esac for arg do case $arg in -comp*) TYPE=comp;; -server|-user) TYPE=server;; -querysize) querysize=1;; -showonly) show=echo;; *) usage;; esac done if [ $TYPE = none ]; then usage fi case $TYPE in server) scorerpm $scorecommon;; comp) scorerpm $scorecommon $scorecomp;; esac rpms="$scorerpm" if [ $querysize = 0 ]; then $show rpm --replacepkgs -Uvh $rpms 2>&1 else rpm -qp --queryformat '[%{FILESIZES}\n]' $rpms | awk '{sum += int(($1 + 1023) / 1024)} END {print sum * 1024}' fi exit 0