<br><div class="gmail_quote">On Tue, Jan 19, 2010 at 5:01 PM, Robby Findler <span dir="ltr"><<a href="mailto:robby@eecs.northwestern.edu">robby@eecs.northwestern.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I'm not sure I'm quite getting what you want, but is using 'planet<br>
url' (via the planet commadline tool) sufficient?<br></blockquote><div><br><br>Sorry for being unclear. It's not about 'planet url'. <br><br>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. <br>
<br><div style="margin-left: 40px;">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 <br><br><div style="margin-left: 40px;"><a href="http://planet.plt-scheme.org/servlets/planet-servlet.ss">http://planet.plt-scheme.org/servlets/planet-servlet.ss</a>?<b>lang=%224.2.3%22</b>&name=%22base.plt%22&maj=1&min-lo=3&min-hi=%23f&path=%28%22bzlib%22%29<br>
</div><br>And if I strip the lang param out, which gives us <br><br><div style="margin-left: 40px;"><a href="http://planet.plt-scheme.org/servlets/planet-servlet.ss?name=%22base.plt%22&maj=1&min-lo=3&min-hi=%23f&path=%28%22bzlib%22%29">http://planet.plt-scheme.org/servlets/planet-servlet.ss?name=%22base.plt%22&maj=1&min-lo=3&min-hi=%23f&path=%28%22bzlib%22%29</a><br>
</div>
<br>Passing the stripped url I get the following as a response instead of the package itself <br><br><div style="margin-left: 40px;">"Binding for lang had improper format"<br></div><br></div>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.<br>
<br>I can currently think of the following ways to solve this issue - there probably are other ways I have not thought of, of course:<br><ul><li>Through planet server <br></li><ul><li>Enable "lang-less" download <br>
</li><ul><li>Either expose the directory structure where the plt files are held through the web server, or <br></li><li>Modify the servlet so lang becomes optional <br></li></ul><li>Provide an API to query for minimum version necessary for each plt file (this still requires one additional round trip) <br>
</li></ul><li>Through my mirroring client <br></li><ul><li>Try all mzscheme version number to see which one works (brute force) <br></li></ul></ul></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
The .plt files are all there, but they aren't in a place that is<br>
served by the web server. I looked quickly into changing that; it<br>
isn't trivial, but it is certainly doable if 'planet url' isn't<br>
sufficient.<font color="#888888"></font><br></blockquote><div><br>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.<br>
<br>Let me know if I need to provide additional clarifications. Thanks,<br>yc<br><br></div></div>