patches/system-tools-backends-03-disks.diff
author rohinis
Tue, 29 Nov 2011 17:32:55 +0000
branchs11express-2010-11
changeset 22234 c23e64da3e06
parent 6955 fef846f62545
permissions -rwxr-xr-x
2011-11-29 Rohini S <[email protected]> * patches/Python26-22-audio.diff: Fixes CVE-2010-1634 * specs/SUNWPython26.spec: Fixes CR 7085446
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6955
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
     1
diff -ru /var/tmp/clean/system-tools-backends-1.4.2/disks-conf.in system-tools-backends-1.4.2/disks-conf.in
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
     2
--- /var/tmp/clean/system-tools-backends-1.4.2/disks-conf.in	2005-11-21 01:14:51.000000000 +0000
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
     3
+++ system-tools-backends-1.4.2/disks-conf.in	2006-03-13 10:14:56.140947000 +0000
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
     4
@@ -66,7 +66,7 @@
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
     5
 @platforms = ("redhat-5.2", "redhat-6.0", "redhat-6.1", "redhat-6.2", "redhat-7.0",
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
     6
               "redhat-7.1", "mandrake-7.2", "debian-2.2", "debian-woody", "debian-sarge",
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
     7
 	      "debian-3.1", "suse-7.0", "suse-9.1", "suse-1.0", "unitedlinux-1.0", 
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
     8
-	      "turbolinux-7.0", "rpath");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
     9
+	      "turbolinux-7.0", "nexenta-1.0", "solaris-2.11");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    10
 
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    11
 $description =<<"end_of_description;";
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    12
        Configures locally mounted partitioned media.
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    13
@@ -83,7 +83,11 @@
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    14
 # Right now there's only one entry per array, as I couldn't find any
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    15
 # typical deviations.
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    16
 
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    17
-@fstab_names = ( "/etc/fstab" );
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    18
+if ($$tool{"system"} eq "SunOS") {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    19
+  @fstab_names = ( "/etc/vfstab" );
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    20
+} else {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    21
+  @fstab_names = ( "/etc/fstab" );
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    22
+}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    23
 
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    24
 
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    25
 # --- Internal configuration variables --- #
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    26
@@ -698,7 +702,7 @@
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    27
    }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    28
 }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    29
 
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    30
-sub scan_ide_bus
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    31
+sub scan_ide_bus_linux
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    32
 {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    33
    my $device = shift;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    34
 
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    35
@@ -733,7 +737,145 @@
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    36
    closedir (DIR);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    37
 }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    38
 
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    39
-sub scan_scsi_bus
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    40
+# wait_for(handle, regexp, regexp, ...)
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    41
+# Read from the input stream until one of the regexps matches..
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    42
+sub wait_for
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    43
+{
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    44
+	local ($c, $i, $sw, $rv, $ha); undef($wait_for_input);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    45
+	$ha = $_[0];
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    46
+	$codes =
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    47
+		"local \$hit;\n".
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    48
+		"while(1) {\n".
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    49
+		" if ((\$c = getc(\$ha)) eq \"\") { return -1; }\n".
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    50
+		" \$wait_for_input .= \$c;\n";
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    51
+	for($i=1; $i<@_; $i++) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    52
+		$sw = $i>1 ? "elsif" : "if";
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    53
+		$codes .= " $sw (\$wait_for_input =~ /$_[$i]/i) { \$hit = $i-1; }\n";
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    54
+	}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    55
+	$codes .=
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    56
+		" if (defined(\$hit)) {\n".
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    57
+		"  \@matches = (-1, \$1, \$2, \$3, \$4, \$5, \$6, \$7, \$8, \$9);\n".
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    58
+		"  return \$hit;\n".
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    59
+		"  }\n".
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    60
+		" }\n";
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    61
+	$rv = eval $codes;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    62
+	if ($@) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    63
+		print STDERR $codes,"\n";
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    64
+		&error("wait_for error : $@\n");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    65
+	}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    66
+	return $rv;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    67
+}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    68
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    69
+# text(message, [substitute]+)
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    70
+sub text
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    71
+{
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    72
+   local $rv = $text{$_[0]};
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    73
+   local $i;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    74
+   for($i=1; $i<@_; $i++) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    75
+	$rv =~ s/\$$i/$_[$i]/g;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    76
+   }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    77
+   return $rv;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    78
+}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    79
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    80
+# list_disks()
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    81
+# Returns a list of structures, one per disk
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    82
+sub list_disks_sunos
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    83
+{
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    84
+   local(@rv);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    85
+   local $temp = "/tmp/stb-format.tmp";
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    86
+   open(TEMP, ">$temp");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    87
+   print TEMP "disk\n";
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    88
+   close(TEMP);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    89
+   open(FORMAT, "format -f $temp |");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    90
+   while(1) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    91
+	   local $rv = &wait_for(FORMAT, 'Specify', '\s+\d+\. (\S+) <(.*) cyl (\d+) alt (\d+) hd (\d+) sec (\d+)>\s*(\S*)', '\s+\d+\. (\S+) <drive type unknown>', 'space for more');
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    92
+	   if ($rv == 0) { last; }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    93
+	   elsif ($rv == 1) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    94
+		   local $disk = { 'device' => "/dev/dsk/$matches[1]",
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    95
+			   'type' => $matches[2] eq 'DEFAULT' ?
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    96
+				   undef : $matches[2],
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    97
+			   'cyl' => $matches[3],
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    98
+			   'alt' => $matches[4],
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
    99
+			   'hd' => $matches[5],
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   100
+			   'sec' => $matches[6],
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   101
+			   'volume' => $matches[7] };
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   102
+		   if ($matches[1] =~ /c(\d+)t(\d+)d(\d+)$/) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   103
+			   $disk->{'desc'} = &text('select_device',
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   104
+					   "$1", "$2", "$3");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   105
+		   }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   106
+		   elsif ($matches[1] =~ /c(\d+)d(\d+)$/) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   107
+			   $disk->{'desc'} = &text('select_idedevice',
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   108
+					   chr($1*2 + $2 + 65));
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   109
+		   }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   110
+		   push(@rv, $disk);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   111
+	   }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   112
+   }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   113
+   close(FORMAT);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   114
+   unlink($temp);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   115
+   return @rv;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   116
+}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   117
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   118
+# list_partitions(device)
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   119
+# Returns a list of structures, one per partition
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   120
+sub list_partitions_sunos
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   121
+{
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   122
+   local(@rv, $secs, $i);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   123
+   local @tag = ("unassigned", "boot", "root", "swap", "usr", "backup", "stand", "var", "home", "alternates", "cache");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   124
+   open(VTOC, "prtvtoc $_[0]s0 |");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   125
+   while(<VTOC>) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   126
+	if (/(\d+)\s+sectors\/cylinder/) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   127
+		$secs = $1;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   128
+		}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   129
+	if (/^\s+(\d+)\s+(\S+)\s+(\d+)\s+(\d+)\s+(\d+)\s+(\d+)/) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   130
+		local $n = $1;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   131
+		local $part = { 'tag' => $tag[$2],
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   132
+				'flag' => $3 eq "00" ? "wm" :
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   133
+					  $3 eq "01" ? "wu" :
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   134
+					  $3 eq "10" ? "rm" : "ru",
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   135
+				'start' => int($4 / $secs),
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   136
+				'end' => int($6 / $secs),
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   137
+				'device' => $_[0]."s$n" };
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   138
+		$rv[$n] = $part;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   139
+		}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   140
+	}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   141
+   close(VTOC);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   142
+   for($i=0; $i<8 || $i<@rv; $i++) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   143
+	$rv[$i] = { 'tag' => 'unassigned',
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   144
+		    'flag' => 'wm',
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   145
+		    'device' => $_[0]."s$i" } if (!$rv[$i]);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   146
+	if ($_[0] =~ /c(\d+)t(\d+)d(\d+)$/) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   147
+		$rv[$i]->{'desc'} = &text('select_part',
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   148
+					  "$1", "$2", "$3", $i);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   149
+		}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   150
+	elsif ($_[0] =~ /c(\d+)d(\d+)$/) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   151
+		$rv[$i]->{'desc'} = &text('select_idepart',
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   152
+				    	  chr($1*2 + $2 + 65), $i);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   153
+		}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   154
+	}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   155
+   return @rv;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   156
+}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   157
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   158
+sub scan_any_bus_sunos
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   159
+{
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   160
+   my $device = shift;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   161
+#   foreach $disk (&list_disks_sunos()) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   162
+#	&update_disk_data ($part->{'device'}, "media", $part->{'desc'});
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   163
+#	foreach $part (&list_partitions_sunos($disk->{'device'})) {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   164
+#		&update_disk_data ($part->{'device'}, "media", 'disk');
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   165
+#	 if ($scsi[$i]->{'device'}) { &update_disk_data ($scsi[$i]->{'device'}, "model", "$vendor $model");}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   166
+#	}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   167
+#   }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   168
+}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   169
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   170
+sub scan_ide_bus
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   171
+{
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   172
+   my $device = shift;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   173
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   174
+   &scan_ide_bus_linux($device) if ($$tool{"system"} eq "Linux");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   175
+   &scan_ide_bus_sunos($device) if ($$tool{"system"} eq "SunOS");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   176
+}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   177
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   178
+sub scan_scsi_bus_linux
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   179
 {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   180
    my $device = shift;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   181
 
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   182
@@ -833,7 +975,20 @@
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   183
    close (PROC_SCSI_FILE);
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   184
 }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   185
 
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   186
-sub scan_floppy
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   187
+sub scan_scsi_bus_sunos
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   188
+{
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   189
+   my $device = shift;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   190
+}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   191
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   192
+sub scan_scsi_bus
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   193
+{
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   194
+   my $device = shift;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   195
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   196
+   &scan_scsi_bus_linux($device) if ($$tool{"system"} eq "Linux");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   197
+   &scan_scsi_bus_sunos($device) if ($$tool{"system"} eq "SunOS");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   198
+}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   199
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   200
+sub scan_floppy_linux
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   201
 {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   202
    #FIXME: I don't like it
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   203
    $floppy = `grep fd /proc/devices | wc -l`;
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   204
@@ -849,6 +1004,16 @@
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   205
    }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   206
 }
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   207
 
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   208
+sub scan_floppy_sunos
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   209
+{
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   210
+}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   211
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   212
+sub scan_floppy
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   213
+{
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   214
+   &scan_floppy_linux($device) if ($$tool{"system"} eq "Linux");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   215
+   &scan_floppy_sunos($device) if ($$tool{"system"} eq "SunOS");
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   216
+}
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   217
+
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   218
 sub get_fs_type
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   219
 {
fef846f62545 2006-03-16 Padraig O'Briain <[email protected]>
padraigo
parents:
diff changeset
   220
    my ($device) = @_;