FS#57889 - Corrupted repo after failed sync should be deleted automatically

Attached to Project: Pacman
Opened by Adam Nielsen (Malvineous) - Monday, 19 March 2018, 00:13 GMT
Last edited by Allan McRae (Allan) - Monday, 19 March 2018, 03:30 GMT
Task Type Bug Report
Category General
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version 5.0.1
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


Summary and Info:

If the repository sync fails (e.g. you're behind a captive portal) then "pacman -Sy" stops working.

Steps to Reproduce:

1. Go behind a captive portal (where downloading any file results in receiving a HTTP redirect to a login page.)
2. Run "pacman -Sy"
3. Receive error: error: failed retrieving file 'core.db.sig' from [xxx] : expected download size exceeded
4. Log in to the portal (so downloads work again)
5. Run "pacman -Sy"
6. Pacman will never try to re-download the failed repository, even though it's in an invalid state (missing signature, repo file corrupted as it contains a HTML login page instead). Pacman will thus always fail when trying to update software, as the repo file is corrupt. With the sync never updating the corrupted repo file, and pacman refusing to run, pacman becomes unusable.

It would be nice if, upon sync failure, that repository file was removed so that the next "pacman -Sy" would try to download it again.

At the moment, a workaround of "pacman -Syy" does resolve the problem, although it does re-download the other repositories that were not corrupted by the original sync.
This task depends upon

Closed by  Allan McRae (Allan)
Monday, 19 March 2018, 03:30 GMT
Reason for closing:  Duplicate
Additional comments about closing:  FS#46107