#!/bin/sh
# extrack pkg name from 
# trying to get pkgname from a package
# this will work for something like
# aaa-1-i386-1.tgz
# aaa-1.2-i386-1.tgz
# aaa-1.2-patched-i386-1.tgz
# aaa-bbb-1.2-i386-1.tgz
# aaa-bbb-100dpi-1.2-i386-1.tgz
# aaa-bbb-20000101-i386-1.tgz
# aaa-bbb-2000_01_01-i386-1.tgz
# aaa-IIIbeta2-i386-1.tgz
#
# BUT BROKEN for this 
# aaa-1.2-333-i386-1.tgz
# aaa-IIIbeta2-gtk1-i386-1.tgz
#
# (c) 2004, Eko M. Budi
# License: GNU GPL

name=${1%%-*}
ver_rest=${1#$name-}
while [ 0 ]; do
   if echo $ver_rest | grep -qe "^[0-9]*\."; then
      break
   fi  
   if echo $ver_rest | grep -qe "^[0-9]*-"; then
      break
   fi  
   if echo $ver_rest | grep -qe "^[0-9]*_"; then
      break
   fi  
   case `echo $ver_rest | cut -f1 -d-` in
      noarch|i386|i486|i586|i686|i786|i886|i986)
         break
      ;;
   esac
   extra=${ver_rest%%-*}
   ver_rest=${ver_rest#$extra-}
   if [ "$ver_rest" = "$extra" ]; then
      break
   fi
   name="${name}-${extra}"
done
echo $name
