mirror of
https://github.com/moparisthebest/pacman
synced 2024-11-10 11:35:00 -05:00
88cbee3c24
The original patch from Nagy tried to resolve target vs target conflicts, and so broke the following pactests : sync040, sync041 and sync990 Nagy's proposal to solve this situation was to choose the interactive way, ask the user how to deal with it: either remove pkg1 or remove pkg2 or stop here. So he left this as a TODO. But instead of trying to resolve these conflicts or asking the user, I tried to find a more conservative way, looking at what the current pactests expected: If between the two conflicting packages, one provides the other, pacman will keep that one and remove the other from the target list. That breaks sync893 and sync897. But Dan agreed these two looked weird and should be changed. This commit should close FS#8897, FS#8899 and FS#9024. Reference: http://www.archlinux.org/pipermail/pacman-dev/2007-October/009745.html http://www.archlinux.org/pipermail/pacman-dev/2007-December/010393.html Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
25 lines
505 B
Python
25 lines
505 B
Python
self.description = "System upgrade with package conflicts"
|
|
|
|
sp1 = pmpkg("pkg1", "1.0-2")
|
|
sp1.conflicts = ["pkg2", "pkg3"]
|
|
self.addpkg2db("sync", sp1);
|
|
|
|
sp2 = pmpkg("pkg2", "1.0-2")
|
|
self.addpkg2db("sync", sp2)
|
|
|
|
lp1 = pmpkg("pkg1")
|
|
self.addpkg2db("local", lp1)
|
|
|
|
lp2 = pmpkg("pkg2")
|
|
self.addpkg2db("local", lp2)
|
|
|
|
lp3 = pmpkg("pkg3")
|
|
self.addpkg2db("local", lp3)
|
|
|
|
self.args = "-Su"
|
|
|
|
self.addrule("PACMAN_RETCODE=1")
|
|
self.addrule("PKG_EXIST=pkg1")
|
|
self.addrule("PKG_EXIST=pkg2")
|
|
self.addrule("PKG_EXIST=pkg3")
|