[racket-dev] package-system update

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Sun Jul 14 09:02:28 EDT 2013

First, thanks for the very informative update.

On Sat, Jul 13, 2013 at 2:56 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> [Guess:] The "Racket" and "Minimal Racket" distributions might point
> to different pre-built package catalogs. Possibly, the "Racket"
> catalog never updates packages that were included in the installer (on
> the grounds that the user may not have write permission to the
> install), while the "Minimal Racket" catalog includes more frequent
> updates for bug fixes (on the grounds that the user can update any
> installed package).

I'm not 100% sure what you mean about "different pre-built package
catalogs" but I definitely feel that we should just have one site like
`pkg.racket-lang.org` where people go to see what packages they might
install in their Racket installation.  This comes back to the point
you make below about how technology, here the package server, can keep
a distributed community together.

> ** Using the bleeding edge as a PLT developer
>
> As a convenience to PLT developers, who tend to work on a particular
> set of packages, there is an alternate way of working on the bleeding
> edge (which anyone can use, if they prefer).
>
> [Guess #1:] Instead of cloning the core Racket repo, clone a "main
> distribution" repo that has the core Racket repo as a submodule, plus
> git submodules for each of the packages that are dependencies of
> "main-distribution". In other words, you get something that looks like
> the current Racket repo, but that uses git submodules.
>
> [Guess #2:] Instead of cloning the core Racket repo from GitHub, you
> clone from the "main distribution" repository, just like now. In
> addition to being mirrored to GitHub directly, individual parts of the
> "main distribution" repo are mirrored as GitHub repositories, and
> the mirrors are the ones that "pkg.racket-lang.org" references.

Guess #2 seems to have a lot more complicated working parts, and it
seems like it would prevent us from actually using github for the all
the repositories -- ie, that we'd have to keep running our own git
server.

Finally, can you say anything about whether you anticipate the release
process changing?  Would it be possible to decouple the core Racket
releases from, say, the Typed Racket releases, with a release of the
whole system bundling specific versions of everything?

Sam

Posted on the dev mailing list.