summaryrefslogtreecommitdiff
path: root/lib/libalpm/backup.c
diff options
context:
space:
mode:
authorDan McGee <dan@archlinux.org>2011-07-14 15:32:03 -0500
committerDan McGee <dan@archlinux.org>2011-07-14 15:34:04 -0500
commitaf357d6ab00d8ca258dfd7abb689d6fd2eb4090f (patch)
tree81218f7e003e71d2d8c7feee6671516865f751d6 /lib/libalpm/backup.c
parent36e48573ceee0f707de0dcc55d1da442d949d3dc (diff)
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 <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/backup.c')
-rw-r--r--lib/libalpm/backup.c7
1 files changed, 3 insertions, 4 deletions
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) {