[pacman-dev] [PATCH 1/1] dload: unlink file on filesize exceeded error

Christian Hesse list at eworm.de
Thu Oct 9 07:51:51 UTC 2014


From: Christian Hesse <mail at eworm.de>

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


More information about the pacman-dev mailing list