lib/sync: ignore download errors for as long as possible
commit5fc3ecf7f8807c47aeab798f1f496a3fc02b8f69
authorDave Reisner <dreisner@archlinux.org>
Mon, 15 Aug 2011 17:43:34 +0000 (15 13:43 -0400)
committerDan McGee <dan@archlinux.org>
Mon, 15 Aug 2011 19:54:21 +0000 (15 14:54 -0500)
tree03d5c43dab881b1c9ae212a01135b627b0ca93e2
parent796eaaed4064c36e3dd45178b2584115279a482e
lib/sync: ignore download errors for as long as possible

Previously, the behavior was such that if a sync operation required
packages from multiple repos, a download error in the first repo would
cause a hard repo, ignoring the remainder of the repositories. Change
this behavior so that we do a better job of fetching as many packages as
possible before aborting the transaction.

There's a little bit of refactoring mixed in here to get rid of some
useless variables. Since we now depend heavily on the value of
handle->pm_errno being accurate the determine the function's return
value, we clear it when the transaction state is set.

Fixes FS#25532.

Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
lib/libalpm/sync.c