Hi! To be honest, I don't like the rollback solution; the pre-transaction checking is much more elegant (for me). As I mentioned earlier my preferred fix to fileconflict001.py is: converting the filelists with the help of realpath(); so we get the "after-install" state of our filesystem. Note: realpath() is quite an "intelligent" function: realpath("/usr/var/blabla", ...) will result /var/blabla [blabla doesn't exist of course]. Some contras: 1. speed?! (needs testing; but during targets<->HDD check, all entries of filelist is alpm_lstat-ed, so this hopefully won't cause terrible slowdown neither, but I dunno.) 2. fileconflict002.py ?! (a possible solution: create temporarily the newly installed symlinks <- can we get this info from libarchive? then using realpath -- I'm suggesting a "1. create new symlinks first" (if possible), _then_ "2. extract tar.gz-s" ugly hack here) Bye, ngaba PS: One more thing: What about fileconflict resolution? (using query-fileowner)