From 39b4c7de9a5085d47db82c02277eec793264e187 Mon Sep 17 00:00:00 2001 From: Olivier Sirol Date: Wed, 27 Feb 2002 10:32:24 +0000 Subject: [PATCH] il faut reecrire instool... --- CVSROOT/instool | 376 ++---------------------------------------------- 1 file changed, 14 insertions(+), 362 deletions(-) diff --git a/CVSROOT/instool b/CVSROOT/instool index df33e988..64e8e141 100755 --- a/CVSROOT/instool +++ b/CVSROOT/instool @@ -1,370 +1,22 @@ #!/bin/sh -# set -v -# set -x # -# Installation script for the tools of the lab that plug on Alliance +# Filename: instool +# Copyright (C) 1999, 2000 Czo +# License: GPL (http://www.gnu.org/copyleft/gpl.html) +# Started: Feb 2002 +# Last Change: Wednesday 27 February 2002, 11:31 +# Edit Time: 0:15:25 +# Description: # -# Author: Frédéric Pétrot (fred@pasta.fr.ea) -# for version 0 -# -# $Id: instool,v 1.28 2001/10/19 14:32:01 jpc Exp $ +# $Id: instool,v 1.29 2002/02/27 10:32:24 czo Exp $ # - -#rsh ssh et .profile ... -#DATE=`date +"%Y.%m.%d_%H.%M.%S"` - -DATE=`date +"%Y.%m.%d"` -mkdir -p $HOME/tmp -TMPDIR=$HOME/tmp -LOG=$TMPDIR/`basename $0`.$$ -BUG=$TMPDIR/`basename $0`_bug.$$ - -BUGTEAM="fred ludo czo" - -# rep par defaut : alliance/archi/$MACHINE -# alliance/share/... -TARGET="Solaris Linux" -NUM_TARGET=`echo $TARGET | wc -w` - -LABO=/users/soft5/newlabo/alliance -CELL_EXTENSIONS="al ap vst vbe cp hns edi spi db dat IDX" -CELLS=$LABO/share/cells -ETC=$LABO/share/etc -MANS=$LABO/share/man - -umask 002 -alcbanner "Instool" "0.0 alpha" "Alliance Tools Installation Script" "1999" +echo "Instool est desactivé." echo "" +echo "Il faut re ecrire un truc du genre : " +echo "cd tmp" +echo "cvs co toto" +echo "configure --prefix=/asim/alliance/Linux" +echo "make install" echo "" -echo "News: " -echo " the include are shared" -echo " a log of all installations is available in $HOME/tmp" -echo " a message MUST be given for each installation" - - if [ $# -lt 2 -o $# -gt 4 ] ; then - echo "Syntax: `basename $0` [-v] tool-home-directory message" - exit 1 - fi - - if [ $1 = "-v" ]; then - verbose=1 - shift - else - verbose=0 - fi - - if [ -z $1 -o -z "${2:-''}" ] ; then - echo "Syntax: `basename $0` [-v] tool-home-directory message" - exit 1 - fi - - if [ $verbose -ne 0 ] ; then - echo "`basename $0` : Checking directories" - fi - - if [ ! -d $1 ] ; then - echo "`basename $0` cannot install tool $1" - echo "Directory $1 doesn't exist!" - exit 2 - fi - - if [ ! -d $1/labo ] ; then - echo "`basename $0` cannot install tool $1" - echo "Directory $1/labo doesn't exist!" - exit 3 - fi - - for i in $TARGET ; do - if [ ! -d $1/labo/$i ] ; then - echo "`basename $0` cannot install tool $1" - echo "Directory $1/labo/$i doesn't exist!" - exit 4 - fi - done - - bin=0; lib=0; inc=0 - for i in $TARGET ; do - if [ -d $1/labo/$i/bin ] ; then - bin=`expr $bin + 1` - fi - if [ -d $1/labo/$i/lib ] ; then - lib=`expr $lib + 1` - fi - if [ -d $1/labo/$i/include ] ; then - inc=`expr $inc + 1` - fi - done - - if [ $bin -eq 0 ]; then - echo "No binaries to install, ..." - unset bin - elif [ ! $bin -eq $NUM_TARGET ]; then - echo "`basename $0` cannot install tool $1" - echo "Directory $1/labo/archi/bin doesn't exist on all architectures" - exit 5 - fi - - if [ $lib -eq 0 -a $inc -eq 0 ]; then - echo "No libraries to install, ..." - unset lib inc - elif [ ! \( $lib -eq $NUM_TARGET -a $inc -eq $NUM_TARGET \) ]; then - echo "`basename $0` cannot install tool $1" - echo "Directory $1/labo/archi/lib or/and $1/labo/archi/include " - echo "doesn't exist on all architectures" - exit 6 - fi - - if [ ${bin:-0} -eq 0 -a ${lib:-0} -eq 0 -a ${inc:-0} -eq 0 ] ; then - echo "`basename $0` cannot install tool $1" - echo "Nothing to be installed" - exit 0 - fi - - trap "rm -f $TMPDIR/*.$$ $LOG; exit 0" 0 1 2 15 - #trap "exit 12" 0 1 2 15 - - if [ $verbose -ne 0 ] ; then - echo "`basename $0` : Checking directories contents for consistency" - fi - - b=0 - if [ ! ${bin:-0} -eq 0 ]; then - for i in $TARGET ; do - ls -1 $1/labo/$i/bin > $TMPDIR/$i.bin.$$ 2> /dev/null - if [ ! -s $TMPDIR/$i.bin.$$ ] ; then - b=`expr $b + 1` - fi - done - if [ $b -eq $NUM_TARGET ] ; then - for i in $TARGET ; do - echo "Please remove $1/labo/$i/bin since it is empty" - done - unset bin - fi - fi - l=0 - h=0 - if [ ! ${lib:-0} -eq 0 ]; then - for i in $TARGET ; do - ls -1 $1/labo/$i/lib > $TMPDIR/$i.lib.$$ 2> /dev/null - ls -1 $1/labo/$i/lib/*.a | awk -F/ '{print $NF}' > $TMPDIR/$i.lib.a.$$ 2> /dev/null - diff $TMPDIR/$i.lib.$$ $TMPDIR/$i.lib.a.$$ > /dev/null 2>&1 - if [ ! $? -eq 0 ] ; then - echo "`basename $0` cannot install tool $1" - echo "directory $1/labo/$i/lib contains files " - echo "that do not end with .a" - exit 7 - fi - ls -1 $1/labo/$i/include > $TMPDIR/$i.inc.$$ 2> /dev/null - ls -1 $1/labo/$i/include/*.h | awk -F/ '{print $NF}' > $TMPDIR/$i.inc.h.$$ 2> /dev/null - diff $TMPDIR/$i.inc.$$ $TMPDIR/$i.inc.h.$$ > /dev/null 2>&1 - if [ ! $? -eq 0 ] ; then - echo "`basename $0` cannot install tool $1" - echo "directory $1/labo/$i/include contains files " - echo "that do not end with .h" - exit 7 - fi - if [ ! -s $TMPDIR/$i.lib.$$ ] ; then - l=`expr $l + 1` - fi - if [ ! -s $TMPDIR/$i.inc.$$ ] ; then - h=`expr $h + 1` - fi - if [ \( ! -s $TMPDIR/$i.lib.$$ -a -s $TMPDIR/$i.inc.$$ \) -o \ - \( -s $TMPDIR/$i.lib.$$ -a ! -s $TMPDIR/$i.inc.$$ \) ] ; then - echo "`basename $0` cannot install tool $1" - echo "Libraries requires includes and vice-versa" - exit 7 - fi - done - if [ $l -eq $NUM_TARGET ] ; then - echo "Please remove $1/labo/archi/lib since it is empty " - unset lib - fi - if [ $h -eq $NUM_TARGET ] ; then - echo "Please remove $1/labo/archi/include since it is empty " - unset inc - fi - fi - - if [ ${bin:-0} -eq 0 -a ${lib:-0} -eq 0 -a ${inc:-0} -eq 0 ] ; then - echo "`basename $0` cannot install tool $1" - echo "Nothing to install" - exit 1 - fi - - DIR=`echo ${bin:+bin} ${lib:+lib} ${inc:+include}` - - bins=0; libs=0; incs=0 - for i in $TARGET ; do - for j in $TARGET ; do - if [ ! ${bin:-0} -eq 0 ]; then - diff $TMPDIR/$j.bin.$$ $TMPDIR/$i.bin.$$ > /dev/null 2>&1 - bins=`expr $bins + $?` - fi - if [ ! ${lib:-0} -eq 0 ]; then - diff $TMPDIR/$j.lib.$$ $TMPDIR/$i.lib.$$ > /dev/null 2>&1 - libs=`expr $libs + $?` - diff $TMPDIR/$j.inc.$$ $TMPDIR/$i.inc.$$ > /dev/null 2>&1 - incs=`expr $incs + $?` - fi - done - done - - if [ $bins -gt 0 -o $libs -gt 0 -o $incs -gt 0 ] ; then - echo "`basename $0` cannot install tool $1" - echo "all bin/lib/include directories do not contain the same files" - echo "for all target architectures" - exit 8 - fi - - echo "`basename $0`: Checking for space on disk :" - s=1 - for i in $TARGET; do - for j in $DIR; do - d=`du -s $1/labo/$i/$j 2>/dev/null | tail -1 | cut -f 1` - s=`expr $s + $d` - done - done - a=`df $LABO | sed -e 's/ */ /g' | tail -1 | cut -f 4` - - if [ $verbose -ne 0 ] ; then - echo "Available disk space $a" - echo "Required disk space $s" - fi - - if [ $s -gt $a ] ; then - echo "`basename $0`: cannot install tool $1" - echo "Not enough space on device for the installation" - echo "Ring me again in a few days, ..." - exit 23 - fi - - if [ $verbose -ne 0 ] ; then - echo "The real stuff right now, ..." - fi - - for i in $TARGET ; do - echo "+---------------------------------------------------" >> $LOG - echo "Target $i " >> $LOG - for j in $DIR ; do - echo "+---------------------" >> $LOG - echo "directory $j " >> $LOG - if [ $j = "bin" ] ; then - for k in $1/labo/$i/$j/*; do - cp $k $LABO/archi/$i/$j/`basename $k`.$DATE - if [ $? -ne 0 ] ; then - echo "`basename $0`: cp returned a non-zero exit status" - echo cp $k $LABO/archi/$i/$j/`basename $k`.$DATE - echo "that sucks pretty much so I quit leaving things as is" - exit 17 - fi - chmod 775 $LABO/archi/$i/$j/`basename $k`.$DATE - rm -f $LABO/archi/$i/$j/`basename $k` > /dev/null 2>&1 - ln -s $LABO/archi/$i/$j/`basename $k`.$DATE $LABO/archi/$i/$j/`basename $k` - if [ $? -ne 0 ] ; then - echo "`basename $0`: ln returned a non-zero exit status" - echo ln -s $LABO/archi/$i/$j/`basename $k`.$DATE $LABO/archi/$i/$j/`basename $k` - echo "that sucks pretty much so I quit leaving things as is" - exit 17 - fi - done - elif [ $j = "lib" ] ; then - for k in $1/labo/$i/$j/*; do - cp $k $LABO/archi/$i/$j >> $BUG 2>&1 - if [ $? -ne 0 ] ; then - echo "`basename $0`: cp returned a non-zero exit status" - echo cp $k $LABO/archi/$i/$j - echo "that sucks pretty much so I quit leaving things as is" - exit 17 - fi - if [ $i = "SunOS" ] ; then - ssh heavy ranlib $LABO/archi/$i/$j/`basename $k` - fi - done - else - cp $1/labo/$i/$j/* $LABO/archi/$i/$j >> $BUG 2>&1 - if [ $? -ne 0 ] ; then - echo "`basename $0`: cp returned a non-zero exit status" - echo cp $1/labo/$i/$j/* $LABO/archi/$i/$j - echo "that sucks pretty much so I quit leaving things as is" - exit 17 - fi - chmod 664 $LABO/archi/$i/$j/* >> $BUG 2>&1 - fi - ls -1 $1/labo/$i/$j | fmt -70 >> $LOG - done - done - for i in $DIR; do - if [ $i = "lib" ] ; then - if [ -f $TMPDIR/libraries.mk.* ] ; then - echo "`basename $0`: Sorry, somebody is updating libraries.mk" - echo "waiting until the update is done to finish" - fi - while [ -f $TMPDIR/libraries.mk.$$ ]; do - sleep 2 - echo "Still waiting, ..." - done - /users/outil/alliance/cvsroot/CVSROOT/updatelibmk $LABO/archi/Linux > $TMPDIR/libraries.mk.$$ - mv -f $ETC/libraries.mk $ETC/libraries.mk.$DATE - if [ $? -ne 0 ] ; then - echo "`basename $0`: mv returned a non-zero exit status" - echo "while copying libraries.mk to libraries.mk.$$" - echo "that sucks pretty much so I quit leaving things as is" - exit 17 - fi - mv -f $TMPDIR/libraries.mk.$$ $ETC/libraries.mk - if [ $? -ne 0 ] ; then - echo "`basename $0`: mv returned a non-zero exit status" - echo "while copying libraries.mk to libraries.mk.$$" - echo "that sucks pretty much so I quit leaving things as is" - exit 17 - fi - fi - done - echo >> $LOG - if [ -s $BUG ] ; then - mail -s "ALC : Problem while installing `basename $1`" $BUGTEAM < $BUG - fi - - cat $LOG >> $TMPDIR/`basename $1`.log - - -# mail alcteam -#echo $* | mail -s "ALC : Install of `basename $1`" alliance-programmers@asim.lip6.fr - -TMPFILE=/tmp/instool.$$ -FINGER=`who am i | awk '{gsub(/^[^\!]*\!/,""); print $1}'` -SUJ="Instool de `basename $1`" - -( -echo "====================================================================" -echo "$SUJ" -echo "le : `date`" -echo "par : $FINGER" -echo "====================================================================" -echo "" -echo $* -echo "" -echo "====================================================================" -echo "Ce message est envoyé au personnes abonnées à alliance-programmers" -echo "Pour plus d'information sur cette mailling-list, visitez :" -echo "http://www-asim.lip6.fr/alliance/mailing-lists/" - -) > "$TMPFILE" - -cat "$TMPFILE" | mail -s "ALC : $SUJ" alliance-programmers@asim.lip6.fr - -rm -f "$TMPFILE" dummy - -# echo "Launching chgrp and chmod ..." -# chgrp -R 30101 /users/soft5/newlabo/alliance-4.5.0 -# chmod -R ug+rw /users/soft5/newlabo/alliance-4.5.0 -# find /users/soft5/newlabo/alliance-4.5.0 -type d | xargs chmod 2775 - -exit 0 - - -