[racket-dev] main-repo packages on pkg.racket-lang.org

From: Greg Hendershott (greghendershott at gmail.com)
Date: Sat Aug 17 14:07:11 EDT 2013

Very cool.

It seems to me this motivates some changes to the
https://pkg.racket-lang.org/ UX:

1. The tag "main-distribution" ought to be privileged/restricted. As a
3rd party dev I shouldn't be allowed to assign that tag to one of my
packages and trick people into installing it along with the others.

2. If I want to browse for interesting third-party packages, now I
will want the ability to search for `NOT <tag>`. For example to see
all packages _except_ those tagged "main-distribution". (Of course
that starts down the slippery slope of also wanting AND and OR
operators and parentheses. /me ducks.)



On Fri, Aug 16, 2013 at 6:47 PM, Matthew Flatt <mflatt at cs.utah.edu> wrote:
> All of the packages in the main repository are now listed on
> pkg.racket-lang.org. They have tags like "main-distribution" (for
> packages that are in the main distribution) and "main-tests" (for tests
> that are not in the distribution, but are for main-distribution code).
>
>
> If you try to install any of the packages in v5.3.6 or earlier, you get
> an empty package. The intent is that other packages can now declare
> proper dependencies for v5.90.x, and the dependency declaration won't
> break the package for v5.3.6 users.
>
>
> Meanwhile, with v5.90.x, you could build with just `make base' and then
> install more with, say,
>
>  raco pkg install -i main-distribution
>
> For now, there's no advantage to doing that compared to just using
> `make PKGS=...'; you get everything with a git checkout, anyway. In the
> future, that might be closer to the way things work, and now we can
> experiment with that mode.
>
>
> The source for each package is an S3-hosted ".zip" file. Those sources
> are put in place by a periodic task that pulls from github, creates
> individual "zip" files, uploads to S3, and updates pkg.racket-lang.org.
> Currently, the job runs on a machine every 15 minutes (on the hour, 15
> minutes after, etc.). We'll see how that works out, and probably we'll
> make it more reliable by having multiple machines check for updates ---
> including one triggered by notifications from Github. In any case,
> copying from the git repo to ".zip" files is expected to be a stop-gap
> until we're ready to split the main repository (which is some time
> away, I think).
>
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev

Posted on the dev mailing list.