tried to make it working on ,,ia'' under grml 2010-01-17
authorHeiko Schlittermann <hs@schlittermann.de>
Sun, 17 Jan 2010 12:13:47 +0100
branch2010-01-17
changeset 10 23dd30396607
parent 7 03ca6d811a17
child 11 42c603eb6301
child 40 035147bb7c66
tried to make it working on ,,ia'' under grml
SI/blkid.pm
SI/dumper.pm
SI/lvm.pm
SI/mbr.pm
SI/ptable.pm
SI/tools.pm
si
--- a/SI/blkid.pm	Sat Jan 16 23:53:50 2010 +0100
+++ b/SI/blkid.pm	Sun Jan 17 12:13:47 2010 +0100
@@ -1,12 +1,12 @@
 package SI::blkid;
 
+use if $ENV{DEBUG} ~~ /blkid|all/ => "Smart::Comments";
+
 use strict;
 use warnings;
 use File::Find;
 
 
-use if $ENV{DEBUG} ~~ /blkid|all/ => "Smart::Comments";
-
 use SI::tools;
 
 sub find_by_devid($$) {
--- a/SI/dumper.pm	Sat Jan 16 23:53:50 2010 +0100
+++ b/SI/dumper.pm	Sun Jan 17 12:13:47 2010 +0100
@@ -1,14 +1,17 @@
 package SI::dumper;
 
+use if $ENV{DEBUG} ~~ /dumper|all/ => "Smart::Comments";
 use strict;
 use warnings;
 use SI::tools;
-use if $ENV{DEBUG} ~~ /dumper|all/ => "Smart::Comments";
 
 sub dump($\%) {
     my ($file, $devs) = @_;
 
     ### $devs
+    use Data::Dumper;
+    print Dumper $devs;
+    exit;
 
     my %volume = %{$devs->{volume}};
 
--- a/SI/lvm.pm	Sat Jan 16 23:53:50 2010 +0100
+++ b/SI/lvm.pm	Sun Jan 17 12:13:47 2010 +0100
@@ -1,10 +1,11 @@
 package SI::lvm;
 
+use if $ENV{DEBUG} ~~ /lvm|all/ => qw(Smart::Comments);
+
 use strict;
 use warnings;
 use IO::File;
 
-use if $ENV{DEBUG} ~~ /lvm|all/ => qw(Smart::Comments);
 
 use SI::tools;
 
@@ -15,11 +16,11 @@
 
     my $devs = shift;
 
-    my @pvs = grep { $devs->{volume}{$_}{type} =~ /^lvm/ } 
-	grep { defined $devs->{volume}{$_} }
-	keys %{$devs->{volume}};
+    use Data::Dumper;
+    die Dumper \@pvs;
+    my @pvs = grep { exists $devs->{disk}{$_} } map { s/\s*//; (split /:/)[0] } `pvdisplay -c`;
 
-    return @volumegroups = map { (split /:/)[1] } `pvdisplay -c @pvs`;
+    return @volumegroups = map { (split /:/)[1] } `pvdisplay -c @pvs 2>/dev/null`;
 }
 
 sub volumes(\%) {
@@ -27,9 +28,6 @@
 
     # we can't just use `pvs', since this would return *all*
     # physical devices known to lvm, not just the non-removable
-    my @pvs = grep { $devs->{volume}{$_}{type} =~ /^lvm/ } 
-	grep { defined $devs->{volume}{$_} }
-	keys %{$devs->{volume}};
 
     my @vgs = _vgs(%$devs);
     my @lvs = map { readlink } 
--- a/SI/mbr.pm	Sat Jan 16 23:53:50 2010 +0100
+++ b/SI/mbr.pm	Sun Jan 17 12:13:47 2010 +0100
@@ -11,7 +11,7 @@
 	my ($file, $devs) = @_;
 	
 
-	foreach my $disk (keys %{$devs->{disks}}) {
+	foreach my $disk (keys %{$devs->{disk}}) {
 		verbose("saving mbr of $disk\n");
 		open((my $o), $_ = sprintf(">$file", basename($disk))) or die "Can't open $_: $!\n";
 		local $/ = \512;
--- a/SI/ptable.pm	Sat Jan 16 23:53:50 2010 +0100
+++ b/SI/ptable.pm	Sun Jan 17 12:13:47 2010 +0100
@@ -1,11 +1,12 @@
 package SI::ptable;
 
+use if $ENV{DEBUG} ~~ /ptable|all/ => qw(Smart::Comments);
+
 use strict;
 use warnings;
 use File::Find;
 use IO::File;
 
-use if $ENV{DEBUG} ~~ /ptable|all/ => qw(Smart::Comments);
 
 use SI::tools;
 $ENV{LC_ALL} = "C";
@@ -44,7 +45,7 @@
 	print $of "$_\n";
 
 	if (/^(\/dev\/\S+)\s*:/) {
-	    $devs->{volume}{$1} = undef;
+	    $devs->{volume}{$1} = {};
 	}
 
     }
--- a/SI/tools.pm	Sat Jan 16 23:53:50 2010 +0100
+++ b/SI/tools.pm	Sun Jan 17 12:13:47 2010 +0100
@@ -1,10 +1,11 @@
 package SI::tools;
 
+use if $ENV{DEBUG} ~~ /tools|all/ => "Smart::Comments";
+
 use strict;
 use warnings;
 use base "Exporter";
 our @EXPORT = qw(&run &verbose);
-use if $ENV{DEBUG} ~~ /tools|all/ => "Smart::Comments";
 
 sub run(@) {
 	system(@_);
--- a/si	Sat Jan 16 23:53:50 2010 +0100
+++ b/si	Sun Jan 17 12:13:47 2010 +0100
@@ -1,9 +1,10 @@
 #! /usr/bin/perl
 # system imager
 
+use if $ENV{DEBUG} ~~ /main|all/ => "Smart::Comments";
+
 use strict;
 use warnings;
-use if $ENV{DEBUG} ~~ /main|all/ => "Smart::Comments";
 
 use Sys::Hostname;