mirror of
https://github.com/moparisthebest/pacman
synced 2024-12-23 08:18:51 -05:00
105fd40a4a
That is the problem mentioned by Nagy there (with suggestions for fixing it) : http://www.archlinux.org/pipermail/pacman-dev/2007-August/009082.html If a dependency conflicts with a local package and has to replace it, the PM_SYNC_TYPE_DEPEND information is lost, and the resulting install reason is wrong (the package is marked as explictly installed). Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
21 lines
440 B
Python
21 lines
440 B
Python
self.description = "A dependency induces a replacement"
|
|
|
|
lp1 = pmpkg("pkg1")
|
|
self.addpkg2db("local", lp1);
|
|
|
|
sp2 = pmpkg("pkg2")
|
|
sp2.depends = ["pkg3"]
|
|
self.addpkg2db("sync", sp2);
|
|
|
|
sp3 = pmpkg("pkg3")
|
|
sp3.conflicts = ["pkg1"]
|
|
self.addpkg2db("sync", sp3);
|
|
|
|
self.args = "-S pkg2"
|
|
|
|
self.addrule("PACMAN_RETCODE=0")
|
|
self.addrule("!PKG_EXIST=pkg1")
|
|
self.addrule("PKG_EXIST=pkg2")
|
|
self.addrule("PKG_EXIST=pkg3")
|
|
self.addrule("PKG_REASON=pkg3|1")
|