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