package fs::proc_partitions; # $Id: proc_partitions.pm 232285 2007-12-03 16:41:16Z pixel $ use common; sub read_raw() { my (undef, undef, @all) = cat_("/proc/partitions"); grep { $_->{size} != 1 && # skip main extended partition $_->{size} != 0x3fffffff; # skip cdroms (otherwise stops cd-audios) } map { my %l; @l{qw(major minor size dev)} = split; \%l; } @all; } sub read { my ($hds) = @_; my @all = read_raw(); my ($parts, $_disks) = partition { $_->{dev} =~ /\d$/ && $_->{dev} !~ /^(sr|scd)/ } @all; fs::get_major_minor($hds); my $prev_part; foreach my $part (@$parts) { my $dev = $part->{dev}; if (my $hd = find { $part->{dev} =~ /^\Q$_->{device}\E./ } @$hds) { put_in_hash($part, partition_table::hd2minimal_part($hd)); } undef $prev_part if $prev_part && ($prev_part->{rootDevice} || '') ne ($part->{rootDevice} || ''); $part->{device} = $dev; $part->{size} *= 2; # from KB to sectors $part->{start} = $prev_part ? $prev_part->{start} + $prev_part->{size} : 0; require fs::type; put_in_hash($part, fs::type::type_subpart_from_magic($part)); $prev_part = $part; delete $part->{dev}; # cleanup } @$parts; } sub compare { my ($hd) = @_; eval { $hd->isa('partition_table::lvm') } and return; my @l1 = partition_table::get_normal_parts($hd); my @l2 = grep { $_->{rootDevice} eq $hd->{device} } &read([$hd]); #- /proc/partitions includes partition with type "empty" and a non-null size #- so add them for comparison my ($len1, $len2) = (int(@l1) + $hd->{primary}{nb_special_empty}, int(@l2)); if ($len1 != $len2) { if (find { $_->{pt_type} == 0xbf } @l1) { log::l("not using /proc/partitions because of the presence of solaris extended partition"); #- cf #33866 } else { die sprintf( "/proc/partitions does not agree with drakx %d != %d:\n%s\n", $len1, $len2, "/proc/partitions: " . join(", ", map { "$_->{device} ($_->{rootDevice})" } @l2)); } } $len2; } sub use_ { my ($hd) = @_; require partition_table::readonly; partition_table::readonly->initialize($hd, [ grep { $_->{rootDevice} eq $hd->{device} } &read([$hd]) ]); } 1; 10_1-update Mageia Installer and base platform for many utilitiesThierry Vignaud [tv]
summaryrefslogtreecommitdiffstats
path: root/docs/object_class.fig
blob: 44fd3fe899b617d2aeb9969188c8750be7d9e87c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#FIG 3.2
Landscape
Center
Inches
Letter  
100.00
Single
-2
1200 2
2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 2625 1200 2625 1725
2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 7575 1125 7575 1650
2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 7575 2100 4350 3225
2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 5025 2025 4350 3225
2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 2625 2100 4350 3225
2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 5025 2025 6075 4125
2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 2625 1200 4950 1725
2 1 0 1 0 7 100 0 -1 0.000 0 0 -1 0 0 2
	 7575 1125 4950 1725
4 0 0 100 0 0 12 0.0000 4 180 1755 1800 1050 install_steps_gtk\001
4 0 0 100 0 0 12 0.0000 4 180 1440 6900 975 install_steps_stdio\001
4 0 0 100 0 0 12 0.0000 4 180 1140 2100 1950 interactive_gtk\001
4 0 0 100 0 0 12 0.0000 4 180 1275 6900 1950 interactive_stdio\001
4 0 0 100 0 0 12 0.0000 4 180 1875 4125 1950 install_steps_interactive\001
4 0 0 100 0 0 12 0.0000 4 135 810 3975 3450 interactive\001
4 0 0 100 0 0 12 0.0000 4 180 975 5625 4350 install_steps\001