#!/bin/csh -fb
# (The "-fb" might need to be changed to "-f" on some systems)
#
set HOSTNAME=thumper.bellcore.com
set DIRNAME=pub/nsb
set PREFIX="mm.patch."

if (! $?METAMAIL_TMPDIR) then
    set METAMAIL_TMPDIR=/tmp
endif

if ($#argv < 2 || $#argv > 5) then
	echo Usage:  patch-metamail source-tree-root patch-number [hostname [dirname [prefix]]]
	exit -1
endif

set TREEROOT="$1"
set PATCHNUMBER="$2"
if ($#argv > 2) set HOSTNAME="$3"
if ($#argv > 3) set DIRNAME="$4"
if ($#argv > 4) set PREFIX="$5"
	
echo WARNING:  This program, if allowed to do so, will attempt to 
echo install a PATCH file for your metamail sources which are rooted 
echo in the directory "$TREEROOT".
echo ""
echo It will use a patch file that it retrieves via anonymous ftp
echo from the host "$HOSTNAME", in the directory "$DIRNAME", 
echo with filenames starting with "${PREFIX}".
echo ""
echo -n "Do you want to install the patch in directory $TREEROOT [y/n] ? "
set ans=$<
if ("$ans" == "y" || "$ans" == "Y") then
    cd "$TREEROOT"
    set ident=`whoami`@`hostname`
    #  Generate temporary file name:
    if ( -x /bin/mktemp ) then
        set TmpFtp=`/bin/mktemp ${METAMAIL_TMPDIR}/mm.ftp.XXXXXXX` || exit 1
    else if ( -x /usr/bin/mktemp ) then
        set TmpFtp=`/usr/bin/mktemp ${METAMAIL_TMPDIR}/mm.ftp.XXXXXXX` || exit 1
    else
        set TmpFtp=${METAMAIL_TMPDIR}/mm.ftp.$$
        rm -rf $TmpFtp
    endif
    echo open "$HOSTNAME" > $TmpFtp
    echo user anonymous "$ident" >> $TmpFtp
    echo cd "$DIRNAME" >> $TmpFtp
    echo binary >> $TmpFtp
    echo get "${PREFIX}${PATCHNUMBER}" >> $TmpFtp
    echo quit >> $TmpFtp
    echo Using anonymous ftp with password "$ident"
    ftp -n < $TmpFtp
    rm -f $TmpFtp
    patch -p < "${PREFIX}${PATCHNUMBER}"
else
	echo Patch not installed
endif

