summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/libalpm/add.c40
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: