planet proxy/mirror ==> Re: [plt-dev] Fwd: [plt-scheme] Download links in PLaneT

From: YC (yinso.chen at
Date: Tue Jan 19 21:36:22 EST 2010

On Tue, Jan 19, 2010 at 5:01 PM, Robby Findler
<robby at>wrote:

> I'm not sure I'm quite getting what you want, but is using 'planet
> url' (via the planet commadline tool) sufficient?

Sorry for being unclear.  It's not about 'planet url'.

Basically the planet servlet appears to expect a parameter called "lang",
which is set to the current version number.  And planet does not download a
package if the version number does not match the package's criteria.

For example - with v4.2.3, if I run 'planet url bzlib base.plt 1 3' I get
the following url with a lang parameter*lang=%224.2.3%22*

And if I strip the lang param out, which gives us

Passing the stripped url I get the following as a response instead of the
package itself

"Binding for lang had improper format"

Lang criteria is great for ensuring mzscheme downloading a package that
matches its version, but this does not work well for mirroring, which simply
tries to download all packages without caring about the versions.

I can currently think of the following ways to solve this issue - there
probably are other ways I have not thought of, of course:

   - Through planet server
   - Enable "lang-less" download
      - Either expose the directory structure where the plt files are held
         through the web server, or
         - Modify the servlet so lang becomes optional
         - Provide an API to query for minimum version necessary for each
      plt file (this still requires one additional round trip)
      - Through my mirroring client
   - Try all mzscheme version number to see which one works (brute force)

The .plt files are all there, but they aren't in a place that is
> served by the web server. I looked quickly into changing that; it
> isn't trivial, but it is certainly doable if 'planet url' isn't
> sufficient.

I was hoping this can be a trivial change - wasn't trying to create work for
you ;)  If it's too much effort I can go with the brute force method until
you can look into it.

Let me know if I need to provide additional clarifications.  Thanks,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

Posted on the dev mailing list.