[racket-dev] Planet 2 Beta Release

From: Eli Barzilay (eli at barzilay.org)
Date: Thu Nov 8 15:48:04 EST 2012

20 minutes ago, Jay McCarthy wrote:
> > * I think tying to GitHub is a mistake -- the system should work
> > for for arbitrary Git repositories.  Having a short syntax for
> > github is great, though.  Additionally, we should support fixing a
> > checksum for a package.  The npm docs have a similar list of
> > things that can be installed here:
> > https://npmjs.org/doc/install.html
> 
> Github automatically generates zip/tgz files. Planet 2 knows nothing
> about Github other than this and the URL structure of their site to
> get them and the checksums.

This is something that many (probably all) git places do -- and even
the gitweb script that we're using on git.racket-lang.org knows how to
do.  (See the "zip" and "tar.gz" links.)  In any case, since this is
just a URL format thing, it should be easy to put it in some place
that could be easily extended for other places, and possibly
pluggable.


> If you'd like to implement general git support, I think that would
> be great, but it is more work than I have time to do. I can point
> you in the right direction.

If you have a "git" command, then it's a simple matter of using "git
archive".  There's some robust git looking in the repo-time-stamp
collection that could be lifted up for this.


> > * I think we should drop the `.plt` archive format entirely.
> 
> It is the default because Racket can create it and unarchive it
> natively.  If someone implements a native Racket zipper/unzipper,
> that would be great. My understanding is that this is on Eli's todo
> list and when it is done, it would be great to change Planet 2's
> default.

How about requiring a format for now, to avoid changing the default
later?


> The checksum can't be in the metadata because the metadata is in the
> archive, but you need to be able to get the checksum without getting
> the archive.

(Is the checksum only needed for detecting updates?  If so, then why
not use just the timestamp?)


> > * Similarly, the names of the special files could avoid ALL-CAPS,
> > and I'd go with the name 'package' rather than `metadata`.
> 
> I have no preference about this shed color. If others feel strongly,
> it can change.

I do.  It would be better IMO to look at existing packagers and reuse
some of their conventions.  (I know that at least the chrome packages
have similar things, and I liked their design.)


> > * In section 3.1, you should have 'git push -u origin master'.
> 
> This is directly from the Github docs:
> https://help.github.com/articles/create-a-repo

Using -u is much better.  The reason it is not in the github page is
possibly that they're aiming at ancient git versions that didn't have
it.  (IIRC, when we migrated to git this option was new, and should be
safe to assume that everyone has it now...)  (Also, I'm not sure how
well they maintain those help pages -- they had a few more educational
projects since we migrated, and recently there's something even more
ambitious.)


> > * I thought the conclusion of a recent discussion on dev@ was that
> > tests, typed, etc sub-collections *are* preferred.
> 
> I think I missed this conversation.  I don't understand the
> conclusion given that we don't want to always distribute tests, for
> example.

It should be possible to distribute the separate parts regardless of
where they are.  The thing is that with a single directory management
of code is much easier.  Eventually, many of the collections in the
current tree should move out into their own repositories.

-- 
          ((lambda (x) (x x)) (lambda (x) (x x)))          Eli Barzilay:
                    http://barzilay.org/                   Maze is Life!

Posted on the dev mailing list.