Imported Debian patch 2.5.2-4
[debian/dds2tar] / debian / scsi_vendor.bash
diff --git a/debian/scsi_vendor.bash b/debian/scsi_vendor.bash
new file mode 100644 (file)
index 0000000..4a840b7
--- /dev/null
@@ -0,0 +1,88 @@
+#!/bin/bash
+# 
+# Determine the Vendor of a device
+#
+# csh-Example:
+#
+#      <1>scsi_vendor
+#      Disks: SEAGATE SAMSUNG
+#      Cdroms: TOSHIBA PHILIPS
+#      Tapes: HP
+#      <2>scsi_vendor disk
+#      SEAGATE SAMSUNG
+#      <383>scsi_vendor cd
+#      TOSHIBA PHILIPS
+#      <3>scsi_vendor tape 
+#      HP
+#      <4>scsi_vendor tape 1
+#      HP
+#      <5>scsi_vendor disk 1
+#      <6>scsi_vendor disk 1
+#      SEAGATE
+#      <7>scsi_vendor disk 2
+#      SAMSUNG
+#
+# Ported to bash 01.07.03 <kieren@tigs.org>
+
+s=( )
+c=( )
+d=( )
+o=''
+v=''
+
+SCSIINFO=`grep '^ ' /proc/scsi/scsi | cut -c3-18`
+
+for i in $SCSIINFO
+do
+       if [ "$o" = "Vendor:" ]; then 
+               v=$i 
+       fi
+       if [[ "$o" == 'Type:' && "$i" == 'Sequenti' ]]; then
+               s=( $s $v )
+       fi
+       if [[ "$o" == 'Type:' && "$i" == 'CD-ROM' ]]; then 
+               c=( $c $v )
+       fi
+       if [[ "$o" == 'Type:' && "$i" == 'Direct-A' ]]; then 
+               d=( $d $v )
+       fi
+       o=$i 
+done
+if [ $# == 0 ]; then
+       echo Disks: $d
+       echo Cdroms: $c
+       echo Tapes: $s
+       exit 0 
+fi
+if [ $# == 1 ]; then
+       v='' ;
+       if [ "$1" == "disk" ]; then
+               echo $d
+       fi
+       if [ "$1" == "cd" ]; then
+               echo $c
+       fi
+       if [ "$1" == "tape" ]; then
+               echo $s
+       fi
+       exit 0 
+fi
+if [ $# -eq 2 ]; then
+       v='' 
+       if [[ "$1" == "disk" && ${#d[@]} -ge $2 ]]; then
+               v=$d[$2] 
+       fi
+       if [[ "$1" == "cd" && ${#c[@]} -ge $2 ]]; then 
+               v=$c[$2] 
+       fi
+       if [[ "$1" == "tape" && ${#s[@]} -ge $2 ]]; then 
+               v=${s[$2]} 
+       fi
+       echo $v
+       exit 0 
+fi
+if [ "$v" == "$3" ]; then
+       exit 2 
+fi
+exit 1 
+