#!/bin/sh
set -e

TMP=/tmp
CWD=`pwd`
PKG=/tmp/package-kernel

# Fill this stuff in:

VERSION=2.4.33.3
ARCH=${ARCH:-sparc}
BUILD=0

# We're going to be repackaging the kernels in this tree's 
# kernels/ directory.  
cd $CWD/../../../kernels

for KERN in *.?
do
  if [ $KERN = "javastation.n" ]
  then
    echo "Skipping javastation.n kernel"
    echo
    continue
  fi

  KERNNAME=`basename $KERN .s`

  ( # Get the loot
    if [ -r $KERN/$VERSION/vmlinux ]; then
      KERNEL=$KERN/$VERSION/vmlinux
    fi
    if [ -r $KERN/$VERSION/System.map ]; then
      SYSMAP=$KERN/$VERSION/System.map
    fi
    if [ -r $KERN/$VERSION/config ]; then
      CONFIG=$KERN/$VERSION/config
    fi

    cat << EOF
Building kernel-$KERNNAME-$VERSION-$ARCH-$BUILD.tgz
using these source files.  Please check and then hit 
enter to make the package.

KERNEL = $KERNEL
SYSMAP = $SYSMAP
CONFIG = $CONFIG

EOF
    read junk;

    rm -rf $PKG
    mkdir -p $PKG
    mkdir -p $PKG/boot
    cp $KERNEL $PKG/boot/vmlinux-$KERNNAME-$VERSION

    # These only work on x86:
    # rdev -R $PKG/boot/vmlinuz-$KERNNAME-$VERSION 0
    # rdev -v $PKG/boot/vmlinuz-$KERNNAME-$VERSION -1
    # rdev -r $PKG/boot/vmlinuz-$KERNNAME-$VERSION 0
    ( cd $PKG/boot
      ln -sf vmlinux-$KERNNAME-$VERSION vmlinux )
    cp $SYSMAP $PKG/boot/System.map-$KERNNAME-$VERSION
    ( cd $PKG/boot
      ln -sf System.map-$KERNNAME-$VERSION System.map )
    cp $CONFIG $PKG/boot/config-$KERNNAME-$VERSION
    ( cd $PKG/boot
      ln -sf config-$KERNNAME-$VERSION config )
    mkdir -p $PKG/install
    cat $CWD/slack-desc.$KERNNAME > $PKG/install/slack-desc

    # Build the package:
    cd $PKG
    if [ "$KERNNAME" = "sun4u" ]; then
      makepkg -l y -c n $TMP/kernel-$KERNNAME-$VERSION-sparc64-$BUILD.tgz
    else
      makepkg -l y -c n $TMP/kernel-$KERNNAME-$VERSION-$ARCH-$BUILD.tgz
    fi

  )
done

# Clean up the extra stuff:
if [ "$1" = "--cleanup" ]; then
  rm -rf $PKG
fi
