[racket-dev] package scopes

From: Carl Eastlund (cce at ccs.neu.edu)
Date: Thu Jul 25 14:20:36 EDT 2013

I currently use PLTADDONDIR to make each repo's packages install to a
different place, within the repo tree, so that they're both separate, and
get cleaned up if and when I remove the repo.  Will that still work with
these changes?

Carl Eastlund


On Thu, Jul 25, 2013 at 1:59 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:

> We currently have three packages scopes:
>
>  * 'installation --- specific to an installation of Racket, where
>     package files are written into the installation (for all users of
>     the installation)
>
>  * 'user --- specific to a user and version, where packages files are
>     written to a user-specific location
>
>  * 'shared --- specific to a user, but not to a version of Racket
>
> I think we should change to two:
>
>  * 'installation --- like now
>
>  * 'user --- specific to a user and "installation", but where
>     installations are identified by a configurable name (as opposed to,
>     say, the installation's path)
>
> That is, every installation has a name. For a release, the name
> defaults to the release version. For a snapshot, the name defaults to
> "snapshot" --- which means that when you throw away your snapshot and
> install a new one, then you keep your package installations.
> (Distributors of releases and snapshots can adjust the default,
> obviously.) For a repository checkout, the name defaults to "checkout"
> --- which means that you keep your package installations when you `git
> pull' and the version changes.
>
> An installation name would be stored in the same configuration file
> that is used for package catalogs. A user who wants multiple snapshot
> installations, git-repo checkouts with different package sets, or
> multiple installations of Racket v6.0 can adjust one installation's
> name in its configuration. Similarly, a user who really wants to share
> packages between Racket v6.0 and v6.1 can give the installations the
> same name.
>
> I think this change would make the 'user installation scope the right
> default for pretty much everyone, instead of trying to make the default
> 'user under some circumstances and 'installation in others. I think it
> also covers the goal of 'shared better than 'shared does.
>
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/dev/archive/attachments/20130725/07b9b3c3/attachment.html>

Posted on the dev mailing list.