Install unchanged backup files to get correct timestamps.

Fixes FS#35515.

Signed-off-by: Allan McRae <allan@archlinux.org>
This commit is contained in:
Patrick Steinhardt 2013-06-04 11:20:14 +02:00 committed by Allan McRae
parent 93f9052557
commit d7d4f47d63
1 changed files with 7 additions and 5 deletions

View File

@ -309,11 +309,13 @@ static int extract_single_file(alpm_handle_t *handle, struct archive *archive,
_alpm_log(handle, ALPM_LOG_DEBUG, "original: %s\n", hash_orig);
if(hash_local && hash_pkg && strcmp(hash_local, hash_pkg) == 0) {
/* local and new files are the same, no sense in installing the file
* over itself, regardless of what the original file was */
_alpm_log(handle, ALPM_LOG_DEBUG,
"action: leaving existing file in place\n");
unlink(checkfile);
/* local and new files are the same, updating anyway to get
* correct timestamps */
_alpm_log(handle, ALPM_LOG_DEBUG, "action: installing new file: %s\n",
entryname_orig);
if(try_rename(handle, checkfile, filename)) {
errors++;
}
} else if(hash_orig && hash_pkg && strcmp(hash_orig, hash_pkg) == 0) {
/* original and new files are the same, leave the local version alone,
* including any user changes */