forwarding message from Jonathan Cunningham (with comments) 
Author Message
 forwarding message from Jonathan Cunningham (with comments)

The message below from Jonathan did not get through the mail->news
gateway. Previously I thought the problem was having pop-forum in the
Cc: line. But that can't be the explanation in this case.

Maybe the gateway has stopped accepting any pop-forum messages posted
from outside this domain. So lets see if this one gets through to
comp.lang.pop

Apologies to those who have already seen the message.

I'll add some comments on Jonathan's message at the end. Search for the
second row of "=" signs.

=======================================================================



Subject: Re: Running Pop-11
Date: Wed, 22 Mar 2000 12:29:58 -0000

Quote:
>There is no official minimal set.  This is what I use with
>no problem however.
>   usepop, popcom, popsrc, popsys, popexternlib, popobjlib, popautolib,
>   popdatalib, popliblib, poppwmlib, popsunlib, popvedlib, poplocal,
>   poplocalauto, poplocalbin, popcontrib, popsavelib, popcomppath,
>   popsavepath, popexlinkbase
>Note that poppwmlib, popsunlib can be omitted safely under Linux.

Yukk!!

I cannot believe there is any GOOD reason for twenty different
environment variables specifying directories(?) for one system,
however large.

And this is a "minimal set" ??

Quote:
>It is also worth remarking that ALL of these can be given good defaults
>derived from $usepop.

Then perhaps they should?

Maybe you would then need to provide a mechanism which the terminally
insane could use to override the defaults, but such need not rely
on zillions of environment variables. Maybe something similar to
one of the pop11 based initialisation methods, previously discussed,
but which does not rely on environment variables?

Is there any strong reason why there couldn't be a fixed tree
structure, but which respected symbolic links ("short cuts" in
Microsoft terminology) if people wanted/needed to move part of the
directory structure around? Then no poplog mechanism/initialisation
would be needed for anything other than the root of the tree, in
a vanilla poplog. And you could even have sensible defaults for
that, in case $usepop has not been defined. Nowadays, I would
expect a "user-friendly" program which can't find needed
components (e.g. libraries) to make a bit of effort to locate them
for you, before giving up.

And if it can't find them, to ask the user if he/she knows. And to
remember the answer if they do.

Jonathan
=======================================================================

A few comments.

1. Poplog, unlike linux default mechanisms, was always designed so that
one can have more than one version installed simultaneously. So a new
version could be installed on a system for testing by experts and brave
people while the old version remains available for the rest. Later the
new version can replace the old one simply by adjusting some links.
I believe ALL except the most trivial software systems should support
that mode by which a system is updated (though I appreciate it is
impossible for operating systems etc.). In poplog it is achieved by
keeping EVERYTHING in one directory (though I prefer to keep
the local directory separate since that is normally shared between
old and new versions of poplog). Then removing an old poplog is just a
matter of recursively deleting a single tree.

Many package installation conventions which require different bits of
the package to be scattered around a file store make it very difficult
or impossible to have two versions installed at the same time. Thus you
either upgrade or you don't: no trial period is possible. I think that
is bad human engineering.

I know many people strongly disagree with me on this. So perhaps we need
different universes for the two styles of preferences!

The next comment is related to this.

2. I don't know all the reasons why poplog has so many environment
variables, but one reason they can be useful is if a common file server
is installed containing poplog for different architectures and operating
systems all of which cross mount the same system from the file server.
Then instead of everything being in the same default location in the
directory tree you can have different directories for the parts of the
tree which are architecture specific, e.g. $popsys, $popsrc,
$popexternlib, etc.etc.

Another reason is that these different environment variables make it
possible for an individual to do exploratory system development work
with changed versions of some of the directories without having to copy
the whole poplog tree. This was far more important 10 or 20 years ago
when file space was far more expensive and scarce than it is now: in the
early and mid 80s a whole department could be sharing an Eagle disk
drive with about 360Mbytes on it! Affordable Gbyte drives are quite
recent.

An alternative to having lots of environment variables in order to allow
parts of the directory tree to be changed for various purposes, while
sharing the rest, would be a mechanism for generating a copy of the
whole system made entirely of symbolic links to a "master" copy.
Then one could change bits of the copy by deleting the symbolic links
and replacing them with new versions of the files. (A variant of this
is actually used in the "master" development directory, at sussex,
which I've copied to
    http://www.*-*-*.com/
where hard links rather than symbolic links are used.)

Some of the environment variables are needed only by people doing
development work or a system administrator who might need to relink
poplog. These should never have been included in thedefaults for
ALL users. To find out more about the different environment variables
and what they are for, see the comments in

        $usepop/pop/com/popenv

or, if you don't have poplog, look in

        http://www.*-*-*.com/

Certainly it would be trivial to put into $usepop/pop/pop/init.p
some code which, when poplog starts up, generates defaults for all but
the root directory $usepop, if the environment variables have not been
defined already. It would take only a few minutes to write the code for
that.

The one problem that that would not solve is using environment variables
to determine which saved image to run as defined in REF SYSTEM. That
requires the environment variables to be predefined. However you can
always define 'pop11' as an alias for 'basepop11 +startup' and 'clisp'
as an alias for 'basepop11 +startup +clisp' etc.

I don't know whether it is still necessary to add $popexternlib
to LD_LIBRARY_PATH on solaris.

Now, will this cross the mail->news gateway and get into comp.lang.pop

Aaron



Sun, 08 Sep 2002 03:00:00 GMT  
 forwarding message from Jonathan Cunningham (with comments)

Quote:

> An alternative to having lots of environment variables in order to allow
> parts of the directory tree to be changed for various purposes, while
> sharing the rest, would be a mechanism for generating a copy of the
> whole system made entirely of symbolic links to a "master" copy.
> Then one could change bits of the copy by deleting the symbolic links
> and replacing them with new versions of the files. (A variant of this
> is actually used in the "master" development directory, at sussex,
> which I've copied to
>     http://www.cs.bham.ac.uk/research/poplog/src/master
> where hard links rather than symbolic links are used.)

My RedHat 6.1 distribution has a program called lndir which seems to be for
exactly this purpose :-)  I don't know how widely available this is in other
flavours of UNIX though...

Quote:
>Now, will this cross the mail->news gateway and get into comp.lang.pop

>Aaron

It seems to have worked :-)

Jason



Mon, 09 Sep 2002 03:00:00 GMT  
 forwarding message from Jonathan Cunningham (with comments)
Well, dodging the larger issue, I think that it's fair to say that
environment variables are wrong for home Linux users right now.

So I've put up a tarball on my website based on the results of this
discussion.  They've got rid of the need for shell scripts as well,
and make ~/Poplib directory if necessary.  I've copied pop11 to /usr/bin
and symlinked /usr/bin/(x)ved -> pop11.  It does the right thing in that
situation, and it looks like all is happy in the land.

That said, I'd appreciate it if someone could take a second look.  The
address is:
http://studentweb.cs.bham.ac.uk/~ug55aes/projects/poplog/poplog.tar

And it'll eventually get merged into the larger linuxification kit
http://studentweb.cs.bham.ac.uk/~ug55aes/projects/poplog/linux-poplog...
I'm happy that it's safe to do so.

        - Andrew



Mon, 09 Sep 2002 03:00:00 GMT  
 forwarding message from Jonathan Cunningham (with comments)
[To reply replace "Aaron.Sloman.XX" with "A.Sloman"]

Quote:

> NNTP-Posting-Date: 23 Mar 2000 13:48:54 GMT


> > An alternative to having lots of environment variables in order to allow
> > parts of the directory tree to be changed for various purposes, while
> > sharing the rest, would be a mechanism for generating a copy of the
> > whole system made entirely of symbolic links to a "master" copy.
> > Then one could change bits of the copy by deleting the symbolic links
> > and replacing them with new versions of the files.
> > ....
> My RedHat 6.1 distribution has a program called lndir which seems to be for
> exactly this purpose :-)  I don't know how widely available this is in other
> flavours of UNIX though...

It's in Solaris. Thanks for the pointer.

And as you say it is clear from the man file that it was created for
the sort of purpose I mentioned.

Quote:
> >Now, will this cross the mail->news gateway and get into comp.lang.pop

> It seems to have worked :-)

Alas, it now seems that only files posted to pop-forum at Birmingham
get through that gateway. I have asked for this to be investigated.

Aaron



Wed, 11 Sep 2002 03:00:00 GMT  
 
 [ 5 post ] 

 Relevant Pages 

1. Forwarding message 22.03.00 from Jonathan Cunningham

2. Followup to message 22.03.00 from Jonathan Cunningham (fwd)

3. Fw: FWD: from Jonathan Cunningham about Macintosh implementations

4. news-relayFrom: jlc@uk.co.bmtech (jlc (Jonathan Cunningham))

5. How to retrive forwarded message from multipart message body

6. Call for Comments About Computing and the Future (forwarded)

7. Forwarded message from patterns mailing list...

8. forwarding message from Steve Leach re Running Pop-11

9. forwarded message suppressing write errors on sockets

10. Forwarded message: pop11 +popvision help

11. Forward OS/2 system messages

12. Problem with using method_missing to forward messages

 

 
Powered by phpBB® Forum Software