#!/bin/sh
 
EMAIL="Email@deineDomain" 
MYHOSTNAME=$(/bin/hostname -f)
MYDATE=$(/bin/date)

user=`w |egrep ':0(.0|)\W' |awk '{print $1}'`
userhome=`grep "^$user:" /etc/passwd | cut -d':' -f 6`
export DISPLAY=":0.0"
export XAUTHORITY="$userhome/.Xauthority"



function getip()
################
{
  /sbin/ifconfig eth0 | grep "inet addr" | cut -d':' -f 2 | cut -d' ' -f 1
#  /sbin/ifconfig eth0 | grep "inet Adresse" | cut -d':' -f 2 | cut -d' ' -f 1
}

function INFO_HEADER()
######################
{
  local MYIP 
  MYIP=$(getip)
  echo "============================================="
  echo " Hostname:   $MYHOSTNAME"
  echo " IP:         $MYIP"
  echo " Date:       $MYDATE"
  if [ -f /etc/SuSE-release ]; then
	cat /etc/SuSE-release
  fi
  if [ -x /usr/bin/SPident ]; then
	/usr/bin/SPident -v -v | grep CONCLUSION
  fi 	  
  echo "============================================="
}


if [ -x /usr/bin/zypper ]; then


  INFO_HEADER > /tmp/zypper.log.1

  echo " " >> /tmp/zypper.log.1
  echo "=================List Repositories==============" >> /tmp/zypper.log.1
       /usr/bin/zypper sl >> /tmp/zypper.log.1
  echo " " >> /tmp/zypper.log.1  
  echo "=================Refresh========================" >> /tmp/zypper.log.1
       /usr/bin/zypper ref >> /tmp/zypper.log.1
       /opt/kde3/bin/kdialog --passivepopup "Achtung $user: System wird upgedatet. Bitte nicht ausschalten.." 10
  echo " " >> /tmp/zypper.log.1  
  echo "=================list updates===================" >> /tmp/zypper.log.1  
       /usr/bin/zypper list-updates -t package | grep -v 'Lese Cache' | grep -v 'Lese installierte Pakete' >> /tmp/zypper.log.1;
  echo " " >> /tmp/zypper.log.1  
  echo "=============Update=============================" >> /tmp/zypper.log.1
       /usr/bin/zypper --non-interactive up -t package --skip-interactive --auto-agree-with-licenses >> /tmp/zypper.log.1
  echo " " >> /tmp/zypper.log.1
  echo "=========== Führe SuSEconfig aus... ============"  >> /tmp/zypper.log.1
       SuSEconfig >> /tmp/zypper.log.1



  #
  # Konvertiere Dos-Linues in Unix-Lines
  #
  sed -e 's/\r//g'  /tmp/zypper.log.1 > /tmp/zypper.log.2
  sed -e '/Building repository/d' /tmp/zypper.log.2 > /tmp/zypper.log.3
  sed -e '/Reading repository/d' /tmp/zypper.log.3 > /tmp/zypper.log.4  
  sed -e '/\[2K/d' /tmp/zypper.log.4 > /tmp/zypper.log


  #
  # Sende Email
  #
  mail -s "Zypper-Update report: $HOSTNAME" $EMAIL < /tmp/zypper.log

  
  #
  # Lösche temporäre Files
  #
  rm -f /tmp/zypper.log.1
  rm -f /tmp/zypper.log.2
  rm -f /tmp/zypper.log.3
  rm -f /tmp/zypper.log.4  
  rm -f /tmp/zypper.log

  /opt/kde3/bin/kdialog --msgbox "System wurde upgedatet.\n Nun kannst Du ausschalten, wenn Du möchtest."


 
else
  for REC in $EMAIL; do
    (
      INFO_HEADER
      echo "Error: Zypper nicht instaliert" 
    ) | mail -s "Zypper-Update report [FEHLER!!!] $HOSTNAME" $EMAIL
  done
fi