[plt-scheme] End-user instructions for upgrading single PLaneT package

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Mon May 18 10:04:18 EDT 2009

On Mon, May 18, 2009 at 8:51 AM, Neil Van Dyke <neil at neilvandyke.org> wrote:
> Robby Findler wrote at 05/18/2009 09:30 AM:
>>
>> I believe that the way it currently works, no. If you have a version
>> installed, you must specify a version number to avoid getting that
>> version. Of course, you could uninstall the version you have and then
>> a version number-less install would get the latest one.
>>
>
> This is for the SICP support ("http://www.neilvandyke.org/sicp-plt/"), in
> which I'm trying to keep the instructions simple.
>
> I found the "can-be-loaded-with" variable, so now uninstalling old versions
> is not necessary.  Now I only need a way to say "require the latest version
> that's in PLaneT, even if you already have a version installed."

The easiest thing to do would be to tell them to uninstall their
current version of sicp, ie:

  planet remove ...

much like what you suggest in the current docs.

> I'm thinking that, if user already has a version installed, then that
> version will have an "upgrade-sicp" procedure in the SICP language.  This
> procedure would automate going to PLaneT to find the latest version, doing a
> dynamic require of it, then instruct the user to restart DrScheme.
>
> There should also be a "Upgrade SICP" menu item.  (Without obvious HtDP
> jokes.)

I think you can do that using

  (this-package-version-maj)
  (this-package-version-min)

and remove-pkg from planet/util. Then a dynamic require will load the
new one (and will require the user to restart).

Robby


Posted on the users mailing list.