From af357d6ab00d8ca258dfd7abb689d6fd2eb4090f Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 14 Jul 2011 15:32:03 -0500 Subject: Allow fileconflict if unowned file moving into backup array The bulk of this commit is adding new tests to ensure the new behavior works without disrupting old behavior. This is a relatively sane maneuver when a package adds a conf file (e.g. '/etc/mercurial/hgrc') that was not previously in the package, but it is placed in the backup array. In essence, we can treat the existing file as having always been a part of the package and do our normal compare/install as pacnew logic checks. Signed-off-by: Dan McGee --- lib/libalpm/backup.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'lib/libalpm/backup.c') diff --git a/lib/libalpm/backup.c b/lib/libalpm/backup.c index becc7be9..728c1d05 100644 --- a/lib/libalpm/backup.c +++ b/lib/libalpm/backup.c @@ -58,16 +58,15 @@ int _alpm_split_backup(const char *string, alpm_backup_t **backup) /* Look for a filename in a alpm_pkg_t.backup list. If we find it, * then we return the full backup entry. */ -alpm_backup_t *_alpm_needbackup(const char *file, const alpm_list_t *backup_list) +alpm_backup_t *_alpm_needbackup(const char *file, alpm_pkg_t *pkg) { const alpm_list_t *lp; - if(file == NULL || backup_list == NULL) { + if(file == NULL || pkg == NULL) { return NULL; } - /* run through the backup list and parse out the hash for our file */ - for(lp = backup_list; lp; lp = lp->next) { + for(lp = alpm_pkg_get_backup(pkg); lp; lp = lp->next) { alpm_backup_t *backup = lp->data; if(strcmp(file, backup->name) == 0) { -- cgit v1.2.3-24-g4f1b