#!/bin/sh

prefix=/mnt/sparc
tape=/dev/nst0
catalog=tape-catalog

packagelist () 
{
sed  -n 's/^[ ]*//
/.*'"$1"'/,/^end/p' < $prefix/RedHat/base/comps | grep -v '^[01]' | grep -v '^end'
}

mt rewind

echo "Building package list"

preskel=`packagelist beforeskel`

packages=`packagelist Base | sort -u`

packages="$preskel $packages"

basefiles="hdlist comps uglist skeleton.cgz"

for n in $packages; do 
    filespec=`cd $prefix/RedHat/RPMS; echo $n-*`
    packagefiles="$packagefiles $filespec"
done

echo "Creating catalog"

echo "1234" > $catalog

for n in $basefiles; do
    size=`ls -l $prefix/RedHat/base/$n | awk '{ print $5 }'`
    echo "$n $size" >> $catalog
done

for n in $packagefiles; do
    size=`ls -l $prefix/RedHat/RPMS/$n | awk '{ print $5 }'`
    echo "$n $size" >> $catalog
done

echo "--done-- 0" >> $catalog

echo "Writing boot image"
dd if=$prefix/images/tftpboot.img of=$tape

echo "Writing catalog"
dd if=$catalog of=$tape

for n in $basefiles; do
    echo "Writing $n"
    dd if=$prefix/RedHat/base/$n of=$tape
done

for n in $packagefiles; do
    echo "Writing $n"
    dd if=$prefix/RedHat/RPMS/$n of=$tape
done
