#!/bin/bash
# takes some software-version.tar.{gz|bz2}, makes a MYSPELLS/software
# and DETAILS in your local spell dir MYSPELLS and cp the tarball to
# spool then scribe reindex MYGRIMOIRE
# 2003-10-10 : updated to create basic HISTORY file as well.
. /etc/sorcery/local/guruinfo
MYGRIMOIRE="$GURU_LOCAL_GRIMOIRE"
MYNAME="$GURU_NAME"
MYSPELLS="$GURU_LOCAL_GRIMOIRE_SECTION_DIR"

main()  {
  #MYSPELLS="`codex_find_grimoire_by_name $MYGRIMOIRE`/$MYSECTION"
  MYEMAIL="$SORCERER"

  MYFILE="$1"

  echo "Adding $MYFILE to $MYSPELLS"

  MYSPELLNAME=`echo "$MYFILE" |cut -d '-' -f1`
  MYSPELLBASE=`echo "$MYFILE" | sed -e 's/\.tar\./@/' |cut -d '@' -f1`
  MYSPELLVERSION=`echo "$MYSPELLBASE" |cut -d '-' -f2-`
  MYFILEEXT=`echo "$MYFILE" | sed -e 's/.*\.\(.*\)/\1/'`

  #echo $MYSPELLNAME
  #echo $MYSPELLBASE
  #echo $MYSPELLVERSION

  MYSPELLDIR="$MYSPELLS/$MYSPELLNAME"
  echo $MYSPELLDIR
  if [ -d $MYSPELLDIR ]; then
  	echo "already exists! Aborting"
  	exit 1
  else
  	mkdir $MYSPELLDIR
  fi

  DETAILSFILE="$MYSPELLDIR/DETAILS"
  HISTORYFILE="$MYSPELLDIR/HISTORY"
  MYMD5=`echo -n $(uncompress $MYFILE $(guess_compressor $MYFILE) | md5sum | cut -d ' ' -f1)`
  MYDATE=`date +%Y%m%d`
  echo "$MYMD5"
  MYSOURCEDIR=`uncompress $MYFILE $(guess_compressor $MYFILE) |tar tf - | head -n1 |cut -d '/' -f1`
  STDSOURCEDIR="$MYSPELLNAME-$MYSPELLVERSION"
  if [ "$MYSOURCEDIR" = "$STDSOURCEDIR" ]; then
    MYSOURCEDIR="\$SPELL-\$VERSION"
  fi

  echo "" > $HISTORYFILE
  echo "$MYDATE : $MYNAME <$MYEMAIL>" >> $HISTORYFILE
  echo "	* ALL: created the spell" >> $HISTORYFILE

  echo "           SPELL=$MYSPELLNAME" > $DETAILSFILE
  echo "         VERSION=$MYSPELLVERSION" >> $DETAILSFILE
  echo "          SOURCE=\$SPELL-\$VERSION.tar.$MYFILEEXT" >> $DETAILSFILE
  echo "SOURCE_DIRECTORY=\$BUILD_DIRECTORY/$MYSOURCEDIR" >> $DETAILSFILE
  echo "   SOURCE_URL[0]=\$SOURCEFORGE_URL/\$SPELL/\$SOURCE" >> $DETAILSFILE
  echo "        WEB_SITE=http://" >> $DETAILSFILE
  echo "      MAINTAINER=$MYEMAIL" >> $DETAILSFILE
  echo "         ENTERED=$MYDATE" >> $DETAILSFILE
  echo "         UPDATED=$MYDATE" >> $DETAILSFILE
  echo "          MD5[0]=$MYMD5" >> $DETAILSFILE
  echo "      LICENSE[0]=GPL" >> $DETAILSFILE
  echo '           SHORT=""' >> $DETAILSFILE
  echo "cat << EOF" >> $DETAILSFILE
  echo "EOF" >> $DETAILSFILE

  chmod +x $DETAILSFILE
  cp -i $MYFILE $SOURCE_CACHE
  scribe reindex $MYGRIMOIRE
  echo
  echo "You will have to check $DETAILSFILE for correctness and"
  echo "possibly create $MYSPELLDIR/DEPENDS before trying to cast $MYSPELLNAME"
  echo
  return 0
}

. /etc/sorcery/config
main $@

