Subversion Repositories planix.SVN

Rev

Rev 2 | Blame | Compare with Previous | Last modification | View Log | RSS feed

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 ""
                }
        }
}