|  | And stay tuned.  The messy patch there will be replaced with a clean one soon;
a field test update should be available in just a few weeks.
In the meantime, this shell script should help in applying the messy patch:
#!/bin/ksh
PATCHHOME=/patches
if [ ! -d $PATCHHOME ]
then
        echo
        echo "The patch source directory, $PATCHHOME, does not exist."
        echo 'Create it, or change the PATCHHOME variable to point to the correct location.'
        echo
        exit 1
fi
if [ ! -f $PATCHHOME/libc.a ]
then
        echo
        echo "The patch source directory, $PATCHHOME, exists but does not"
        echo "contain the patch files."
        echo 'Fix it, or change the PATCHHOME variable to point to the correct location.'
        echo
        exit 1
fi
cat <<END
Please read the following warning:
       This ECO has not been through an exhaustive field test process.
       Due to the experimental stage of this ECO/workaround, Digital
       makes no representations regarding its use or performance.  The
       customer shall have the sole responsibility for adequate protection
       and back-up data used in conjunction with this ECO/workaround.
END
read yesno?"Do you wish to continue? (y/n) "
while [ x$yesno != xn -a x$yesno != xN -a x$yesno != xy -a x$yesno != xY ]
do
        read yesno?"Answer y to continue or n to stop: Do you wish to continue? "
done
if [ x$yesno = xn -o x$yesno = xN ]
then
        exit 1
fi
patch223=0
if [ -f /shlib/libc.so.pre_223 ]
then
        echo "It looks like you have already applied patch 223."
        patch223=1
fi
patch222=0
if [ -f /sys/BINARY/arch_alpha.mod.pre_222 ]
then
        echo "It looks like you have already applied patch 222."
        patch222=1
fi
patch210=0
if [ -f /sys/BINARY/advfs.mod.pre_210 ]
then
        echo "It looks like you have already applied patch 210."
        patch210=1
fi
patch104=0
if [ -f /usr/sbin/edquota.pre_104 ]
then
        echo "It looks like you have already applied patch 104."
        patch104=1
fi
set -A inv223   \
/usr/ccs/lib/libc.a     \
/usr/lib/nls/msg/en_US.ISO8859-1/libc.cat       \
/usr/lib/nls/msg/en_US.ISO8859-1/nslookup.cat   \
/usr/lib/uucp/uucico    \
/usr/lib/uucp/uucleanup \
/sbin/ls        \
/sbin/mount     \
/sbin/umount    \
/usr/sbin/auditd        \
/usr/sbin/mkpasswd      \
/usr/sbin/named \
/usr/sbin/named-xfer    \
/usr/sbin/screend       \
/usr/sbin/uucpd         \
/usr/sbin/ypbind        \
/usr/bin/nslookup       \
/usr/bin/uucp   \
/usr/include/netdb.h    \
/usr/include/ndbm.h     \
/usr/include/pthread.h  \
/usr/include/resolv.h   \
/usr/include/tis.h      \
/usr/include/arpa/nameser.h
set -A inv223p2 \
/shlib/libc.so  \
/usr/shlib/libexc.so    \
/usr/shlib/libpthread.so        \
/usr/shlib/libpthreaddebug.so   \
/usr/shlib/libpthreads.so
set -A inv222   \
/sys/BINARY/arch_alpha.mod      \
/sys/BINARY/arch_alphapmap.mod  \
/sys/BINARY/cam.mod     \
/sys/BINARY/cam_disk.mod        \
/sys/BINARY/cam_isp1020.mod     \
/sys/BINARY/cam_sim.mod \
/sys/BINARY/ether.mod   \
/sys/BINARY/ffm_fs.mod  \
/sys/BINARY/inet.mod    \
/sys/BINARY/loop.mod    \
/sys/BINARY/nfs.mod     \
/sys/BINARY/presto.mod  \
/sys/BINARY/procfs.mod  \
/sys/BINARY/re_xcr.mod  \
/sys/BINARY/socket.mod  \
/sys/BINARY/std_kern.mod        \
/sys/BINARY/ufs.mod     \
/sys/BINARY/vfs.mod     \
/sys/BINARY/vm.mod      \
/usr/sbin/audit_tool    \
/usr/sbin/ifconfig      \
/usr/sbin/fsck  \
/usr/bin/lastcomm       \
/usr/sys/include/io/cam/cam_disk.h      \
/usr/sys/include/io/cam/ccfg.h  \
/usr/sys/include/io/cam/sim.h   \
/usr/sys/include/io/cam/qlogic/isp1020.h        \
/usr/sys/include/netinet/in_pcb.h       \
/usr/sys/include/netinet/ip_var.h       \
/usr/sys/include/netinet/proto_inet.h   \
/usr/sys/include/netinet/tcp_var.h      \
/usr/sys/include/netinet/tcp_timer.h    \
/usr/sys/include/net/if.h       \
/usr/sys/include/sys/fcntl.h    \
/usr/sys/include/sys/malloc.h   \
/usr/sys/include/sys/siginfo.h  \
/usr/sys/include/sys/signal.h   \
/usr/sys/include/sys/socketvar.h        \
/usr/sys/include/sys/user.h     \
/usr/sys/include/sys/time.h     \
/usr/sys/include/ufs/fs_proto.h \
/usr/sys/include/ufs/inode.h    \
/usr/sys/include/procfs/procfs.h        \
/usr/sys/include/vm/vm_anon.h   \
/usr/sys/vfs/vfs_conf.c
set -A inv210   \
/sys/BINARY/advfs.mod   \
/usr/sys/kern/lockinfo.c
set -A inv104   \
/usr/sbin/edquota       \
/usr/sbin/quota \
/usr/sbin/vedquota      \
/usr/sbin/vquota        \
/usr/lib/nls/msg/en_US.ISO8859-1/edquota.cat    \
/usr/lib/nls/msg/en_US.ISO8859-1/quota.cat
if [ $patch223 ]
then
        for file in ${inv223p2[*]}
        do
                if [ -f ${file} ]
                then
                        cp -p ${file} ${file}.pre_223
                        cp -p $PATCHHOME/`basename ${file}` ${file}.new
                        chown bin.bin ${file}.new
                fi
        done
        for file in ${inv223[*]}
        do
                if [ -f ${file} ]
                then
                        cp -p ${file} ${file}.pre_223
                        cp -p $PATCHHOME/`basename ${file}` ${file}
                fi
        done
fi
if [ $patch222 ]
then
        for file in ${inv222[*]}
        do
                if [ -f ${file} ]
                then
                        cp -p ${file} ${file}.pre_222
                        cp -p $PATCHHOME/`basename ${file}` ${file}
                fi
        done
# Probably a new file
        cd /usr/sys/include/sys
        if [ -f fcntl1.h ]
        then
                cp -p fcntl1.h fcntl1.h.pre_222
        fi
        cp -p $PATCHHOME/fcntl1.h .
fi
#Patch 210.00 (OSF405-400231) and Patch 104.00 (OSF405-400122) must be
#installed if subset OSFADVFSBIN400 is installed on the system.
if [ -f /usr/.smdb./OSFADVFSBIN405.lk -o -f /usr/.smdb./OSFADVFSBIN410.lk ]
then
        if [ $patch210 ]
        then
                for file in ${inv210[*]}
                do
                        if [ -f ${file} ]
                        then
                                cp -p ${file} ${file}.pre_210
                                cp -p $PATCHHOME/`basename ${file}` ${file}
                        fi
                done
        fi
        if [ $patch104 ]
        then
                for file in ${inv104[*]}
                do
                        if [ -f ${file} ]
                        then
                                cp -p ${file} ${file}.pre_104
                                cp -p $PATCHHOME/`basename ${file}` ${file}
                        fi
                done
        fi
fi
if [ $patch223 ]
then
        echo
        echo 'You must now do the following commands in single user mode:'
        echo
        lastdir=/
        for file in ${inv223p2[*]}
        do
                if [ `dirname ${file}` != $lastdir ]
                then
                        lastdir=`dirname ${file}`
                        echo "cd ${lastdir}"
                fi
                fn=`basename ${file}`
                echo '/sbin/mv -f ' ${fn}.new ${fn}
        done
        echo
        echo 'Then rebuild a kernel and reboot.'
        echo
fi
 |