[pacman-dev] resolvedeps is negligent: resolvedeps.py
Xavier
shiningxc at gmail.com
Mon Nov 26 10:43:47 EST 2007
On Mon, Nov 26, 2007 at 03:56:28PM +0100, Nagy Gabor wrote:
> Hi!
> This is a not-to-commit pactest, I just refer to this old thread...:
> http://www.archlinux.org/pipermail/pacman-dev/2007-August/009072.html
> I don't know whether we should fix this or not... This is not a critical bug,
> just resolvedeps is a bit negligent, but checkdeps will report its negligence
> (however, pacman doesn't seem to be very informative...).
Yes I noticed, I think this little bug was in your original checkdeps patch.
At the end of sync_prepare, you should do s/FREELIST(deps);/*data = deps;/
Then the missing dependencies message will magically appear again in the
frontend :)
> By fixing this the code would be cleaner, more clever, but _notably_ slower, so
> I still don't know what to do... What do you think?
>
> ---resolvedeps.py---
> self.description = "resolvedeps test"
>
> sp1 = pmpkg("pkg1")
> sp1.depends = [ "pkg2>=2.0-1" , "provision" ]
> self.addpkg2db("sync", sp1)
>
> sp2 = pmpkg("pkg2", "2.0-1")
> self.addpkg2db("sync", sp2)
>
> sp3 = pmpkg("provision")
> self.addpkg2db("sync", sp3)
>
> lp = pmpkg("pkg2", "1.0-1")
> lp.provides = [ "provision" ]
> self.addpkg2db("local", lp)
>
> self.args = "-S pkg1 pkg2"
>
> self.addrule("PACMAN_RETCODE=0")
> self.addrule("PKG_EXIST=pkg1")
> self.addrule("PKG_EXIST=pkg2")
> self.addrule("PKG_VERSION=pkg2|2.0-1")
> self.addrule("PKG_EXIST=provision")
>
>
I think it would be interesting to see the patch you propose for fixing it,
and a benchmark for measuring how slower it is :)
More information about the pacman-dev
mailing list