[perltidy]
authorHeiko Schlittermann <hs@schlittermann.de>
Tue, 19 Jan 2010 23:48:10 +0100
changeset 17 d4942418a9ea
parent 16 fd87c1e3b451
child 18 c9575527c96d
child 27 de0a25512844
[perltidy]
SI/blkid.pm
SI/dumper.pm
SI/lvm.pm
SI/mbr.pm
SI/ptable.pm
SI/system.pm
SI/tools.pm
si
--- a/SI/blkid.pm	Tue Jan 19 23:45:54 2010 +0100
+++ b/SI/blkid.pm	Tue Jan 19 23:48:10 2010 +0100
@@ -9,11 +9,10 @@
 
 use SI::tools;
 
-
 sub ids($\%) {
     my ($file, $devs) = @_;
 
-    my @volumes = sort keys %{$devs->{volume}};
+    my @volumes = sort keys %{ $devs->{volume} };
     verbose("reading blkids: @volumes");
     foreach (`blkid -c /dev/null @volumes`) {
         my $dev = (split /:/)[0];
@@ -22,35 +21,36 @@
         my ($type)  = /\sTYPE=.(.*?).\s/;
         my ($label) = /\sLABEL=.(.*?).\s/;
 
-	if (exists $devs->{volume}{$dev}) {
+        if (exists $devs->{volume}{$dev}) {
             $devs->{volume}{$dev}{uuid}  = $uuid;
             $devs->{volume}{$dev}{type}  = $type;
             $devs->{volume}{$dev}{label} = $label;
 
-	    my ($of, $oh);
-	    if (defined $uuid) {
-		    $of = sprintf $file, "uuid." . basename $dev;
-		    $oh = new IO::File ">$of" or die "ERR: Can't open $of: $!\n";
-		    $oh->print("$uuid\n");
-		}
+            my ($of, $oh);
+            if (defined $uuid) {
+                $of = sprintf $file, "uuid." . basename $dev;
+                $oh = new IO::File ">$of" or die "ERR: Can't open $of: $!\n";
+                $oh->print("$uuid\n");
+            }
 
-		if (defined $label) {
-	    $of = sprintf $file, "label." . basename $dev;
-	    $oh = new IO::File ">$of" or die "ERR: Can't open $of: $!\n";
-	    $oh->print("$label\n");
-    }
+            if (defined $label) {
+                $of = sprintf $file, "label." . basename $dev;
+                $oh = new IO::File ">$of" or die "ERR: Can't open $of: $!\n";
+                $oh->print("$label\n");
+            }
 
-	    if (defined $type) {
-		    $of = sprintf $file, "type." . basename $dev;
-		    $oh = new IO::File ">$of" or die "ERR: Can't open $of: $!\n";
-		    $oh->print("$type\n");
-	    }
+            if (defined $type) {
+                $of = sprintf $file, "type." . basename $dev;
+                $oh = new IO::File ">$of" or die "ERR: Can't open $of: $!\n";
+                $oh->print("$type\n");
+            }
 
-	}
+        }
 
     }
     verbose("\n");
 }
 
 1;
+
 # vim:sts=4 sw=4 aw ai si:
--- a/SI/dumper.pm	Tue Jan 19 23:45:54 2010 +0100
+++ b/SI/dumper.pm	Tue Jan 19 23:48:10 2010 +0100
@@ -9,17 +9,19 @@
 sub dump($\%) {
     my ($file, $devs) = @_;
 
-    foreach my $volume ( map { { name => $_, %{$devs->{volume}{$_}}}}  keys %{$devs->{volume}}) {
-	next if !defined $volume->{type} or $volume->{type} !~ /^ext/i;
-
-	system("fsck -f -C0 $volume->{name}");
-	die "ERR: fsck failed\n" if $? > 2;
+    foreach my $volume (map { { name => $_, %{ $devs->{volume}{$_} } } }
+        keys %{ $devs->{volume} })
+    {
+        next if !defined $volume->{type} or $volume->{type} !~ /^ext/i;
 
-	verbose("dumping volume $volume->{name}");
-	my $dumpdev = $volume->{name};
-	my $of = sprintf $file, basename($volume->{name});
-	run("dump -0 -z -f $of $dumpdev");
-	verbose("\n");
+        system("fsck -f -C0 $volume->{name}");
+        die "ERR: fsck failed\n" if $? > 2;
+
+        verbose("dumping volume $volume->{name}");
+        my $dumpdev = $volume->{name};
+        my $of = sprintf $file, basename($volume->{name});
+        run("dump -0 -z -f $of $dumpdev");
+        verbose("\n");
     }
 }
 
--- a/SI/lvm.pm	Tue Jan 19 23:45:54 2010 +0100
+++ b/SI/lvm.pm	Tue Jan 19 23:48:10 2010 +0100
@@ -18,9 +18,10 @@
     my $devs = shift;
 
     # find the physical volumes we've already recognised as „non-removable“
-    my @known = keys %{$devs->{volume}}, keys %{$devs->{disk}};
+    my @known = keys %{ $devs->{volume} }, keys %{ $devs->{disk} };
 
-    my @pvs = grep { $_ ~~ @known } map { s/\s*//; (split /:/)[0] } `pvdisplay -c`;
+    my @pvs =
+      grep { $_ ~~ @known } map { s/\s*//; (split /:/)[0] } `pvdisplay -c`;
     @volumegroups = map { (split /:/)[1] } `pvdisplay -c @pvs 2>/dev/null`;
     run("vgchange -ay @volumegroups 2>&1 >/dev/null");
     return @volumegroups;
@@ -33,12 +34,12 @@
     # physical devices known to lvm, not just the non-removable
 
     my @vgs = _vgs(%$devs);
-    my @lvs = 
-	      map { abs_path ((dirname $_) . "/" . readlink) } 
-	      map { s/^\s*//; (split /:/)[0] } 
-	      grep { (split /:/)[1] ~~ @vgs } `lvdisplay -c`;
+    my @lvs =
+      map { abs_path((dirname $_) . "/" . readlink) }
+      map { s/^\s*//; (split /:/)[0] }
+      grep { (split /:/)[1] ~~ @vgs } `lvdisplay -c`;
     foreach (@lvs) {
-	$devs->{volume}{$_} = { origin => "lvm" };
+        $devs->{volume}{$_} = { origin => "lvm" };
     }
 }
 
@@ -47,9 +48,10 @@
 
     # we save it vg by vg to have the restore more easy
     my @vgs = _vgs(%$devs);
-    foreach ( map { s/^\s*(.*)/$1/; $_ = (split /:/)[0] } `vgs --noheadings --separator : @vgs`)
+    foreach (map { s/^\s*(.*)/$1/; $_ = (split /:/)[0] }
+        `vgs --noheadings --separator : @vgs`)
     {
-	verbose("saving vg $_\n");
+        verbose("saving vg $_\n");
         my $file = sprintf $file, $_;
         run("vgcfgbackup -f '$file' '$_' >/dev/null");
     }
@@ -61,4 +63,5 @@
 }
 
 1;
+
 # vim:sts=4 sw=4 aw ai si:
--- a/SI/mbr.pm	Tue Jan 19 23:45:54 2010 +0100
+++ b/SI/mbr.pm	Tue Jan 19 23:48:10 2010 +0100
@@ -9,17 +9,17 @@
 use SI::tools;
 
 sub save($\%) {
-	my ($file, $devs) = @_;
-	
+    my ($file, $devs) = @_;
 
-	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";
+    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;
-		my $in = new IO::File $disk or die "Can't open $disk: $!\n";
-		print $o $_ = <$in>;
-	}
+        local $/ = \512;
+        my $in = new IO::File $disk or die "Can't open $disk: $!\n";
+        print $o $_ = <$in>;
+    }
 }
 
 1;
--- a/SI/ptable.pm	Tue Jan 19 23:45:54 2010 +0100
+++ b/SI/ptable.pm	Tue Jan 19 23:48:10 2010 +0100
@@ -18,48 +18,50 @@
     # non-removable block devices (this may include
     # LVs (used as disk itself) too)
     foreach (glob("/sys/block/*")) {
-	    my $name = basename($_);
-	    my $dev = "/dev/$name";
+        my $name = basename($_);
+        my $dev  = "/dev/$name";
 
-	    next if !-e "$_/device";
-	    next if (grep { /ATTR{removable}/ } `udevadm info --attribute-walk --name $name`)[0] !~ /==.0./;
-	    next if (stat $dev)[0] == (stat $0)[0];
+        next if !-e "$_/device";
+        next
+          if (grep { /ATTR{removable}/ }
+            `udevadm info --attribute-walk --name $name`)[0] !~ /==.0./;
+        next if (stat $dev)[0] == (stat $0)[0];
 
-	    # exclude the device (stick) we're part of - this HACK is
-	    # only useful on KVM - the usb stick doesn't appear as a removeable
-	    # device
-	    next if (stat $0)[0] ~~ [map { (stat)[6] } map { "/dev/" . basename(dirname $_) } glob("$_/*/partition")];
-
+        # exclude the device (stick) we're part of - this HACK is
+        # only useful on KVM - the usb stick doesn't appear as a removeable
+        # device
+        next
+          if (stat $0)[0] ~~ [map { (stat)[6] }
+              map { "/dev/" . basename(dirname $_) } glob("$_/*/partition")];
 
-	    verbose("\n");
-	    verbose("device $dev\n");
-
-	    die "ERR: $dev does not exist. (should not happen): $!"
-		if !-b $dev;
+        verbose("\n");
+        verbose("device $dev\n");
 
-	    # now the physical disk -- let's ask for the partition table
+        die "ERR: $dev does not exist. (should not happen): $!"
+          if !-b $dev;
 
-	    my @sfdisk = `sfdisk -d /dev/$name 2>/dev/null`;
+        # now the physical disk -- let's ask for the partition table
 
-	    my $of = sprintf $file, $name;
-	    my $oh = new IO::File ">$of" or die "Can't open >$of: $!\n";
-	    print $oh @sfdisk;
+        my @sfdisk = `sfdisk -d /dev/$name 2>/dev/null`;
+
+        my $of = sprintf $file, $name;
+        my $oh = new IO::File ">$of" or die "Can't open >$of: $!\n";
+        print $oh @sfdisk;
 
-	    $devs->{disk}{"/dev/$name"} = { 
-		pt => \@sfdisk
-	    };
+        $devs->{disk}{"/dev/$name"} = { pt => \@sfdisk };
 
-	    # and let's prepare the volume entries
-	    foreach (@sfdisk) {
-		/^(\S+)\s*:.*Id=\s*([[:xdigit:]]+)/ or next;
-		$devs->{volume}{$1} = {
-			origin => "ptable",
-			ptable_type => $2,
-		    };
-	    }
+        # and let's prepare the volume entries
+        foreach (@sfdisk) {
+            /^(\S+)\s*:.*Id=\s*([[:xdigit:]]+)/ or next;
+            $devs->{volume}{$1} = {
+                origin      => "ptable",
+                ptable_type => $2,
+            };
+        }
     }
 
     return;
 }
 1;
+
 # vim:sts=4 sw=4 aw ai si:
--- a/SI/system.pm	Tue Jan 19 23:45:54 2010 +0100
+++ b/SI/system.pm	Tue Jan 19 23:48:10 2010 +0100
@@ -9,31 +9,36 @@
 $ENV{LC_ALL} = "C";
 
 sub id() {
+
     # hope it's eth* or wlan*
     local $_ = (sort grep { /^(eth|wlan)/ } `ifconfig -a`)[0];
     /^(?<dev>\S+)\s.*HWaddr\s+(?<mac>[\da-f:]+)\s*$/i
-    	and return $+{mac};
+      and return $+{mac};
     die "ERR: Can't get system identification (MAC address)\n";
 }
 
 sub hostname(\%) {
-	my $devs = shift;
-	my $mnt = tempdir(CLEANUP => 1);
-	my $r;
+    my $devs = shift;
+    my $mnt = tempdir(CLEANUP => 1);
+    my $r;
 
-	foreach my $fs (grep { $devs->{volume}{$_}{type} =~ /^ext/i } 
-		grep { exists $devs->{volume}{$_}{type} }
-		keys %{$devs->{volume}}) {
-		run("mount -r $fs $mnt");
-		if (-f "$mnt/etc/hostname") {
-			die "ERR: found 2nd hostname" if defined $r;
-			chomp($r = cat("$mnt/etc/hostname"));
-		}
-		run("umount $mnt");
-	}
+    foreach my $fs (
+        grep { $devs->{volume}{$_}{type} =~ /^ext/i }
+        grep { exists $devs->{volume}{$_}{type} }
+        keys %{ $devs->{volume} }
+      )
+    {
+        run("mount -r $fs $mnt");
+        if (-f "$mnt/etc/hostname") {
+            die "ERR: found 2nd hostname" if defined $r;
+            chomp($r = cat("$mnt/etc/hostname"));
+        }
+        run("umount $mnt");
+    }
 
-	return $r;
+    return $r;
 }
 
 1;
+
 # vim:sts=4 sw=4 aw ai si:
--- a/SI/tools.pm	Tue Jan 19 23:45:54 2010 +0100
+++ b/SI/tools.pm	Tue Jan 19 23:48:10 2010 +0100
@@ -11,27 +11,28 @@
 our @EXPORT = qw(&run &verbose &find_by_devid &cat &barf);
 
 sub run(@) {
-	system(@_);
-	die "$_[0] failed with exit code " . ($? >> 8) . "\n"
-	if $?;
+    system(@_);
+    die "$_[0] failed with exit code " . ($? >> 8) . "\n"
+      if $?;
 }
 
-sub barf(@) { die Dumper @_  }
+sub barf(@) { die Dumper @_ }
 
 sub cat($) {
-    my $fh = new IO::File $_[0] 
-	or die "Can't open $_[0]: $!\n";
-    return(<$fh>) if wantarray;
+    my $fh = new IO::File $_[0]
+      or die "Can't open $_[0]: $!\n";
+    return (<$fh>) if wantarray;
     return join "", <$fh>;
 }
 
 my $last = "\n";
-sub verbose(@) { 
+
+sub verbose(@) {
     print $last eq "\n" ? "" : " "
-	if not(@_ == 1 and length($_[0]) == 1);
+      if not(@_ == 1 and length($_[0]) == 1);
     print @_;
     $last = substr($_[-1], -1, 1);
-};
+}
 
 sub find_by_devid($$) {
     my ($dir, $id) = @_;
@@ -48,6 +49,6 @@
     return $found[0];
 }
 
+1;
 
-1;
 # vim:sts=4 sw=4 aw ai si:
--- a/si	Tue Jan 19 23:45:54 2010 +0100
+++ b/si	Tue Jan 19 23:48:10 2010 +0100
@@ -22,24 +22,25 @@
 use SI::system;
 
 my $opt_exit = "";
-my $opt_dir = "";
+my $opt_dir  = "";
 
 MAIN: {
 
-    GetOptions("exit=s" => \$opt_exit,
-    	"dir=s" => \$opt_dir)
-    	or die "Bad usage\n";
+    GetOptions(
+        "exit=s" => \$opt_exit,
+        "dir=s"  => \$opt_dir
+    ) or die "Bad usage\n";
 
-    my %devices;	# the overall data collector
+    my %devices;    # the overall data collector
     my $dir;
-    
+
     if ($opt_dir ne "") {
-	$dir = $opt_dir;
-    } 
+        $dir = $opt_dir;
+    }
     else {
-	$dir = dirname($0) . "/../image-" . SI::system::id();
-	remove_tree($dir);
-	    -d $dir or mkdir($dir, 0700) or die "Can't mkdir $dir: $!\n";
+        $dir = dirname($0) . "/../image-" . SI::system::id();
+        remove_tree($dir);
+        -d $dir or mkdir($dir, 0700) or die "Can't mkdir $dir: $!\n";
     }
     make_path(map { "$dir/$_" } qw(ptable lvm blkid mbr dump));
 
@@ -61,7 +62,7 @@
     SI::dumper::dump("$dir/dump/%s", %devices);
 
     my $o = new IO::File ">$dir/devices"
-	or die "ERR: Can't open $dir/devices: $!\n";
+      or die "ERR: Can't open $dir/devices: $!\n";
     $o->print(Dumper \%devices);
 
     # we wait until now, since now it's sure that
@@ -70,9 +71,8 @@
     my $hostname = SI::system::hostname(%devices);
     symlink(basename($dir), "../image-$hostname");
 
-    
     exit;
 
-    }
+}
 
 # vim:sts=4 sw=4 aw ai si: