[racket-dev] package scopes

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Thu Jul 25 14:26:16 EDT 2013

Yes, because the user-specific place is always in PLTADDONDIR.

At Thu, 25 Jul 2013 14:20:36 -0400, Carl Eastlund wrote:
> 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
> >
> >

Posted on the dev mailing list.