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.
See in-code comments for how this is just a rough feature to be used if
needed (and improved when it becomes necessary). That can just as well
go to the FIXME of using a string constant.
* Add captcha url (unused, yet)
* The second argument to `call/input-url' can be a one-argument function
since the call doesn't send it any headers.
Still needs to be done: check the HTTP response for an error status, and
make it fail as a result (currently it just assumes that any response is
fine, which can change in case of a captcha failure). Then, add a
captcha challenge if one is found, otherwise ignore.
This makes it correspond to the license page we have on downloads that
talks about the "lesser" GPL rather than the "library" one.
Also, change the file name to have a more friendly .txt suffix, and add
some more responsible properties for things in doc/release-notes.
Also get rid of the defunct "chronology" link at the bottom of the
community page. It was a very old (pre-svn/git) leftover from a time
where that was relevant for people who want to participate.
Done in two steps: first, make the list of installers have a good order
(determined by package, then OS type, then cpu, etc); make the JS code
that re-sorts the entries move only the desired options to the top but
otherwise use the original order (which is the previous thing).