[merged 23dd30396607]
authorHeiko Schlittermann <hs@schlittermann.de>
Sun, 17 Jan 2010 16:40:08 +0100
changeset 11 42c603eb6301
parent 9 1a6f6cfc46ea (diff)
parent 10 23dd30396607 (current diff)
child 12 a1aee1136609
[merged 23dd30396607]
SI/tools.pm
si
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgtags	Sun Jan 17 16:40:08 2010 +0100
@@ -0,0 +1,2 @@
+1b975c58c5bf806baaa29b596f4279ed611ed1bf r/1
+0000000000000000000000000000000000000000 r/1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SI/system.pm	Sun Jan 17 16:40:08 2010 +0100
@@ -0,0 +1,20 @@
+package SI::system;
+
+use strict;
+use warnings;
+use if $ENV{DEBUG} ~~ qw(system) => "Smart::Comments";
+
+$ENV{LC_ALL} = "C";
+
+sub id($) {
+    my ($file) = @_;
+    open(my $f, ">$file") or die "Can't open $file: $!\n";
+    # hope it's eth*
+    local $_ = (sort grep { /^(eth|wlan)/ } `ifconfig -a`)[0];
+    return if not $_;
+    return if not /^(?<dev>\S+)\s.*HWaddr\s+(?<mac>[\da-f:]+)\s*$/i;
+    print $f "ethernet $+{dev} $+{mac}\n";
+}
+
+1;
+# vim:sts=4 sw=4 aw ai si:
--- a/SI/tools.pm	Sun Jan 17 12:13:47 2010 +0100
+++ b/SI/tools.pm	Sun Jan 17 16:40:08 2010 +0100
@@ -9,7 +9,7 @@
 
 sub run(@) {
 	system(@_);
-	die "$_[0] failed with exit code " . $? >> 8 . "\n"
+	die "$_[0] failed with exit code " . ($? >> 8) . "\n"
 	if $?;
 }
 
--- a/si	Sun Jan 17 12:13:47 2010 +0100
+++ b/si	Sun Jan 17 16:40:08 2010 +0100
@@ -13,6 +13,7 @@
 use SI::lvm;
 use SI::mbr;
 use SI::dumper;
+use SI::system;
 
 MAIN: {
     my $OUT = "../out-" . hostname;
@@ -22,6 +23,8 @@
 
     my %devices;
 
+    SI::system::id("$OUT/system");
+
     SI::ptable::volumes("$OUT/partitions.%s", %devices);
     SI::lvm::volumes(%devices);
     SI::blkid::ids("$OUT/blkid", %devices);