#!/bin/ksh
#
# pkg_add.sh -- OpenBSD easy package adding.
# dayid@dayid.org
# 10/3/2006
#
# Change the following option to suit your needs
#arc="i386"
# 03/09/2008: removed $arc and $ver in favour of trusting uname
#
#
cd ~
if [ -a .pkg_add.mirror ]
 then
  echo "Already have mirror chosen"
 else
  ftp http://openbsd.org/ftp.html
  mv ftp.html .pkg_add.ftp
  grep "http://" ~/.pkg_add.ftp | grep -v "<a href=" | grep -v ".dtd" | cut -d "<" -f1 | cut -f2 > ~/.pkg_add.mirrors
  rm -f ~/.pkg_add.ftp 
  grep -n "http://" ~/.pkg_add.mirrors | tee ~/.pkg_add.mirrors2
  rm -f ~/.pkg_add.mirrors
  echo -n "Which Mirror? "
  read pkgMIR
  grep "^${pkgMIR}:" ~/.pkg_add.mirrors2 | cut -d ":" -f2,3 > ~/.pkg_add.mirror
  rm -f ~/.pkg_add.mirrors2
fi
#
mirror=`cat .pkg_add.mirror`
if [ `whoami` = root ] 
 then
  cd ~
  ftp ${mirror}(uname -r)/packages/(uname -m)/index.txt 
  echo ${mirror}(uname -r)/packages/(uname -m)/index.txt
  mv index.txt .pkg_add
  echo -n "Search Packages for: " 
  read pkgADD
  echo "Search Results: "
  grep -n ^$pkgADD ~/.pkg_add | tee ~/.pkg_add.a
  rm -f ~/.pkg_add
  echo -n "Add Which Package Number? ("zz" to exit) "
  read pkgGO
  if [ $pkgGO = zz ]
   then
    rm -f ~/.pkg_add.a
    exit 1
   else 
    pkgINS=`grep ^${pkgGO}: ~/.pkg_add.a | cut -d ":" -f2`
    rm -f ~/.pkg_add.a
    echo "System will now install $pkgINS"
    echo -n "Continue? (y/n) "
    read choice
    if [ $choice = y ]
     then
      pkg_add ${mirror}(uname-r)/packages/(uname -m)/$pkgINS
     else
      echo "System will not install package $pkgINS"
      echo -n "Press enter to continue..."
      read junk
      exit 1
    fi 
  fi
 else
  echo "You need to be root for this to work."
  exit 1
fi

