self.description = "Install a sync package with interdependent conflicts"

sp = pmpkg("pkg1")
sp.conflicts = ["pkg2", "pkg3", "pkg4"]
self.addpkg2db("sync", sp);

lp1 = pmpkg("pkg2")
lp1.depends = ["pkg3"]
lp1.install['pre_remove'] = "[ -f pkg3file ] && echo '' > pkg2ok"
self.addpkg2db("local", lp1);

lp2 = pmpkg("pkg3")
lp2.files = ["pkg3file"]
self.addpkg2db("local", lp2);

lp3 = pmpkg("pkg4")
lp3.depends = ["pkg3"]
lp3.install['pre_remove'] = "[ -f pkg3file ] && echo '' > pkg4ok"
self.addpkg2db("local", lp3);

self.args = "-S %s --ask=4" % sp.name

self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_EXIST=pkg1")
self.addrule("!PKG_EXIST=pkg2")
self.addrule("!PKG_EXIST=pkg3")
self.addrule("!PKG_EXIST=pkg4")
self.addrule("FILE_EXIST=pkg2ok")
self.addrule("FILE_EXIST=pkg4ok")

self.description = "Install a sync package with interdependent conflicts"

sp = pmpkg("pkg1")
sp.conflicts = ["pkg2", "pkg3", "pkg4"]
self.addpkg2db("sync", sp);

lp1 = pmpkg("pkg2")
lp1.depends = ["pkg3"]
lp1.install['pre_remove'] = "[ -f pkg3file ] && echo '' > pkg2ok"
self.addpkg2db("local", lp1);

lp2 = pmpkg("pkg3")
lp2.files = ["pkg3file"]
self.addpkg2db("local", lp2);

lp3 = pmpkg("pkg4")
lp3.depends = ["pkg3"]
lp3.install['pre_remove'] = "[ -f pkg3file ] && echo '' > pkg4ok"
self.addpkg2db("local", lp3);

self.args = "-S %s --ask=4" % sp.name

self.addrule("PACMAN_RETCODE=0")
self.addrule("PKG_EXIST=pkg1")
self.addrule("!PKG_EXIST=pkg2")
self.addrule("!PKG_EXIST=pkg3")
self.addrule("!PKG_EXIST=pkg4")
self.addrule("FILE_EXIST=pkg2ok")
self.addrule("FILE_EXIST=pkg4ok")
