home *** CD-ROM | disk | FTP | other *** search
/ tusportal.tus.k12.pa.us / tusportal.tus.k12.pa.us.tar / tusportal.tus.k12.pa.us / Wyse / latest-image.raw / 0.img / usr / sbin / addon-install < prev    next >
Text File  |  2010-09-30  |  2KB  |  65 lines

  1. #!/bin/bash
  2.  
  3. function usage()
  4. {
  5.     echo "Usage: $0 <addon.rpm>" >/dev/stderr
  6.     exit 1
  7. }
  8.  
  9. ADDON=$1
  10. if test -z $ADDON; then
  11.     echo "No addon specified" >/dev/stderr
  12.     usage
  13. fi
  14.  
  15. if ! rpm -qp $ADDON >/dev/null 2>&1; then
  16.     echo "$ADDON is not a RPM file" >/dev/stderr
  17.     usage
  18. fi
  19.  
  20. if [ -f /etc/architecture ] ; then
  21.     SLETC_ARCH=$(cat /etc/architecture)
  22. else
  23.     SUSE_VERSION=$(echo $(awk -F '=' '/VERSION/ {print $2}' /etc/SuSE-release))
  24.     SUSE_PATCHLEVEL=$(echo $(awk -F '=' '/PATCHLEVEL/ {print $2}' /etc/SuSE-release))
  25.     if [ $SUSE_PATCHLEVEL -eq 0 ] ; then
  26.         SLETC_ARCH=sletc"$SUSE_VERSION"
  27.     else
  28.         SLETC_ARCH=sletc"$SUSE_VERSION"sp"$SUSE_PATCHLEVEL"
  29.     fi
  30. fi
  31. ARCH=`rpm -qp --queryformat "%{ARCH}" $ADDON`
  32.  
  33. if [ x$ARCH != x$SLETC_ARCH ]; then
  34.     echo "Package is not for this SLETC version" > /dev/stderr
  35.     exit 1
  36. fi
  37.  
  38. NAME=`rpm -qp --queryformat "%{NAME}\n" $ADDON`
  39.  
  40. if ! rpm -qlp $ADDON | grep "/var/lib/addons/$NAME.squash" >/dev/null 2>&1; then
  41.     echo "Package is not a valid Thin Client RPM" > /dev/stderr
  42.     exit 1
  43. fi
  44.  
  45. if rpm -q $NAME >/dev/null 2>&1; then
  46.     INSTALLED="yes"
  47. else
  48.     INSTALLED="no"
  49. fi
  50.  
  51. addonRequires=`rpm -qp --requires $ADDON | grep "ADDON:"`
  52. for req in $addonRequires; do
  53.     found="no"
  54.     reqName=`echo $req | cut -d: -f2`
  55.     if ! rpm -q $reqName >/dev/null 2>&1; then
  56.         echo "Dependency '$reqName' was not found" >/dev/stderr
  57.         exit 1
  58.     fi
  59. done
  60.  
  61. if test $INSTALLED = "yes";then
  62.     rpm -e --nodeps $NAME
  63. fi
  64. rpm -Uh --nodeps --force $ADDON
  65.