]> git.lizzy.rs Git - plan9front.git/blobdiff - rc/bin/cpurc
cpurc: handle case with missing /net/ipselftab
[plan9front.git] / rc / bin / cpurc
index afd888a2e8931f0f5db1b0b3b50107780c08201f..c7198b8275313377728173e7935f7a701b35d246 100755 (executable)
@@ -17,31 +17,32 @@ mntgen -s slashn && chmod 666 /srv/slashn
 # name translation, cs sets /dev/sysname
 ndb/cs
 sysname=`{cat /dev/sysname}
-
-# parallelism for mk
-NPROC = `{wc -l </dev/sysstat}
-
 if (~ $#sysname 0 || ~ $sysname ''){
        sysname=cirno                   # default
        echo -n $sysname >/dev/sysname
 }
 prompt=($sysname^'# ' '        ')
 
+# parallelism for mk
+NPROC=`{wc -l </dev/sysstat}
+
 # cpu-specific startup
 if(test -e /cfg/$sysname/cpurc)
        . /cfg/$sysname/cpurc
 
 # automatic ip address setup
-if(! grep u /net/ipselftab | grep -sv 127.0.0.1){
-       ether=`{ndb/query sys $sysname ether}
-       if(~ $#ether 1){
-               # try /lib/ndb first, then do dhcp
-               ip/ipconfig -N >[2]/dev/null || ip/ipconfig
+if(test -r /net/ipselftab){
+       if(! grep u /net/ipselftab | grep -sv 127.0.0.1){
+               ether=`{ndb/query sys $sysname ether}
+               if(~ $#ether 1){
+                       # try /lib/ndb first, then do dhcp
+                       ip/ipconfig -N >[2]/dev/null || ip/ipconfig
+               }
+               rm -f /env/ether
        }
-       rm -f /env/ether
 }
 
-if(! test -e /srv/dns)
+if(! test -e /net/dns)
        ndb/dns -r
 
 if(! ps|grep -s timesync){
@@ -53,13 +54,16 @@ if(! ps|grep -s timesync){
        sleep 2
 }
 
-if(~ $#auth 0)
+if(~ $#auth 0){
+       auth=`{ndb/query sys $sysname auth}
        . <{ndb/ipquery sys $sysname auth | sed 's, +,\n,g'}
+}
 switch($auth){
 case `{        echo $sysname; ndb/query sys $sysname dom
+       if(test -r /net/ipselftab){
        for(i in `{awk '/u\ *$/{print $1}' /net/ipselftab}){
                echo $i; ndb/ipquery ip $i dom; ndb/ipquery ip $i sys
-       } | sed 's,[^ ]+=,,g'}
+       } | sed 's,[^ ]+=,,g'}}
        # cpu+auth server
        auth/keyfs -wp -m /mnt/keys /adm/keys
        aux/listen -q -t /rc/bin/service.auth -d /rc/bin/service tcp