Opened 13 years ago

Last modified 13 years ago

#29683 closed defect

Failed downloads still marked as completed — at Version 1

Reported by: joe@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: base Version: 1.9.2
Keywords: Cc:
Port:

Description (last modified by ryandesign (Ryan Carsten Schmidt))

When macports fails to download a file correctly (but does receive something, eg an html file due to a misconfigured proxy), the download is still marked as completed and does not get re-attempted, see log section:

--->  Dependencies to be installed: py27-distribute py27-numpy atlas gcc44 gcc_select gzip fftw-3 py27-nose
DEBUG: Starting logging for py27-distribute
DEBUG: Executing org.macports.main (py27-distribute)
DEBUG: Skipping completed org.macports.fetch (py27-distribute)
--->  Verifying checksum(s) for py27-distribute
DEBUG: checksum phase started at Thu Jun  2 09:31:26 BST 2011
DEBUG: Executing org.macports.checksum (py27-distribute)
--->  Checksumming distribute-0.6.18.tar.gz
Error: Checksum (md5) mismatch for distribute-0.6.18.tar.gz
Portfile checksum: distribute-0.6.18.tar.gz md5 9c9d7489136fe8b57950dd827c979fff
Distfile checksum: distribute-0.6.18.tar.gz md5 e5bc1e56c435da931fc3121aaa130397

Because of this, subsequent attempts to install this file assume the download has already completed and skip direct to the checksum phase which will obviously fail.

Similarly deleting the file still assumes the download is successful, so the checksum phase again fails this time because the file is not present at all.

The download *should* never be considered as completed until the checksum has been verified! If a download fails, subsequent installation attempts should delete the corrupted file and try again to download (allowing the user to correct the problem in between).

There is no obvious way to force a redownload of the file.

Change History (1)

comment:1 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)

Component: portsbase
Description: modified (diff)
Note: See TracTickets for help on using tickets.