[pacman-dev] db_find_conflicts(): bug or feature?

VMiklos vmiklos at frugalware.org
Fri Feb 3 10:45:18 EST 2006


in db_find_conflicts(), currently we do not allow symlinks to become
dirs and vica versa. for example:

        Fmkdir /usr/lib/ffox
        Fln ffox /usr/lib/ffox-$pkgver

can't be upgraded to:

        Fmkdir /usr/lib/ffox-$pkgver
        Fln ffox-$pkgver /usr/lib/ffox

which is not normal. i've tried to fix this issue, but the fix is not so
trivial. ok, a trivial workaround is to remove the following lines:

if(!S_ISLNK(buf.st_mode) && ((isdir && !S_ISDIR(buf.st_mode)) || (!isdir && S_ISDIR(buf.st_mode)))) {
        /* if the package target is a directory, and the filesystem target
         * is not (or vice versa) then it's a conflict
        ok = 0;
        goto donecheck;

but of course this is not a sollution, this will ignore real conflicts,

btw this is a bug in pacman2, too

any idea? Aurelien, is this a known problem?

udv / greetings,

Developer of Frugalware Linux, to make things frugal - http://frugalware.org

More information about the pacman-dev mailing list