This is triggered by an environment variable that points at a file that
is used to cache polling results. If the variable is not specified just
use all mirror links as usual. This way, for random builds when people
try things out there is no problem, while the nightly builds (and my
manual builds when there are changes) do the right thing.
The file holds information about the polls, and verifies that the
download exists -- if not, the link is not shown. If it is, then it
tries to get the size of the remote file (via HEAD or via FTP), and if
it doesn't match our download information, then drop it too. If no size
informaion is available, include it, but re-poll after a few days. Even
if the size matches, a re-poll will be done after a month, so stale
mirrors will not stick.
The windows 7 build generated some weird permission issues: the toplevel
directory had a 000 permission as well as all *.exe files. Looks like
it is due to how cygwin translates the permissions of the C:\ drive. A
way to get around this is to have a build directory with pre-set
permissions that cygwin likes, then have the build directory in it.
(This hack might be needed for the other build machine too at some point
in the future.)
Also add /c/Windows/system32 to the PATH, otherwise MS batch files fail
(with obscure errors).
Instead of downloading to the build directory and then copy files from
there to the target, download directly to the target. This way no
downloading is necessary when people use a fresh build directory.
For example, instead of "Linux - Fedora 7 (x86_64)", use "Linux x86_64
(Fedora 7)". Hopefully, this will make it clearer that it's often fine
to use some linux installer on a different platform than the one it was
made on. (For example, some people wanted an AMD64 build for Ubuntu,
and eventually it turned out that the x86_64 build on Fedora worked
fine.)
This is even more relevant now since the C part is much less platform
dependent in the linux distro sense.
necessary modules are now "all.rkt"s; "shard.rkt"s turn to
"resources.rkt".
Also, "navbar.rkt" changes to "all.rkt", since it was doing the same
thing (in addition to setting the navbar).
* Remove all uses iplt from svn, replaced with a new iplt repository in
git.
* The previous approach to patching pre html files wasn't robust enough,
in case of a problem in the web page build things could be left with
the raw html pages. Replace that with a better solution, which
generates the web pages earlier and then uses them to patch the html
files.
* Add the drracket.org redirection page to the distribution list.
* Fix a small bug in the git intro page css.