Yes, what you describe is what we imagine "migrate" will do. Jay
On Sat, Dec 1, 2012 at 4:10 PM, Eli Barzilay <e...@barzilay.org> wrote: > Yesterday, Matthew Flatt wrote: >> I've been working with Jay on a few more changes: >> >> Specifying metadata >> ------------------- >> >> "METADATA.rktd" is being replaced with "info.rkt", which is written in >> the `setup/infotab' language as usual. >> >> Define `deps' for dependencies, like this: >> >> #lang setup/infotab >> (define deps (list _package-source ...)) >> >> For a short transition period (maybe a week?), `raco pkg' will continue >> to recognize "METADATA.rktd". >> >> >> Version-specific installation >> ----------------------------- >> >> Package installation is now both user-specific and version-specific >> by default. The options are >> >> * installation-specific >> >> * user-specific and version-specific (the new default) >> >> * user-specific and all-version (the old default) >> >> Use the `--shared' or `-s' flag to get the old all-version behavior. >> Any previously installed user-specific packages that you have are still >> in `--shared' mode. >> >> Not to speak too much on Jay's behalf, but I think he isn't convinced >> that the new default is right. If `--shared' is the default, then a >> `raco pkg update' could be enough to get all your installed packages >> working with a new version. If installation is instead >> version-specific, then you have to reinstall every package that you use >> whenever you upgrade. >> >> I think that if installation is all-version by default, then users >> who are going to end up with bad configurations that they have >> trouble repairing. A better way to deal with upgrades would be >> something like `raco pkg migrate'. > > Just to see if I get the trade-offs right: all-version installs have > the advantage of not re-installing things, and the disadvantage of > breaking often (for some value of "often")? > > If so, then something that I think is getting popular is keeping a > (global) list of all explicitly installed packages, and then the > version-specific installs get much easier to deal with because it's > easy to crawl over the explicit names and re-install name. Having > this only for explicit names meams that I don't need to reinstall old > stuff that was installed only for some other package. > > (But perhaps this is what you talk about with that `migrate' command. > If so, then this is just a verbose +1.) > > -- > ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay: > http://barzilay.org/ Maze is Life! > _________________________ > Racket Developers list: > http://lists.racket-lang.org/dev -- Jay McCarthy <j...@cs.byu.edu> Assistant Professor / Brigham Young University http://faculty.cs.byu.edu/~jay "The glory of God is Intelligence" - D&C 93 _________________________ Racket Developers list: http://lists.racket-lang.org/dev