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
