Subject: bug#22745: guix http downloads don't resume

From: [email-masked] (Ludovic Courtès)
Date: Fri, 25 Mar 2016 09:35:12 +0100

Danny Milosavljevic <[email-masked]> skribis:

> By now, guix reconfigure has tried to download the same texlive binary from hydra at least 5 times to the same machine, unsuccessfully breaking after about 1 GB each, for a total of 5 GB, always starting from the beginning.
>
> Would it be possible to just resume?

There does not seem to be an easy way to achieve this.

> Additionally, it doesn't seem like it checks the Content-Length in order to find out whether the connection broke before the file was done. Why doesn't it?

For archives (the /nar/foo URLs), there is currently no ‘Content-Length’
header at all (this is because Hydra, the software, generates those
files on the fly; we should tweak nginx to add a ‘Content-Length’
header, but this seems to require an external nginx plugin.)

However, the {mirror.,}hydra.gnu.org use chunked encoding, indeed, which
allows the HTTP client to detect truncated transfers.

Ludo’.