Plan 9 from Bell Labs’s /usr/web/sources/plan9/sys/lib/dist/pc/inst/mkini.awk

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


BEGIN{
	m = "common"
	haveold = 0;
	while(getline <"/n/9fat/plan9-3e.ini" > 0){
		haveold = 1
		if($0 ~ /\[.*\]/){
			m = substr($0, 2, length($0)-2)
			continue
		}
		if(m=="menu" && $0 ~ /^menuitem=4e,/)
			continue
		a[m] = a[m] $0 "\n"
	}

	a["4e"] = ""
	while(getline <"/tmp/plan9.ini" > 0)
		a["4e"] = a["4e"] $0 "\n"

	if(a["menu"] == "" && haveold){
		a["menu"] = "menuitem=3e, Plan 9 Third Edition\n"
		a["3e"] = ""
	}

	if(a["common"] != ""){
		for(i in a)
			if(i != "4e" && i != "common" && i != "menu")
				a[i] = a["common"] a[i]
		delete a["common"]
	}

	bootdisk4e=ENVIRON["fs"]
	gsub("/dev/", "boot(args|disk|file)=local!#S/", bootdisk4e)

	if(!haveold)
		print a["4e"]
	else{
		print "[menu]"
		print "menuitem=4e, Plan 9 Fourth Edition"
		print a["menu"]
		print ""
		delete a["menu"]
	
		print "[4e]"
		print a["4e"]
		print ""
		delete a["4e"]
	
		for(i in a){
			# BUG: if rootdir is already there we should rewrite it 
			# sometimes into /3e/whatwasthere
			if(a[i] ~ bootdisk4e && !(a[i] ~ /rootdir=/))
				a[i] = "rootdir=/root/3e\n" a[i]
			print "[" i "]"
			gsub(/9fat!9pcdisk/, "9fat!9pc3e", a[i])
			print a[i]
			print ""
		}
	}
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].