From aa7e42db11ea545572a9519e88e2a6cdeeffb3bf Mon Sep 17 00:00:00 2001 From: Andrew Gregory Date: Fri, 12 Apr 2013 20:45:00 -0400 Subject: conflict.c: do not ignore symlink<->dir conflicts Signed-off-by: Andrew Gregory Signed-off-by: Allan McRae --- lib/libalpm/conflict.c | 7 ------- test/pacman/tests/fileconflict001.py | 2 -- test/pacman/tests/fileconflict007.py | 2 ++ test/pacman/tests/fileconflict016.py | 2 -- test/pacman/tests/fileconflict017.py | 2 -- test/pacman/tests/fileconflict022.py | 2 -- test/pacman/tests/symlink001.py | 2 -- test/pacman/tests/sync701.py | 2 ++ 8 files changed, 4 insertions(+), 17 deletions(-) diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c index 896f48de..3121cc79 100644 --- a/lib/libalpm/conflict.c +++ b/lib/libalpm/conflict.c @@ -514,17 +514,10 @@ alpm_list_t *_alpm_db_find_fileconflicts(alpm_handle_t *handle, _alpm_log(handle, ALPM_LOG_DEBUG, "checking possible conflict: %s\n", path); if(filestr[strlen(filestr) - 1] == '/') { - struct stat sbuf; if(S_ISDIR(lsbuf.st_mode)) { _alpm_log(handle, ALPM_LOG_DEBUG, "file is a directory, not a conflict\n"); continue; } - stat(path, &sbuf); - if(S_ISLNK(lsbuf.st_mode) && S_ISDIR(sbuf.st_mode)) { - _alpm_log(handle, ALPM_LOG_DEBUG, - "file is a symlink to a dir, hopefully not a conflict\n"); - continue; - } /* if we made it to here, we want all subsequent path comparisons to * not include the trailing slash. This allows things like file -> * directory replacements. */ diff --git a/test/pacman/tests/fileconflict001.py b/test/pacman/tests/fileconflict001.py index e1371f88..b1ad5e18 100644 --- a/test/pacman/tests/fileconflict001.py +++ b/test/pacman/tests/fileconflict001.py @@ -25,5 +25,3 @@ self.addrule("!PKG_EXIST=pkg1") self.addrule("!PKG_EXIST=pkg2") self.addrule("FILE_EXIST=dir/realdir/realfile") self.addrule("!FILE_EXIST=dir/realdir/file") - -self.expectfailure = True diff --git a/test/pacman/tests/fileconflict007.py b/test/pacman/tests/fileconflict007.py index 7fe65ed4..b61ddb42 100644 --- a/test/pacman/tests/fileconflict007.py +++ b/test/pacman/tests/fileconflict007.py @@ -16,3 +16,5 @@ self.addrule("PACMAN_RETCODE=0") self.addrule("PKG_EXIST=pkg") self.addrule("PKG_VERSION=pkg|1.0-2") self.addrule("FILE_TYPE=dir/symdir/|dir") + +self.expectfailure = True diff --git a/test/pacman/tests/fileconflict016.py b/test/pacman/tests/fileconflict016.py index dbcf7085..86ddd720 100644 --- a/test/pacman/tests/fileconflict016.py +++ b/test/pacman/tests/fileconflict016.py @@ -22,5 +22,3 @@ self.args = "-S pkg1 pkg2" self.addrule("PACMAN_RETCODE=1") self.addrule("!PKG_EXIST=pkg1") self.addrule("!PKG_EXIST=pkg2") - -self.expectfailure = True diff --git a/test/pacman/tests/fileconflict017.py b/test/pacman/tests/fileconflict017.py index 4b91dc65..3855a938 100644 --- a/test/pacman/tests/fileconflict017.py +++ b/test/pacman/tests/fileconflict017.py @@ -24,5 +24,3 @@ self.args = "-S pkg1 pkg2" self.addrule("PACMAN_RETCODE=1") self.addrule("!PKG_EXIST=pkg1") self.addrule("!PKG_EXIST=pkg2") - -self.expectfailure = True diff --git a/test/pacman/tests/fileconflict022.py b/test/pacman/tests/fileconflict022.py index b3920dfd..5ff0b537 100644 --- a/test/pacman/tests/fileconflict022.py +++ b/test/pacman/tests/fileconflict022.py @@ -16,5 +16,3 @@ self.args = "-S %s %s" % (sp1.name, sp2.name) self.addrule("PACMAN_RETCODE=1") self.addrule("!PKG_EXIST=foo") self.addrule("!PKG_EXIST=bar") - -self.expectfailure = True diff --git a/test/pacman/tests/symlink001.py b/test/pacman/tests/symlink001.py index f88d0ae7..91365512 100644 --- a/test/pacman/tests/symlink001.py +++ b/test/pacman/tests/symlink001.py @@ -17,5 +17,3 @@ self.addrule("!FILE_EXIST=dir/symdir/tmp") self.addrule("!FILE_EXIST=dir/realdir/tmp") self.addrule("FILE_TYPE=dir/symdir|link") self.addrule("FILE_TYPE=dir/realdir|dir") - -self.expectfailure = True diff --git a/test/pacman/tests/sync701.py b/test/pacman/tests/sync701.py index 590845ff..912c794c 100644 --- a/test/pacman/tests/sync701.py +++ b/test/pacman/tests/sync701.py @@ -19,3 +19,5 @@ self.addrule("PACMAN_RETCODE=0") self.addrule("PKG_VERSION=pkg1|1.0-2") self.addrule("PKG_EXIST=pkg2") self.addrule("FILE_TYPE=lib|dir") + +self.expectfailure = True -- cgit v1.2.3-24-g4f1b