#!/bin/sh
# Major update - Stage 2
##################################################################
PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
export PATH
PROGDIR="/usr/local/share/pcbsd/pc-updatemanager" ; export PROGDIR
DOWNLOADDIR="/usr/local/tmp"
STAGEDIR="${DOWNLOADDIR}/update-stagedir"
UPVER=`cat ${STAGEDIR}/sys-ver`

clear

echo "# PC-BSD System Upgrade"
echo "# Updating to $UPVER"
echo "# Please do NOT reboot the system until the update is finished"
echo "##############################################################"

# Install new pkgs
echo "Installing system packages..."
cd "${STAGEDIR}/packages"
for i in `ls *.tbz`
do
  echo "$i" | grep -q -e "nvidia"
  if [ $? -eq 0 ] ; then continue ; fi

  printf "\r%-${length}s\r"
  printf "%-${length}s\r" "${i}"
  length=${#i}

  pkg_add -f "$i" >/dev/null 2>/dev/null
done

# Load any nvidia drivers last
for i in `ls *nvidia*.tbz`
do
  pkg_add -f "$i" >/dev/null 2>/dev/null
  printf "\r%-${length}s\r"
  printf "%-${length}s\r" "${i}"
  length=${#i}
done

echo ""
cd /

# Copy over the regular rc again
mv /etc/rc.backup /etc/rc

# Check if we have any version specific update file to run
if [ -e "/usr/local/share/pcbsd/scripts/post-update.sh" ] ; then
  sh /usr/local/share/pcbsd/scripts/post-update.sh
fi


# Cleanup some tmp files
echo -e "Cleaning up...\c"
rm -rf "$STAGEDIR"
rm -rf /var/tmp/kdecache-* 2>/dev/null
echo -e "DONE"

echo -e "Update finished! Rebooting..."
(shutdown -r now) &
sleep 300
