#! /bin/sh # # extract tapedev fsf bs keywords tapeserver # # NOTE! This script assumes that the underlying implementations of # tar and dd agree about what size a block is, and that it is 512 bytes # long. If this is not the case, then this script and setup_exec will # have to be modified. # # @(#)extracting 1.1 88/06/08 4.0NFSSRC; from 1.6 88/03/07 D/NFS # @(#) from extracting 1.10 88/02/08 # # Copyright (c) 1987 by Sun Microsystems, Inc. # cmdname=$0 case $# in 4 | 5) ;; *) echo Usage: $cmdname tapedev fsf bs keywords tapeserver exit 1 esac tapedev=$1 fsf=$2 bs=$3 keywords=$4 tapeserver=$5 EXTRACTMSG="Extracting \"${keywords}\" files from \"${tapedev}\" release tape." case "${tapeserver}" in "") REMOTE="" mt -t ${tapedev} fsf ${fsf} ;; *) REMOTE="rsh ${tapeserver} -n" ${REMOTE} mt -f ${tapedev} fsf ${fsf} ;; esac echo; echo "${EXTRACTMSG}" case "${REMOTE}" in "") tar xpfb ${tapedev} ${bs} ;; *) ${REMOTE} dd if=${tapedev} bs=${bs}b 2>/dev/null | tar xpfB - 2>/dev/null ;; esac sync; sync exit 0