To: poplog Subject: 'test master' pop trees I have created test master pop trees as agreed in the discussion earlier this week. I shall try and write a sysdoc testmaster tomorrow. Meanwhile here's the basic gen.. There's a new environment variable $poptestmaster, set up by poplogin and its friends which points to a directory holding pop systems which are linked directly into the masters. Its current value is /csuna/pop/test, but it might get moved if other things get rationalised later. There are (currently) three systems in $poptestmaster: M.sun4 M.sun3r4 and M.hpbob. Using popversion 'master' (ie setting $popversion, or sourcing /usr/local/global/poplogin.master) will pick up the appropriate one of these on CRN machines. There is also a script 'mkmaster' in $poptestmaster for creating similar trees for other systems (also so you can see exactly what has been done). Basically each tree is a collection of symbolic links to the real system masters. These links occur as high up the tree as possible: but the need for some directories to be writeable (to take objects, executables, saved images etc.) means some explicit structure has to be present. Also the directories intended to contain public executables ($popsys and $Xpopbib) have symbolic links across into the src directories where executables are built (thus pop/pop/pop11 is linked to pop/src/newpop11 etc.), so the whole thing behaves just like a real pop system. I have built the newpop11 for M.sun4, and the xpop (but it doesn't work cos the masters are in an inconsistent state), and am building the newpop11 for M.sun3r4. I don't propose to build anything else at least until I've got xpop working properly, but anyone else is of course welcome to. Be careful with the symbolic links cos you can easily get lost - eg if you do cd $poptestmaster/M.sun4/pop/com you find yourself in $popmaster/S.sun4/com - if you then cd .. you probably won't be where you wanted to be. This structure makes all the here/mhere etc. directories redundant, and also the M.* directories in $popmaster (which are currentl links to the new structure anyway). I propose to remove them all TOMORROW unless someone objects. roger To: poplog Subject: popversion private I have just added /usr/local/global/poplogin.private, ie popversion private. This simply looks for a file $poplib/poplogin.private and sources that, allowing you to specify a private development pop system just as the standard ones are. The testmaster stuff can be used to create such a tree, eg: % cd $poptestmaster % mv M.sun4 roger # temporarily move 'real' sun4 master system % ./mkmaster sun4 # make a new one % mv M.sun4 $HOME # mv (or tarcp) new tree to private area % mv roger M.sun4 # put real one back Then in $poplib/poplogin.private you set $usepop to $HOME/M.sun4 etc. and away you go. Of course the private tree thus created is fully linked to the masters. Typically you would make explicit copies of files you were working on so as to avoid continuously updating the masters with every change. Of course, most of you probably have effectively this kind of setup anyway - I didn't so I set about establishing a general way (not previously available?) for doing it. roger PS: dunno how this relates to POPMAKE, and I don't have time to think about it... PPS: the bulk of this message has been added to sysdoc testmaster - I haven't forgotten I need to write a proper one! To: poplog Subject: more on popversion private As soon as I cam to use the private system described in my previous message, I realised it had lots missing (eg .psv, .wlb files) which I didn't really want to create anew unless I had to. So now there's a script mkprivate in $poptestmaster which makes a private pop system much like a testmaster system, but linked TO a testmaster (and from there to the system masters), so it picks up all these non-master bits too. Use it like this: ./mkprivate sun4 roger this creates a directory P.roger (in $poptestmaster, but entirely portable), which contains links to everything in M.sun4. meanwhile, back on the x development... roger