--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/.hgtags Sun Jan 17 00:03:04 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 00:03:04 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 Sat Jan 16 23:53:50 2010 +0100
+++ b/SI/tools.pm Sun Jan 17 00:03:04 2010 +0100
@@ -8,7 +8,7 @@
sub run(@) {
system(@_);
- die "$_[0] failed with exit code " . $? >> 8 . "\n"
+ die "$_[0] failed with exit code " . ($? >> 8) . "\n"
if $?;
}
--- a/si Sat Jan 16 23:53:50 2010 +0100
+++ b/si Sun Jan 17 00:03:04 2010 +0100
@@ -12,6 +12,7 @@
use SI::lvm;
use SI::mbr;
use SI::dumper;
+use SI::system;
MAIN: {
my $OUT = "../out-" . hostname;
@@ -21,6 +22,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);