1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-11-12 04:15:06 -05:00

Fix a serious bug in the download code

After commit df99495b82 pacman downloaded files from the first repo only,
and reported corrupted packages for all files from other repos.

The download_size was set to 0 for _all_ transaction packages after
downloading some files from the first repo. This code-block was moved to its
correct place.

Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
Nagy Gabor 2010-05-14 21:58:31 +02:00 committed by Dan McGee
parent f03f09011f
commit 25cd6c2e8d

View File

@ -857,12 +857,6 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
EVENT(trans, PM_TRANS_EVT_RETRIEVE_START, current->treename, NULL); EVENT(trans, PM_TRANS_EVT_RETRIEVE_START, current->treename, NULL);
errors = _alpm_download_files(files, current->servers, cachedir); errors = _alpm_download_files(files, current->servers, cachedir);
for(j = trans->add; j; j = j->next) {
pmpkg_t *pkg = j->data;
pkg->infolevel &= ~INFRQ_DSIZE;
pkg->download_size = 0;
}
if (errors) { if (errors) {
_alpm_log(PM_LOG_WARNING, _("failed to retrieve some files from %s\n"), _alpm_log(PM_LOG_WARNING, _("failed to retrieve some files from %s\n"),
current->treename); current->treename);
@ -875,6 +869,12 @@ int _alpm_sync_commit(pmtrans_t *trans, pmdb_t *db_local, alpm_list_t **data)
} }
} }
for(j = trans->add; j; j = j->next) {
pmpkg_t *pkg = j->data;
pkg->infolevel &= ~INFRQ_DSIZE;
pkg->download_size = 0;
}
/* clear out value to let callback know we are done */ /* clear out value to let callback know we are done */
if(handle->totaldlcb) { if(handle->totaldlcb) {
handle->totaldlcb(0); handle->totaldlcb(0);