Welcome to the Pacman bug tracker. Please search the current bugs and feature requests before filing a new one! Use advanced search and select "Search in Comments".

* Please select the correct category and version.
* Write a descriptive summary, background info, and provide a reproducible test case whenever possible.

FS#67865 - Download progress not shown when using Cloudflare mirrors

Attached to Project: Pacman
Opened by Yuval Adam (yuvadm) - Thursday, 10 September 2020, 10:53 GMT
Last edited by Eli Schwartz (eschwartz) - Thursday, 10 September 2020, 11:10 GMT
Task Type Bug Report
Category Arch Projects
Status Unconfirmed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No



Cloudflare have recently launched a new mirror service -

To the best of my understanding they simply mirror the existing mirrors and serve them from their CDN.

When using their mirror service, pacman doesn't output any package download progress. This is most likely due to missing Content-Length headers in the response.

At the very least, it would be better to gracefully degrade and at least show which packages are *currently* being downloaded, even if the specific package progress is missing.

Additional info:
* pacman 5.2.2

Steps to reproduce:
1. Add Server =$repo/os/$arch to your mirrorlist
2. pacman -Syu
This task depends upon

Comment by Eli Schwartz (eschwartz) - Thursday, 10 September 2020, 11:10 GMT
  • Field changed: Attached to Project (Arch Linux → Pacman)
Moving to dedicated pacman project.
Comment by Eli Schwartz (eschwartz) - Thursday, 10 September 2020, 11:13 GMT
Their mirror sucks.
error: failed retrieving file '.......' from : HTTP server doesn't seem to support byte ranges. Cannot resume.

pacman 5.2.2 *does* show download progress, but pacman from git doesn't. pacman from git also doesn't emit errors for the failing byte range.
Comment by Eli Schwartz (eschwartz) - Thursday, 10 September 2020, 11:22 GMT
Actually what. pacman, both from git and stable, only shows progress *iff* it tried to continue a previous download (and failed).

pacman from git will still show this, though:

<foo>-x86_64.pkg.tar.zst downloading...

Then reports the average at the end.

pacman stable merely quietly shows nothing for them.
Comment by Yuval Adam (yuvadm) - Thursday, 10 September 2020, 11:24 GMT
Yep that's similar to the behavior I'm seeing. Regardless of how shitty the CF quasi-mirror is, seems pacman can still handle this edge case better.
Comment by Eli Schwartz (eschwartz) - Thursday, 10 September 2020, 11:51 GMT
Yes. Cloudflare is only good at one thing -- breaking the correct functioning of the internet -- but they do provide a valuable role in fuzzing our programs by throwing junk at them and seeing what breaks.

This is definitely broken somehow. Though, the worst breakage -- the completely silent failure to report anything -- is incidentally fixed due to the parallel download rewrite.