chiark / gitweb /
AIX; nCipher keys; greenock
[ian-dotfiles.git] / config
diff --git a/config b/config
index b150190edbaf73f5a9d6f58a2a4343d0a1dc033d..16e37cc27a06d339622dc74e5b2ca45abd9539f8 100644 (file)
--- a/config
+++ b/config
@@ -1,8 +1,12 @@
 @@-
-chomp($nodename= `uname -n`); $? and die 'uname $?';
-($hostname)=(gethostbyname $nodename) or die "hostname $nodename ?";
-$nodename =~ s/\..*//;
+chomp($nodename= `uname -n`); $? and die "uname $?";
+chomp($username= `whoami`); $? and die "whoami $?";
+
+@he= gethostbyname $nodename or die "gethostbyname $nodename ?";
+@hostnames= ($he[0], split /\s/, $he[1]);
+($hostname)= grep /\./, @hostnames or die "no fqdn in @hostnames";
 
+$nodename =~ s/\..*//;
 $xbindir= '/usr/bin/X11';
 
 chomp($uname= `uname`); $? and die "platform $?";
@@ -18,6 +22,18 @@ if ($uname =~ m/^Linux$/) {
     m/^\d+\.\d+/ or die "$_ ?";
     $platform= "SunOS$&";
     $xbindir= '/usr/openwin/bin';
+} elsif ($uname =~ m/^FreeBSD/) {
+    chomp($_= `uname -r`); $? and die "platform $?";
+    m/^(\d+\.\d+)\-/ or die "$_ ?";
+    $platform= "FreeBSD-$1";
+} elsif ($uname =~ m/^HP\-UX/) {
+    chomp($_= `uname -r`); $? and die "platform $?";
+    m/^B\.(\d+\.\d+)$/ or die "$_ ?";
+    $platform= "HP-UX$1";
+} elsif ($uname =~ m/^AIX/) {
+    chomp($_= `uname -rv`); $? and die "platform $?";
+    m/^\d+ (\d+)$/ or die "$_ ?";
+    $platform= "AIX$1";
 } else {
     die "$uname ?";
 }