diff options
Diffstat (limited to 'lib/libalpm')
-rw-r--r-- | lib/libalpm/add.c | 40 |
1 files changed, 13 insertions, 27 deletions
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c index d4f77185..0a63566b 100644 --- a/lib/libalpm/add.c +++ b/lib/libalpm/add.c @@ -286,7 +286,7 @@ static int extract_single_file(alpm_handle_t *handle, struct archive *archive, len = strlen(filename) + 10; MALLOC(checkfile, len, errors++; handle->pm_errno = ALPM_ERR_MEMORY; goto needbackup_cleanup); - snprintf(checkfile, len, "%s.paccheck", filename); + snprintf(checkfile, len, "%s.pacnew", filename); if(perform_extraction(handle, archive, entry, checkfile)) { errors++; @@ -331,35 +331,21 @@ static int extract_single_file(alpm_handle_t *handle, struct archive *archive, errors++; } } else { - /* none of the three files matched another, unpack the new file alongside - * the local file */ - char *newpath; - size_t newlen = strlen(filename) + strlen(".pacnew") + 1; - + /* none of the three files matched another, leave the unpacked + * file alongside the local file */ + alpm_event_pacnew_created_t event = { + .type = ALPM_EVENT_PACNEW_CREATED, + .from_noupgrade = 0, + .oldpkg = oldpkg, + .newpkg = newpkg, + .file = filename + }; _alpm_log(handle, ALPM_LOG_DEBUG, "action: keeping current file and installing" " new one with .pacnew ending\n"); - - MALLOC(newpath, newlen, - errors++; handle->pm_errno = ALPM_ERR_MEMORY; goto needbackup_cleanup); - snprintf(newpath, newlen, "%s.pacnew", filename); - - if(try_rename(handle, checkfile, newpath)) { - errors++; - } else { - alpm_event_pacnew_created_t event = { - .type = ALPM_EVENT_PACNEW_CREATED, - .from_noupgrade = 0, - .oldpkg = oldpkg, - .newpkg = newpkg, - .file = filename - }; - EVENT(handle, &event); - alpm_logaction(handle, ALPM_CALLER_PREFIX, - "warning: %s installed as %s\n", filename, newpath); - } - - free(newpath); + EVENT(handle, &event); + alpm_logaction(handle, ALPM_CALLER_PREFIX, + "warning: %s installed as %s\n", filename, checkfile); } needbackup_cleanup: |