On 27/04/13 10:00, Andrew Gregory wrote:
Two weeks with no objections, so here is the full patchset. Several of the tests should be redundant now, but I left them in with updated rules anyway, just in case.
Thanks - patches look good to me. I made a couple of comments on them. What we also need to figure out is the upgrade path here. There are packages in the Arch repos with files in /lib/... relying on the symlink at the moment. They will create conflicts after these patches (which is fine), but we need to make sure they will upgrade fine to the fixed versions. (They might already - but needs tested.) @Dan, @Dave (or anyone else...): Do you intend to comment on this proposal? Even an "ack" would be appreciated here. For reference: https://mailman.archlinux.org/pipermail/pacman-dev/2013-April/017001.html
Also available on my no-symlinks branch for those interested.
Andrew Gregory (8): update tests for symlink support removal alpm_filelist: remove resolved_path conflict.c: do not ignore symlink<->dir conflicts conflict.c: use real path for filesystem checks extract_single_file: consolidate symlink cases unlink_file: treat symlinks like normal files query_fileowner: remove symlink support improve dir->file transition conflict resolution
lib/libalpm/add.c | 33 ++--- lib/libalpm/alpm.h | 3 +- lib/libalpm/conflict.c | 192 +++++++++++++----------------- lib/libalpm/filelist.c | 225 ++--------------------------------- lib/libalpm/filelist.h | 4 - lib/libalpm/package.c | 22 +--- lib/libalpm/remove.c | 11 +- src/common/util-common.c | 43 +++++++ src/common/util-common.h | 1 + src/pacman/query.c | 90 +++----------- test/pacman/tests/fileconflict007.py | 1 + test/pacman/tests/fileconflict013.py | 5 +- test/pacman/tests/fileconflict022.py | 1 - test/pacman/tests/fileconflict023.py | 7 +- test/pacman/tests/fileconflict025.py | 8 +- test/pacman/tests/fileconflict030.py | 17 +++ test/pacman/tests/symlink001.py | 9 +- test/pacman/tests/sync700.py | 12 +- test/pacman/tests/sync701.py | 11 +- test/pacman/tests/sync702.py | 11 +- 20 files changed, 217 insertions(+), 489 deletions(-) create mode 100644 test/pacman/tests/fileconflict030.py