Re: shroud 2.5a Linux

new topic     » goto parent     » topic index » view thread      » older message » newer message

Robert Craig wrote:
> 
> Kenneth Rhodes wrote:
> > It would be a nice little touch, but what would really be the 
> > icing on the cake would be if the shroud program could automatically,
> > add the #!/EUDIR/bin/backendu/. I suppose that if you
...
> Good idea.
> I'll do that.

Supposing I'm on a Linux system. Somebody has {compiled, shrouded, etc} 
a program, and they want me to use it. If the "recognizing" line said
"/home/foobar/eric", then I probably would not be able to run the program.

(I SHOULD NOT have the right to run /home/foobar/eric/Eu-backend
if I am the /home/foobar/georg/---whatever.)

So, some knowledge about how to tackle this issue is mandatory.

Sorry to say, but at this hour (in my home town), I'll not be able
to present a workable solution. Still, this is a major issue.

Along the same line of thought, you might have exactly _two_ kinds
of people trying to install Euphoria. One: they are the "root" 
( equals the super user ) and once they install, Euphoria will be
accessible to anyone on the machine. Two: a single user (who does
not have access to "root" rights) tries to install Euphoria.

I assume, (perhaps incorrectly) that Rob is no Unix guru. (No
problem -- you don't have to be Guru at everything just because
you are the Guru at something.)

So, what we need are two things: First, a shell script / .bat file
that can decide whether the Installing User is Privileged or not,
and, Second, be able to see the difference on whether the 
installation is attempted on a Unix or Widows (or maybe a DOS-32)
machine.

This gives all-in-all 6 different situations. If Rob wants, I'll
be happy to help with this issue.

The main goal is to have a package (whether .zip, .gz, etc.) and
everybody can just download the same package. Writing Install on
the command line would cause the right script to be run, recog-
nizing the particular environment, and doing a "system-wide" 
install, or a "per user" install.

This package might contain a Readme that is aimed towards the
System Administrator. It would convince him of having Euphoria
as another "system language", just as Perl, Python, Lua, and 
others have become lately. This would not be such a surprise,
for the seasoned admin would already recognize sh, ash, csh, 
bash, perl, python, PostScirpt, lua, awk, tr, -- and some I've 
forgotten, as already established System Languages.

------------

So, what should be written on the "#!" line? 

This should contain two things: first, the possible place where
Euphoria would be installed if done by the Admin. Second, if 
Euphoria is not found there, then the $PATH environment variable
would be searched. In such an order that for every entry in it,
the Euphoria standard (relative) paths would be searched.

A few examples:

On a linux machine, read my interaction:

my_Unix: which perl
/usr/bin/perl
my_Unix: which cpp
/usr/bin/cpp
my_Unix: which Euphoria
/usr/bin/Euphoria
my_Unix: locate lib |grep perl | "your_favourite_pager_here"
...
/usr/lib/rpm/find-requires.perl
/usr/lib/rpm/perl.prov
/usr/lib/rpm/perl.req
/usr/lib/rpm/perldeps.pl
/usr/lib/perl5
/usr/lib/perl5/5.8.0
/usr/lib/perl5/5.8.0/CGI
/usr/lib/perl5/5.8.0/CGI/Cookie.pm.newcgi
...
my_Unix: 

And so on. So there is a "predermined" place for
all (even previously not-thought-of) libraries.
If a super user does the install, then the files
go there, and if a "loser" installs, then they 
go to his own directory hierarchy.

HAVING UNDERSTOOD THIS, it gets pretty easy to 
figure out, how and where to install all the 
necessary files on Windows -- depending on 
whether you are a (crap, now I forget the terms
Windows uses) Privileged or Just Another user.

SUMMARY: "/home/eric/cool/" is not the thing we
want on the first line of {regular|shrouded|
compiled} works.

-- Another Euphoric, since Nov. 18, 2004 --

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu