[racket] Serving multiple, read-only Racket versions?

From: Jukka Tuominen (jukka.tuominen at finndesign.fi)
Date: Mon Oct 24 16:50:46 EDT 2011

Sorry, meant to reply to the list, also :)

-----Original Message-----
From: Jukka Tuominen [mailto:jukka.tuominen at finndesign.fi]
Sent: 24 October 2011 22:52
To: Neil Van Dyke
Subject: RE: [racket] Serving multiple, read-only Racket versions?

> -----Original Message-----
> From: Neil Van Dyke [mailto:neil at neilvandyke.org]
> Sent: 24 October 2011 20:06
> To: Jukka Tuominen
> Cc: users at racket-lang.org
> Subject: Re: [racket] Serving multiple, read-only Racket versions?
> Jukka Tuominen wrote at 10/24/2011 12:06 PM:
> > I wonder if it's possible to place multiple, read-only Racket
> versions on a
> > server and have users executing them directly without needing to install
> > them individually? I think this is possible, but I'd like to
> know for sure
> > that it won't cause any unexpected problems.
> Yes, I have been doing this for years, including on production servers,
> by building with the "--prefix" argument to "configure".

Great, I'll look into that. I'll propably build them locally first and then
move to AFS tree to prevent any large scale suprises.

For example,
> on this laptop, at the moment, I have:
> ls -ld /usr/local/racket-*
> drwxr-sr-x 6 root staff 4096 Sep 29 08:55 /usr/local/racket-5.1.2
> drwxr-sr-x 6 root staff 4096 Sep 25 06:21 /usr/local/racket-5.1.3
> drwxr-sr-x 6 root staff 4096 Sep 26 18:32 /usr/local/racket-
> drwxr-sr-x 6 root staff 4096 Oct 10 23:56
> /usr/local/racket-

Neat and tidy :) It seems that PLT/Racket folks have given this much more
thought than an average project.

> (Eli has a somewhat different way of accomplishing this same thing; you
> might prefer to search the mail archive for his way.  This has come up
> multiple times before.)

Will do, thanks

> > Does this sound feasible? I understand that initial PLaneT libraries may
> > take time to download and are placed into home directory
> (version handled?).
> My understanding is... Yes, the PLaneT libraries are installed in the
> user's home directory.  Each such PLaneT package's installation is
> specific to the Racket version by which it was installed, and multiple
> such versions can be installed simultaneously.  Note that these Racket
> version numbers are the official Racket version numbers, not any other
> version number you might use in directory names in "/usr/local".

Good to know. I think this is less of a problem/inconvenience, since this is
automatic and hidden from a basic user. As long as you can trust it to deal
with itself.

> > One possible threat is to manipulate source code with a newer program
> > version and make it inaccessible thereafter for the older versions?
> You will have to look closely at security.  Depending on the nature of
> your system, the current version of PLaneT might not be secure enough
> as-is.  If it's not secure enough, but you still desire to use it in
> some way, you could layer your own security atop it.  You could also
> talk with PLT people and me about how the next big version of PLaneT
> could address the specific issues you see.
> --
> http://www.neilvandyke.org/

So far, I have no idea what the new PLaneT will be like, but I'll keep that
in mind. Apart from the core Liitin engine and consistent interface, I'd
rather provide both Racket and PLaneT libraries "as intented by the author",
which is the policy with other software within Liitin as well.

br, jukka

Posted on the users mailing list.