xref: /plan9-contrib/sys/lib/dist/pc/inst/mkini.awk (revision 9a747e4fd48b9f4522c70c07e8f882a15030f964)
1*9a747e4fSDavid du ColombierBEGIN{
2*9a747e4fSDavid du Colombier	m = "common"
3*9a747e4fSDavid du Colombier	haveold = 0;
4*9a747e4fSDavid du Colombier	while(getline <"/n/9fat/plan9-3e.ini" > 0){
5*9a747e4fSDavid du Colombier		haveold = 1
6*9a747e4fSDavid du Colombier		if($0 ~ /\[.*\]/){
7*9a747e4fSDavid du Colombier			m = substr($0, 2, length($0)-2)
8*9a747e4fSDavid du Colombier			continue
9*9a747e4fSDavid du Colombier		}
10*9a747e4fSDavid du Colombier		if(m=="menu" && $0 ~ /^menuitem=4e,/)
11*9a747e4fSDavid du Colombier			continue
12*9a747e4fSDavid du Colombier		a[m] = a[m] $0 "\n"
13*9a747e4fSDavid du Colombier	}
14*9a747e4fSDavid du Colombier
15*9a747e4fSDavid du Colombier	a["4e"] = ""
16*9a747e4fSDavid du Colombier	while(getline <"/tmp/plan9.ini" > 0)
17*9a747e4fSDavid du Colombier		a["4e"] = a["4e"] $0 "\n"
18*9a747e4fSDavid du Colombier
19*9a747e4fSDavid du Colombier	if(a["menu"] == "" && haveold){
20*9a747e4fSDavid du Colombier		a["menu"] = "menuitem=3e, Plan 9 Third Edition\n"
21*9a747e4fSDavid du Colombier		a["3e"] = ""
22*9a747e4fSDavid du Colombier	}
23*9a747e4fSDavid du Colombier
24*9a747e4fSDavid du Colombier	if(a["common"] != ""){
25*9a747e4fSDavid du Colombier		for(i in a)
26*9a747e4fSDavid du Colombier			if(i != "4e" && i != "common" && i != "menu")
27*9a747e4fSDavid du Colombier				a[i] = a["common"] a[i]
28*9a747e4fSDavid du Colombier		delete a["common"]
29*9a747e4fSDavid du Colombier	}
30*9a747e4fSDavid du Colombier
31*9a747e4fSDavid du Colombier	bootdisk4e=ENVIRON["fs"]
32*9a747e4fSDavid du Colombier	gsub("/dev/", "boot(args|disk|file)=local!#S/", bootdisk4e)
33*9a747e4fSDavid du Colombier
34*9a747e4fSDavid du Colombier	if(!haveold)
35*9a747e4fSDavid du Colombier		print a["4e"]
36*9a747e4fSDavid du Colombier	else{
37*9a747e4fSDavid du Colombier		print "[menu]"
38*9a747e4fSDavid du Colombier		print "menuitem=4e, Plan 9 Fourth Edition"
39*9a747e4fSDavid du Colombier		print a["menu"]
40*9a747e4fSDavid du Colombier		print ""
41*9a747e4fSDavid du Colombier		delete a["menu"]
42*9a747e4fSDavid du Colombier
43*9a747e4fSDavid du Colombier		print "[4e]"
44*9a747e4fSDavid du Colombier		print a["4e"]
45*9a747e4fSDavid du Colombier		print ""
46*9a747e4fSDavid du Colombier		delete a["4e"]
47*9a747e4fSDavid du Colombier
48*9a747e4fSDavid du Colombier		for(i in a){
49*9a747e4fSDavid du Colombier			# BUG: if rootdir is already there we should rewrite it
50*9a747e4fSDavid du Colombier			# sometimes into /3e/whatwasthere
51*9a747e4fSDavid du Colombier			if(a[i] ~ bootdisk4e && !(a[i] ~ /rootdir=/))
52*9a747e4fSDavid du Colombier				a[i] = "rootdir=/root/3e\n" a[i]
53*9a747e4fSDavid du Colombier			print "[" i "]"
54*9a747e4fSDavid du Colombier			gsub(/9fat!9pcdisk/, "9fat!9pc3e", a[i])
55*9a747e4fSDavid du Colombier			print a[i]
56*9a747e4fSDavid du Colombier			print ""
57*9a747e4fSDavid du Colombier		}
58*9a747e4fSDavid du Colombier	}
59*9a747e4fSDavid du Colombier}
60