git: 9front

Download patch

ref: 599ef9bafc9047ecfe00c1ed4d3698df43fbd238
parent: 020bb9336f64197fce01ce414155ee2c146ebf43
author: cinap_lenrek <cinap_lenrek@gmx.de>
date: Sat Jun 1 12:14:53 EDT 2013

inst/ndbsetup: allow setting sysname more than once

In the installation, if you run the ndbsetup task n times (n > 1),
the installed /lib/ndb/local will have n sys= entries.

The problem is that ndb(8) will use the first sys= entry found, but
one would expect that the last configuration in the ndbsetup task
would be the active one.

Remove any previous entry in ndbsetup before adding new one.

--- a/rc/bin/inst/ndbsetup
+++ b/rc/bin/inst/ndbsetup
@@ -25,7 +25,10 @@
 	prompt $default 'sysname'
 	sysname=$rd
 
+	cp /n/newfs/lib/ndb/local /tmp/ndb.local
 	{
+		ssam 'x/^.*ether='^$etheraddr^'.*$/ d' /tmp/ndb.local
+
 		echo
 		switch($ethermethod){
 		case dhcp
@@ -36,5 +39,5 @@
 				'ip='^$ipaddr 'ipmask='^$ipmask 'ipgw='^$gwaddr
 		}
 		echo
-	} >>/n/newfs/lib/ndb/local
+	} >/n/newfs/lib/ndb/local
 }
--