view miscellany/mtrenv/bin/distf @ 0:bce86c4163a3

Initial revision
author kono
date Mon, 18 Apr 2005 23:46:02 +0900
parents
children
line wrap: on
line source

: run this script through /bin/sh
: PATH=:/bin:/usr/bin:/usr/ucb:/usr/uci:/usr/uci/lib/mh; export PATH
case $LOCAL in
    "")  LOCAL="`rprompt %h`"
	 export LOCAL ;;
esac
F="" H="" N=F T=+${LOCAL}$$

for A in $*
do
    case $A in
	-nov*)	N=F ;;

	-v*)	N=T ;;

	-*)	echo "distf: $A unknown" 1>&2
		exit 1 ;;

	+*|@*)  case $F in
		    "")  F=$A ;;
		    *)	 echo "distf: only one folder at a time" 1>&2
			 exit 1 ;;
		esac ;;

	*)	case $H in
		    "")  H=$A ;;
		    *)	 echo "distf: only one host at a time" 1>&2
			 exit 1 ;;
		esac ;;
    esac
done

case $F in
    "")  F=+outbox ;;
esac
case $H in
    "")	 echo "usage: distf hostname [+folder]" 1>&2
	 exit 1 ;;
esac

prf=/tmp/prf$$ ctx=/tmp/ctx$$
trap "rm -f $prf $ctx" 0 1 2 3 13 15

rm -f $prf
echo "MH-Sequences:" > $prf
cat ${MH-$HOME/.mh_profile} >> $prf
MH="$prf" ; export MH

rm -f $ctx
cp ${MHCONTEXT-`mhpath +`/context} $ctx
MHCONTEXT="$ctx" ; export MHCONTEXT

if mhpath $F all > /dev/null;
    then
	C="rcp -r `mhpath $F` $H:`rsh $H -n mhpath $T`"
	case $N in
	    T)	 echo $C ;;
	esac
	if $C;
	then
	    case $N in
		F) C="rsh $H -n packit $T; rmf $T" ;;

		T) C="rsh $H -n packit -v $T; rmf $T"
		   echo $C ;;
	    esac
	    if $C;
	    then
		C="rmm $F all"
		case $N in
		    T)   echo "rmm $F all" ;;
		esac
		if $C;
		then
		    exit 0;
		else
		    exit 1;
		fi
	    else
		exit 1;
	    fi
	else
	    exit 1;
	fi
    else
	exit 1;
fi

exit 0