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

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


hi

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

build()
{
        Fmkdir /usr/lib/ffox
        Fln ffox /usr/lib/ffox-$pkgver
}

can't be upgraded to:

build()
{
        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,
too

btw this is a bug in pacman2, too

any idea? Aurelien, is this a known problem?

udv / greetings,
VMiklos

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




More information about the pacman-dev mailing list