+#!/bin/sh
+#
+# Gnucomo hardware reporting script
+#
+# Create a parameter report with 4 values:
+
+
+### FUNCTIONS ####
+HP_PROLIANT()
+#Works on G5, G6, G7
+{
+ DMIBIOSVER=`dmidecode -s bios-version`
+ DMIMAN=`dmidecode -s system-manufacturer`
+ DMIPROD=`dmidecode -s system-product-name`
+ DMISER=`dmidecode -s system-serial-number`
+ USPREL=`cat /etc/issue | grep USP | awk '{print $1 " " $2}'`
+ USPKERN=`uname -r`
+
+ echo " <gcmt:parameter name='System_info'>"
+ echo " <gcmt:description>System information</gcmt:description>"
+ echo " <gcmt:property name='system-manufacturer'>$DMIMAN</gcmt:property>"
+ echo " <gcmt:property name='system-product-name'>$DMIPROD</gcmt:property>"
+ echo " <gcmt:property name='system-serial-number'>$DMISER</gcmt:property>"
+ echo " <gcmt:property name='bios-version'>$DMIBIOSVER</gcmt:property>"
+ echo " <gcmt:property name='kernel'>$USPKERN</gcmt:property>"
+ echo " <gcmt:property name='usp-release'>$USPREL</gcmt:property>"
+}
+
+#
+# The default Linux way without assuming specific hardware.
+#
+LINUX()
+{
+ DMIBIOSVER=`dmidecode -s bios-version`
+ DMIMAN=`dmidecode -s system-manufacturer`
+ DMIPROD=`dmidecode -s system-product-name`
+ DMISER=`dmidecode -s system-serial-number`
+ USPREL=`cat /etc/issue | head -1`
+ USPKERN=`uname -r`
+
+ echo " <gcmt:parameter name='System_info'>"
+ echo " <gcmt:description>System information</gcmt:description>"
+ echo " <gcmt:property name='system-manufacturer'>$DMIMAN</gcmt:property>"
+ echo " <gcmt:property name='system-product-name'>$DMIPROD</gcmt:property>"
+ echo " <gcmt:property name='system-serial-number'>$DMISER</gcmt:property>"
+ echo " <gcmt:property name='bios-version'>$DMIBIOSVER</gcmt:property>"
+ echo " <gcmt:property name='kernel'>$USPKERN</gcmt:property>"
+ echo " <gcmt:property name='usp-release'>$USPREL</gcmt:property>"
+}
+
+
+SUN_SPARC_ENTERPRISE_T5120()
+{
+ DMIBIOSVER=`prtpicl -c chassis -v | grep FW-version | awk '{ for (i=2; i<=NF; i++) printf("%s ",$i)}'`
+ DMIMAN=`prtpicl -c chassis -v | grep :MfgName | awk '{ for (i=2; i<=NF; i++) printf("%s ",$i)}'`
+ DMIPROD=`prtpicl -c chassis -v | grep :Description | awk '{ for (i=2; i<=NF; i++) printf("%s ",$i)}'`
+ DMISER=`prtpicl -c chassis -v | grep :SerialNumber | awk '{ for (i=2; i<=NF; i++) printf("%s ",$i)}'`
+ USPREL=`uname -sr`
+ USPKERN=`uname -v`
+
+ echo " <gcmt:parameter name='System_info'>"
+ echo " <gcmt:description>System information</gcmt:description>"
+ echo " <gcmt:property name='system-manufacturer'>$DMIMAN</gcmt:property>"
+ echo " <gcmt:property name='system-product-name'>$DMIPROD</gcmt:property>"
+ echo " <gcmt:property name='system-serial-number'>$DMISER</gcmt:property>"
+ echo " <gcmt:property name='bios-version'>$DMIBIOSVER</gcmt:property>"
+ echo " <gcmt:property name='kernel'>$USPKERN</gcmt:property>"
+ echo " <gcmt:property name='usp-release'>$USPREL</gcmt:property>"
+}
+
+SUN_SPARC_ENTERPRISE_T5220()
+{
+ DMIBIOSVER=`prtpicl -c chassis -v | grep FW-version | awk '{ for (i=2; i<=NF; i++) printf("%s ",$i)}'`
+ DMIMAN=`prtpicl -c chassis -v | grep :MfgName | awk '{ for (i=2; i<=NF; i++) printf("%s ",$i)}'`
+ DMIPROD=`prtpicl -c chassis -v | grep :ModelName | awk '{ for (i=2; i<=NF; i++) printf("%s ",$i)}'`
+ DMISER=`prtpicl -c chassis -v | grep :SerialNumber | awk '{ for (i=2; i<=NF; i++) printf("%s ",$i)}'`
+ USPREL=`uname -sr`
+ USPKERN=`uname -v`
+
+ echo " <gcmt:parameter name='System_info'>"
+ echo " <gcmt:description>System information</gcmt:description>"
+ echo " <gcmt:property name='system-manufacturer'>$DMIMAN</gcmt:property>"
+ echo " <gcmt:property name='system-product-name'>$DMIPROD</gcmt:property>"
+ echo " <gcmt:property name='system-serial-number'>$DMISER</gcmt:property>"
+ echo " <gcmt:property name='bios-version'>$DMIBIOSVER</gcmt:property>"
+ echo " <gcmt:property name='kernel'>$USPKERN</gcmt:property>"
+ echo " <gcmt:property name='usp-release'>$USPREL</gcmt:property>"
+}
+
+SUN_FIRE_V()
+{
+ DMIBIOSVER="N/A"
+ DMIMAN="Sun Microsystems, Inc. "
+ DMIPROD=`uname -i | cut -d"," -f2`
+ DMISER=`prtpicl -c chassis-serial-number -v | grep SerialNumber | awk '{print $2}'`
+ USPREL=`uname -sr`
+ USPKERN=`uname -v`
+
+ echo " <gcmt:parameter name='System_info'>"
+ echo " <gcmt:description>System information</gcmt:description>"
+ echo " <gcmt:property name='system-manufacturer'>$DMIMAN</gcmt:property>"
+ echo " <gcmt:property name='system-product-name'>$DMIPROD</gcmt:property>"
+ echo " <gcmt:property name='system-serial-number'>$DMISER</gcmt:property>"
+ echo " <gcmt:property name='bios-version'>$DMIBIOSVER</gcmt:property>"
+ echo " <gcmt:property name='kernel'>$USPKERN</gcmt:property>"
+ echo " <gcmt:property name='usp-release'>$USPREL</gcmt:property>"
+}
+
+PATH=$PATH:/usr/sbin
+
+HOST=`hostname`
+TIME=`date`
+OS=`uname`
+
+echo "<?xml version='1.0'?>"
+echo "<gcmt:message xmlns:gcmt='http://gnucomo.org/transport/'>"
+echo " <gcmt:header>"
+echo " <gcmt:messagetype>XML</gcmt:messagetype>"
+echo " <gcmt:hostname>$HOST</gcmt:hostname>"
+echo " <gcmt:time>$TIME</gcmt:time>"
+echo " </gcmt:header>"
+echo " <gcmt:data>"
+
+echo " <gcmt:parameters gcmt:class='hardware'>"
+
+# insert correct system info here:
+
+case $OS in
+ "Linux")
+ #starting linux detection procedure
+ PROD=`dmidecode -s system-product-name`
+ case $PROD in
+ "ProLiant DL380"*)
+ HP_PROLIANT
+ ;;
+ "hp workstation xw8200")
+ HP_PROLIANT
+ ;;
+ *)
+ LINUX
+ ;;
+ esac
+ ;;
+ "SunOS")
+ #starting sun detection procedure
+ PROD=`uname -i`
+ case $PROD in
+ "SUNW,SPARC-Enterprise-T5220")
+ SUN_SPARC_ENTERPRISE_T5220
+ ;;
+ "SUNW,SPARC-Enterprise-T5120")
+ SUN_SPARC_ENTERPRISE_T5120
+ ;;
+ "SUNW,Sun-Fire-V245")
+ SUN_FIRE_V
+ ;;
+ esac
+ ;;
+esac
+
+
+
+echo " </gcmt:parameter>"
+
+echo " </gcmt:parameters>"
+echo " </gcmt:data>"
+echo "</gcmt:message>"
+