On Fri, Jul 24, 2009 at 10:38 PM, Gerardo Exequiel Pozzi<vmlinuz386@yahoo.com.ar> wrote:
Hi devs,
This mail is trigger by this problem [#1].
1) PKG1 installs some directory without any files like "/some/common/dir" 2) PKG2 installs the same directory "/some/common/dir" with or without any files inside 3) Removing PKG2 also remove "/some/common/dir" that is installed by PKG1
This behaviour is expected? pacman only track files not directories true? Also tested with the latest pacman.git (at commit 30c4d53ce)
packages like openssh that install an empty dir "/var/empty/" should also install a hidden file like "/var/empty/.keep.this.for.openssh" ?
[#1] http://bugs.archlinux.org/task/15668 (openntpd 3.9p1-7 uninstall removes /var/empty)
pacman just does not take into account this case (package installing empty directories) when removing directories. It only does this : if(S_ISDIR(buf.st_mode)) { if(rmdir(file)) { /* this is okay, other packages are probably using it (like /usr) */ _alpm_log(PM_LOG_DEBUG, "keeping directory %s\n", file); } else { _alpm_log(PM_LOG_DEBUG, "removing directory %s\n", file); } Maybe instead of trying to remove the directory, it should check all existing packages to see if there is one owning this directory. But this will slow down the -R operation, for each directory inside a package. And do we already have a bug report for this issue? I think it has been mentioned before.