#!/bin/sh

MODULES="fc4.o isofs.o loop.o myri_sbus.o openprom.o pluto.o qlogicpti.o soc.o sunhme.o sunqe.o sunbmac.o romfs.o st.o"

MODULES32="$MODULES"

MODULES64="aic7xxx.o de4x5.o ncr53c8xx.o parport.o parport_ax.o $MODULES"

DIR=.
TFTP=tftp
ROOT=../../../
KERNELROOT=/tmp/updmodules.kernel-$$
MODROOT=/tmp/modules-$$

if [ $# != 2 ] ; then
	echo 'Usage: mkmodules <kernel version> <rpm tree>'
	exit 
fi

mkdir -p $KERNELROOT $MODROOT $DIR/modules
if [ ! -f $2/sparc/kernel-$1.sparc.rpm ]; then
	echo "$2/sparc/kernel-$1.sparc.rpm does not exist"
	exit
fi

if echo $1 | grep -e BOOT > /dev/null; then
    kversion=`echo $1 | sed 's/BOOT-//'`
    version=`echo ${kversion}BOOT`
else
    version=$1
fi

rpm2cpio $2/sparc/kernel-$1.sparc.rpm | (cd $KERNELROOT; cpio -id)
cp $KERNELROOT/boot/vmlinuz-$version $DIR/boot32/vmlinux32.gz
cp $KERNELROOT/boot/vmlinuz-$version $ROOT/boot/vmlinuz32
zcat $KERNELROOT/boot/vmlinuz-$version > tftp/vmlinux32
for I in $MODULES32; do
    cp $KERNELROOT/lib/modules/*/*/$I $MODROOT
done
( cd $MODROOT; ls $MODULES32 | cpio -oL -H crc) | gzip -9 > $DIR/modules/modules.cgz

rm -rf $KERNELROOT $MODROOT
if [ ! -f $2/sparc64/kernel-$1.sparc64.rpm ]; then
	echo "$2/sparc64/kernel-$1.sparc64.rpm does not exist"
	exit
fi
mkdir -p $KERNELROOT $MODROOT
rpm2cpio $2/sparc64/kernel-$1.sparc64.rpm | (cd $KERNELROOT; cpio -id)
cp $KERNELROOT/boot/vmlinuz-$version boot64/vmlinux64.gz
cp $KERNELROOT/boot/vmlinuz-$version $ROOT/boot/vmlinuz64
zcat $KERNELROOT/boot/vmlinuz-$version > tftp/vmlinux64
for I in $MODULES64; do
    cp $KERNELROOT/lib/modules/*/*/$I $MODROOT
done
( cd $MODROOT; ls $MODULES64 | cpio -oL -H crc) | gzip -9 > $DIR/modules/modules64.cgz
rm -rf $KERNELROOT $MODROOT

rm -rf $ROOT/modules
mkdir $ROOT/modules
cp -a $DIR/modules/modules*.cgz $ROOT/modules
