From: Christian Hesse <[email protected]>

On filesize exceeded error pacman leaves a .part file in cache dir,
resulting in this error on next try:

error: failed to commit transaction (wrong or NULL argument passed)
Errors occurred, no packages were upgraded.

Unlink the file on error to avoid this.
---
 lib/libalpm/dload.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index c5a56b5..01fe57e 100644
--- a/lib/libalpm/dload.c
+++ b/lib/libalpm/dload.c
@@ -492,6 +492,7 @@ static int curl_download_internal(struct dload_payload 
*payload,
                        /* handle the interrupt accordingly */
                        if(dload_interrupted == ABORT_OVER_MAXFILESIZE) {
                                payload->curlerr = CURLE_FILESIZE_EXCEEDED;
+                               payload->unlink_on_fail = 1;
                                handle->pm_errno = ALPM_ERR_LIBCURL;
                                /* use the 'size exceeded' message from libcurl 
*/
                                _alpm_log(handle, ALPM_LOG_ERROR,
-- 
2.1.2

Reply via email to